Javascript 通过索引验证元素的存在性
因此,我有一个页面对象函数,用于验证屏幕上是否出现特定错误。errorMsg是已在变量中定义的选择器Javascript 通过索引验证元素的存在性,javascript,protractor,Javascript,Protractor,因此,我有一个页面对象函数,用于验证屏幕上是否出现特定错误。errorMsg是已在变量中定义的选择器 this.isErrorMessageDisplayed = function() { expect(errorMsg.isDisplayed()).to.become(true); } 这个功能非常有效。但是,在处理具有多个..的元素时,我不断遇到问题。。例如,如果这被定义为$$,并且我想验证它们的所有出现,我会这样尝试 this.isErrorMessageDisplaye
this.isErrorMessageDisplayed = function() {
expect(errorMsg.isDisplayed()).to.become(true);
}
这个功能非常有效。但是,在处理具有多个..的元素时,我不断遇到问题。。例如,如果这被定义为$$,并且我想验证它们的所有出现,我会这样尝试
this.isErrorMessageDisplayed = function() {
for(i = 0; i < errorMsg.count(); i++){
expect(errorMsg.get(i).isDisplayed()).to.become(true);
}
}
this.isErrorMessageDisplayed=function(){
对于(i=0;i
然而,当我试图识别的只有一个元素时,为什么这不起作用呢?谢谢你的帮助 方法count()
返回一个承诺。它不能用作循环的上限。而是使用$$(…)。每个迭代每个元素:
this.isErrorMessageDisplayed = function() {
errorMsg.each(e => {
expect(e.isDisplayed()).to.become(true);
});
};
方法count()
返回一个承诺。它不能用作循环的上限。而是使用$$(…)。每个迭代每个元素:
this.isErrorMessageDisplayed = function() {
errorMsg.each(e => {
expect(e.isDisplayed()).to.become(true);
});
};
您也可以使用下面的内容
this.isErrorMessageDisplayed = function() {
expect(errorMsg.isDisplayed()).not.to.include(false);
};
如果您有一个元素数组,那么isDisplayd将返回显示状态的数组,如[true,true,true]
。因此您需要验证数组中是否不包含false
您也可以使用以下内容
this.isErrorMessageDisplayed = function() {
expect(errorMsg.isDisplayed()).not.to.include(false);
};
如果您有一个元素数组,那么isDisplayd将返回显示状态的数组,如[true,true,true]
。因此您需要验证数组中是否不包含false
首先,量角器异步运行。这意味着当量角器执行一行并转到下一行时,并不意味着该行已完成执行。欢迎来到异步编程的世界:P
以下代码是我的建议:
this.isErrorMessageDisplayed = function () {
errorMsg.each(function (elem,index) {
expect(elem.isDisplayed()).toBe(true)
});
};
首先,量角器异步运行。这意味着当量角器执行一行并转到下一行时,并不意味着该行已完成执行。欢迎来到异步编程的世界:P
以下代码是我的建议:
this.isErrorMessageDisplayed = function () {
errorMsg.each(function (elem,index) {
expect(elem.isDisplayed()).toBe(true)
});
};
它似乎不喜欢语法e=>{..这是JS的正确语法吗?arrow函数是由ECMAScript 6引入的,从节点4.4.5开始就受到支持。您可以用一个简单的函数替换它。它似乎不喜欢语法e=>{..这是JS的正确语法吗?arrow函数是由ECMAScript 6引入的,从node 4.4.5开始就受支持。您可以用一个简单的函数替换它。如果您不打算对任何内容使用索引,为什么要将其包含在.each()中
函数?只要保留elem
你们这些家伙太棒了,一旦我将它改为.been(true)。谢谢大家,我刚刚发现了一些东西。这个函数仍然不起作用,因为如果计数为零,那么它仍然会通过。如果你们不打算对任何东西使用索引,为什么要将它包括在中。each()
function?保留elem
你们这些家伙太棒了,我把它改成了。变成(true)。谢谢大家。我刚刚发现了一些东西。这个函数仍然不起作用,因为如果计数为零,它仍然会通过。