在我的角度应用程序中,我有一个页面,侧面有导航链接,点击后,将页面向下滚动到匹配的元素。
如何在量角器中为此编写e2e测试?是否有类似“抓住第一个可见的h1”之类的东西?
答案 0 :(得分:5)
您可以使用javascript的window.pageYOffset。 以下是我在自己的一个测试案例中完成的工作:
browser.driver.sleep(2000);
browser.executeScript('return window.pageYOffset;').then(function(pos) {
expect(pos).to.be.at.most(100);
});
100是我的预期职位。
注意:我使用的是mocha和chai而不是jasmine。所以,只需相应地更改最后一行。我也在等待2秒才完成滚动。
答案 1 :(得分:0)
你应该能够抓住页面中的第一个h1元素:
$$('h1').first().getText().then(function (h1Txt) {
expect(h1Txt).toEqual('Correct h1 text');
});
或使用特定索引查找正确的h1:
$$('h1').then(function (h1tagList) {
var h1Text = h1tagList[0].getText();
expect(h1Text).toEqual('Correct h1 text');
});
如果它在尝试读取文本时在页面上不可见,则应该抛出类似无法访问的元素之类的错误。
答案 2 :(得分:-1)
您只需使用向下滚动功能:
var filter = browser.findElement(by.id('idvalue'));
var scrollIntoView = function () {
arguments[0].scrollIntoView();
}
browser.executeScript(scrollIntoView, filter);