wdio-wait-for
Version:
a library of conditions that are useful for end-to-end tests
20 lines (19 loc) • 818 B
JavaScript
import { getElements } from '../utils/index.js';
/**
* A condition for checking number of elements with given selector being more than defined number
*
* @example
* browser.waitUntil(numberOfElementsToBeMoreThan('a', 4));
*
* @param {!string | ChainablePromiseArray<WebdriverIO.ElementArray>} selectorOrElementArray The selector or elements array to check
* @param {!number} expectedNumber The selector to check
*
* @returns {!function} An expected condition that returns a promise
* representing whether the element length is greater than defined number.
*/
export function numberOfElementsToBeMoreThan(selectorOrElementArray, expectedNumber) {
return async function () {
const elements = await getElements(selectorOrElementArray);
return elements.length > expectedNumber;
};
}