我的应用程序是一个有角度的应用程序,我试图使用量角器(e2e测试)识别网页上的元素,但它不识别此页面上的任何网页元素。
我尝试使用css / xpath / id识别元素,但它无法识别元素。
如果我在chrome developer工具中检查这些元素,所有元素都存在且可见,而且我能够使用css(jquery)或xpath搜索这些元素,但如果我在脚本中给出相同的表达式,则量角器不识别任何元素
例如:我正在做以下事情:
PanelPage.js文件:
function PanelPage(){
this.get = function(){
browser.get('#/test');
}
this.Logo = element(by.css("h1.panel-heading"));
this.Search = element(by.id("showSearchForm"));
test.js文件:
var Panel = require('../.././pages/PanelPage');
describe ('my test', function(){
it('my first test', function() {
this.page = new Panel();
this.page.get();
this.page.Search.click();
this.page.Logo.click();
});
});
当我执行此测试时,我收到以下错误: 失败:找不到使用定位器找到的元素:By.id(" showSearchForm")
如果我在同一页面上的chrome developer工具中搜索id(" showSearchForm"),则元素是可见的,我能够找到它,但是当我运行我的e2e测试时,它无法识别所有元素这个页面。
注意:在其他页面(如登录/注销)上,量角器能够识别元素。
我希望对此有任何帮助,谢谢。
答案 0 :(得分:1)
很可能,您需要等待元素出现才能搜索它。
browser.wait($('h1.panel-heading').isPresent());