Nightwatch js如何断言多个元素

Ste*_*nie 10 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');
})
Run Code Online (Sandbox Code Playgroud)

控制台输出此错误:

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
Run Code Online (Sandbox Code Playgroud)

它似乎找到了正确的东西,因为应该有6但是不知怎的,我读出了错误的东西?result.log的result.value [0]只给出了{ELEMENT:'19'}这似乎是正确的.

知道怎么能让这个工作吗?我想检查具有类icon_checkmark的所有元素是否具有属性aria-hidden ="true".

Tin*_*ple 10

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');
    });
  });
})
Run Code Online (Sandbox Code Playgroud)