2016-01-20 7 views
0

Я работаю в nightwatch.js для тестирования автоматизации для веб-приложения, я изо всех сил пытаюсь составить список элементов, которые имеют общие значения в своих атрибутах, я пишу образец элементов следующим образом.Как создать список тех же элементов, которые имеют общие значения атрибутов, используя nightwatch.js или javascript?

первые три пролета с общим значением атрибута: "данных аннотаций-ID"

<span class="my-note" data-annotation-id="580ss7ze8457f65119v54g32">first span</span> 
<span class="my-note" data-annotation-id="580ss7ze8457f65119v54g32">second span</span> 
<span class="my-note" data-annotation-id="580ss7ze8457f65119v54g32">Third span</span> 

Над атрибутом диапазона (данных аннотаций-идентификатор) значение: "580ss7ze8457f65119v54g32"

Вторые два пролета с общим значением атрибута: «data-annotation-id»

<span class="my-note" data-annotation-id="569dd7fe6092b62008b73b49">Fourth span</span> 
<span class="my-note" data-annotation-id="569dd7fe6092b62008b73b49">Fifth span</span> 
значение

Над атрибута диапазона (данные аннотации-идентификатор) является: «545yd6gd8265g7584g5s25»

я попытался следующим способом сделать коллекцию всех пролетов, имеющими общих значения атрибутов данных аннотаций-ид но не работает ,

client.getText('.my-class', function(result) { 
    client.expect.element('.my-class').to.have.attribute('data-attr').which.matches(/^something\ else/); 
}); 

следующий синтаксис не будет работать, потому что я не знаю значения data-annotation-id. так есть ли способ получить желаемый результат, используя либо Nightwatch.js, либо javascript?

client.expect.element('.my-class').to.have.attribute('data-attr').which.matches(/^something\ else/); 

ответ

0

Я сделал используя нижеследующую строку кода.

//using this line we are getting the number of spans in page. 
client.elements('css selector','.my-class', function (noted) {   
    //on the basis of the number of noted i am finding attribute which has same value. 
    noted.value.forEach(function (index) { 
     client.getAttribute('.my-class', 'data-annotation-id', function(results) { 
     console.log(results.value) 
     }); 
    });   
});