Pregunta

I am using webdriver.io with chai and mocha for testing.

In one of my tests I need to count how many elements with the same CSS class are in the page. None of the webdriver.io API seems to return an array.

How can it be achieved?

¿Fue útil?

Solución

This is how you do it:

client.elements('.myElements', function(err,res) {
    console.log('element count: ',res.value.length);
});

Explanation: with elements you fetch all elements according given selector. It returns an array of webdriver elements which represents the amount of existing elements on the page.

Otros consejos

For version 4 of webdriver.io, this is the way

client.elements('.selector').then(function (elems) {
    console.log(elems.value.length);
});

For version 7.13.2 of webdriver.io, you can try this

 const count = await $$('selector').length

Or you can write to a variable and later use it

let smth = browser.elements('selector').value.length;
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top