可以'使用inter.js进行测试时不要滚动
Can't scroll when testing using intern.js
我使用moveMouseTo
,但它似乎不起作用。这是我的密码。有人能看到它出了什么问题吗?断言应该有效并且不会返回错误,因为如果您尝试在www.keylocation.sg
向下滚动页面,它将显示一个导航栏。
谢谢你。
define([
'intern!object',
'intern/chai!assert',
'./util',
'intern/dojo/node!fs'
], function(registerSuite, assert, util, fs) {
var suite = {
name: 'home-navbar',
afterEach: util.checkJSErrors,
// testing the visibility of navigation bar in the home page
'Home page navigation bar: navigation bar visibility': function() {
var remote = this.remote
.setWindowSize(1024, 768)
.get('about:blank')
.get('https://www.keylocation.sg');
this.timeout = 300000;
return remote
// check: Home page loads, navbar is not visible
.findById('header-menu').isDisplayed().then(assert.isFalse).end()
// check: Scroll down to next page, navbar becomes visible
.moveMouseTo(0,1000).end()
.findById('header-menu').isDisplayed().then(assert.isTrue).end();
}
};
registerSuite(suite);
});
您的测试可能会失败,因为您使用的WebDriver服务器是如何确定元素可见性的。该页面上的标题菜单最初不可见,因为它的上边距为负,从而将其移动到视口之外。但是,根据WebDriver规范,由于负边距而在视口之外的元素不一定被视为不可见。Chrome和Firefox的WebDriver服务器至少表示它是可见的。这是一个WebDriver问题,而不是Internet问题;Intern基本上只是问WebDriver服务器"这个元素可见吗"并告诉你答案。
由于isDisplayed
在这种情况下似乎不起作用,因此您可以检查元素是否具有disabled
类,这就是导致它具有负裕度的原因。
不幸的是,试图简单地将鼠标移动到元素上下文之外1000像素并不能滚动页面。当您没有给moveMouseTo
一个元素时,它会在当前上下文元素(最后找到的东西)中移动。当没有上下文时,它在最外面的元素中移动,在本例中,它只有632px高。你需要将上下文设置为一个足够高的元素,以包含你的移动偏移,或者你可以在页面底部找到一个元素,比如页脚,然后将鼠标移动到:
.findByCssSelector('.wrapper')
.moveMouseTo(0, 1500) // 1000 pixels is too small to show the scrollbar
.end()
或
.findByTagName('footer')
.then(function (footer) {
return this.parent.moveMouseTo(footer);
})
.end()
您的测试还有一些其他问题,您可能也需要更正。初始get('about:blank')
不是必需的。没有理由把你的指挥链一分为二;超时适用于整个链,无论是拆分的还是完整的。在moveMouseTo
之后不需要end
;end
用于从命令链的上下文中弹出元素,而moveMouseTo
不向上下文添加任何内容。
- 模糊事件的Javascript测试
- 我的单元测试选项是什么
- 幻灯片滚动javascript不起作用
- 将视口底部滚动到元素底部
- jQuery Lazy加载动画滚动
- 测试索引值是否等于某个数字的倍数
- 设置滑块分区上的滚动
- 结合jQuery和jetpack无限滚动
- 单击顶部导航时如何进行向下滚动效果(向下滑动).
- 滚动到容器中的下一个元素-几乎到了
- 只覆盖箭头键滚动事件
- Javascript如何找到滚动事件的来源
- Image赢得't隐藏在滚动jQuery上
- 在localhost Dev Box上测试JSONP请求的最佳方式
- JavaScript滚动脚本-在测试中激发,而不是在开发站点上
- 可以'使用inter.js进行测试时不要滚动
- 如何在 Firefox 上使用 Selenium IDE 来测试是否存在滚动条
- 使用量角器测试无限滚动
- 在Safari和Chrome(iOS)上滚动差异可以进行测试
- 测试页面是否有水平滚动条(computer &移动设备)