量角器+黄瓜 - 即使元素可见,元素也不可见

时间:2017-04-10 21:43:43

标签: selenium jasmine protractor cucumber



 this.When(/^the user clicks on login button$/, function () {
        return browser.wait(wagLoginPage.loginPage.signIn.isPresent().then(function (visible) {            
            if(visible){
                console.log("element is visible !!!!!!!");
                wagLoginPage.loginPage.signIn.click().then(function(){
                     expect(visible).to.be.true;
                });
            }
            else{
                expect(visible).to.be.true;
            }           
        }, function () { chai.assert.isFalse(true, "SingIn is not visible!") }));
    });




Protractor - element is not visible issue

我的测试在上述步骤中随机失败。对于上面的代码,在控制台窗口中,量角器打印'元素是可见的。但是如果我对元素执行click事件,则抛出元素不可见异常。

更新

回答问题here

1 个答案:

答案 0 :(得分:1)

您的元素存在,但可能不可见。

试试这个:

return browser.wait(wagLoginPage.loginPage.signIn.isDisplayed().then(function (visible){
    //Your stuff
}

注意,我使用 isDisplayed() isPresent()

isPresent()非常有用,如果您正在检查某个元素是否在页面上,但可能显示也可能不显示。

isDisplayed()在您检查网页上是否有元素时非常有用。