无法使用量角器在网页上使用css或xpath或id找到任何元素

时间:2016-04-29 04:56:44

标签: protractor

我的应用程序是一个有角度的应用程序,我试图使用量角器(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测试时,它无法识别所有元素这个页面。

注意:在其他页面(如登录/注销)上,量角器能够识别元素。

我希望对此有任何帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

很可能,您需要等待元素出现才能搜索它。

browser.wait($('h1.panel-heading').isPresent());