Javascript Nightwatch js如何断言多个元素
我正在尝试使用Nightwatch.js为属性断言/验证多个元素 我尝试使用selenium的“elements”命令,但它似乎实际上并没有返回标记Javascript Nightwatch js如何断言多个元素,javascript,selenium,accessibility,functional-testing,nightwatch.js,Javascript,Selenium,Accessibility,Functional Testing,Nightwatch.js,我正在尝试使用Nightwatch.js为属性断言/验证多个元素 我尝试使用selenium的“elements”命令,但它似乎实际上并没有返回标记 browser.elements('css selector','icon_checkmark', function (result) { this.verify.attributeEquals(result.value, 'aria-hidden', 'true'); }) 控制台输出此错误: Testing if attribute
browser.elements('css selector','icon_checkmark', function (result) {
this.verify.attributeEquals(result.value, 'aria-hidden', 'true');
})
控制台输出此错误:
Testing if attribute aria-hidden of <[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]> equals "true".
Element could not be located. - expected "true" but got: null
ERROR: Unable to locate element: "[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]" using: css selector
测试属性是否等于“true”。
无法定位元素。-应为“true”,但得到:null
错误:无法使用:css选择器定位元素:“[object object]、[object object object]、[object object object]、[object object object]、[object object object]”
它似乎找到了正确的东西,因为应该有6个,但不知怎的,我读错了东西?result.value[0]的Console.log只给出了{元素:'19'},这似乎是正确的
你知道我该怎么做吗?我想检查是否所有带有类图标的元素都有属性aria hidden=“true”。result.value是一个数组。因此,您需要循环遍历数组结果。value[x]
attributeEquals
使用css选择器定位元素,而elements
返回元素的ID
,因此您无法以这种方式定位元素。您可以使用elementIdAttribute
获取元素并验证它
browser.elements('css selector','icon_checkmark', function (result) {
result.value.map(function (v, k) {
browser.elementIdAttribute(v.ELEMENT, 'aria-hidden', function (res) {
// true
return browser.assert.equal(res.value, 'expected value');
});
});
})
–“Returns:{Array.}已定位元素的WebElement JSON对象列表”。不幸的是,我无法通过“服务器分配给元素的不透明ID”来获取实际元素。我也无法理解,但我做了进一步的改进: