Мы используем Selenium с API Java и некоторыми расширениями Javascript. Мы используем много вызовов AJAX в нашем приложении. Многие наши тесты прерываются случайным образом, потому что иногда вызовы AJAX заканчиваются медленнее, чем другие, поэтому страница не загружена полностью. Мы исправим это, ожидая определенных элементов или Thread.sleep. Я пытался найти способ вместо этого просто ждать окончания сетевого трафика. Чтобы мы могли это сделать:
selenium.click("some JS button");
selenium.waitForNetwork();
assertTrue(something);
Таким образом, мы можем избавиться от спящего потока, и тесты проходят быстрее, когда сервер реагирует быстрее, и не так много тестов терпят неудачу из-за проблем с синхронизацией.
Мне не удалось найти способ поиска этого Google. Есть ли у кого-нибудь идеи, как мы можем это сделать? (Предпочтительно либо через Javascript, либо Java API, но все предложения приветствуются).
Примечание: другие варианты "waitFor" не то, что я ищу. Мы уже используем клики и другие вещи. Я ищу то, что ждет NETWORK TRAFFIC. Спасибо за все отзывы, я попробую пару предложений, но я по-прежнему открыт для других идей.
Спасибо.