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

#java #selenium

#java #селен

Вопрос:

 //This command is for scrolling into view of an element
public static void scrollIntoView(WebElement element, WebDriver driver) {
  ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element);
}

//This command will make the script wait until a certain element is visible before doing any actions
public static void untilVisibility(WebElement element, WebDriver driver) {
  WebDriverWait wait = new WebDriverWait(driver, Helper.TWENTY);
  wait.until(ExpectedConditions.visibilityOf(element));
}

//This command will make the script wait until a certain element is clickable before doing any actions
public static void untilClickable(WebElement element, WebDriver driver) {
  WebDriverWait wait = new WebDriverWait(driver, Helper.TWENTY);
  wait.until(ExpectedConditions.elementToBeClickable(element));
}
  

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

Например, у меня 98 тестовых примеров, при первом запуске 20 завершатся неудачей, но когда я повторно запускаю 20 тестовых примеров, они проходят

Комментарии:

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

2. Как настроено ожидание? можете ли вы поделиться кодом?

Ответ №1:

Не могли бы вы предоставить сообщение об исключении? Я предполагаю, что исключение вызвано тем, что эти методы тестирования используют один и тот же объект, который не поддерживает одновременное использование, например, ввод-вывод файлов.

Комментарии:

1. Извините, что вы имеете в виду, говоря об исключении? Похоже ли это на сообщение об ошибке? Возвращаемая ошибка заключается в том, что скрипту не удается найти элемент через xpath, объявленный на моей странице. Но если я запускаю его независимо, он терпит неудачу

2. Да, это сообщение об ошибке. Выполняется ли выполнение этих методов с заказом в пуле потоков, например, исполнителями? Почему у них иногда возникают ошибки? Напротив, они верны. Не могли бы вы рассмотреть заказы на выполнение?