Javascript Nightwatch js如何断言多个元素

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

我正在尝试使用Nightwatch.js为属性断言/验证多个元素

我尝试使用selenium的“elements”命令,但它似乎实际上并没有返回标记

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”来获取实际元素。我也无法理解,但我做了进一步的改进: