Умеет ли Selenide асинхронно запросить состояние нескольких элементов ?

Проблема (Вопрос) заключается
Нужно определить скорость загрузки нескольких элементов на странице,
Я в цикле запрашиваю состояние каждого элемента поочереди, соотвественно если первый запрашиваемый элемент окажется самым долго на загрузки, то время загрузки остальных уже будет некорретное.
А хотелось бы кинуть асинхронно запрос на состояние каждого элемента и потом его считать.

Какой метод лучше использовать isDisplayed(), exists() or is() ?

Selenide 6.6.3

Все эти три метода НЕ ЖДУТ загрузки элемента, а сразу возвращают true или false.

P.S. isDisplayed() - то же самое, что is(visible).

у меня получается что между началом isDisplayed() и получения результата проходит от 0.1 до 1,9 секунды, exists() отвечает чутка быстрее

Вот например код у меня возвращает
IsDisplayed: 471
exists(): 121

  @Test
    void tes(){
        StopWatch stopWatch = new StopWatch();
        String url = "https://www.bbc.com/";
        open(url);
        stopWatch.start();
        System.out.println($x("(//li[@class='media-list__item media-list__item--2'])[2]").isDisplayed());
        System.out.println("IsDisplayed:"+stopWatch.getTime());
        open(url);
        stopWatch.reset();
        stopWatch.start();
        System.out.println($x("(//li[@class='media-list__item media-list__item--2'])[2]").exists());
        System.out.println("exists():"+stopWatch.getTime());
    }

Как бы полсекунды, а на рабочем сайте может доходить до 2 секунд.

Значит, сам по себе поиск элемента занимает столько времени. Ну или у вас ненулевой implicit wait.

implicit wait - а где он устанавливается ? явно я его в проекте не нашел.
В том примере кода, который я приложил выше оба элемента не были найдены.

Implicit wait - параметр селениума, а не селениде. Устанавливается примерно так: webdriver.manage().timeouts(5000 ms)

Добрый день Андрей.
Все таки возвращаясь к этому вопросу, если у меня стоит задача определить скорость загрузки 3 “тяжелых” элементов ( 1 график и 2 таблицы) можно ли использовать shoulbe(visible, duraiton…)
завернутые в completablefuture или что-то другое, что обращаться к элементам сразу, а не по очереди ?

Я не понимаю, какую проблему ты решаешь.
Тебе ведь по-любому нужно дождаться загрузки всех трёх тяжёлых элементов? Тогда неважно, в каком порядке ты их будешь опрашивать - в итоге уйдёт столько же времени.

Мне хотелось бы знать какой из них тормазит больше других. Но так как я перебираю их по очереди, то на пример 2й собъет время загрузки 3го, если 3й загрузится быстрее.

Такие вещи лучше просто в логе смотреть. Достаточно открыть в браузере developer tools → network. Там видны все запросы и их длительность.

Но если это делать через Selenide - то тут только через проксю ?

Да, либо через прокси, либо через DevTools (для них примеров пока нет).