Как выполнить выполнимое тестирование дыма с помощью Selenium WebDriver?
Я проводил некоторые исследования относительно возможного и более быстрого теста загрузки веб-страниц сSelenium
, Общая идея тестирования дыма состоит в том, чтобы нажимать и перемещаться по всему сайту, чтобы убедиться, что страницы загружаются правильно. Я изначально думал использовать какие-то способы, чтобы захватитьhttp
код состояния через какой-тоhttp
библиотеки сSelenium
не имеет никакой родной поддержки для этого. Но я обнаружил, что это не то, чего я хочу, поскольку он просто возвращает все ссылки на сайт, и большинство из них будут теми, которые я не хочу. Таким образом, лучший способ будет сделать фактический клик и получить страницы взамен. Проблема в том, что это займет время выполнения. Тем не менее, это то, что я делаю в настоящее время. Разбейте все приложение на разные модули и кликните по всем ВИДИМЫМ ссылкам и возьмите объекты страницы взамен известного селектора. я используюFindElements()
метод, чтобы захватить все ссылки на странице и нажмите туда-сюда, чтобы проверить загрузку страницы. Я делаю что-то вроде следующего:
Есть ли лучший способ улучшить производительность?
WebElement deliveredChartDailyFocus = driver.findElement(By.id("delivered-chart-daily"));
deliveredChartDailyFocus.click();
// Get a list of all the <rect> elements under the #delivered-chart-daily element
List<WebElement> children = deliveredChartDailyFocus.findElements(By.tagName("rect"));
WebElement elementToClick = null; // variable for the element we want to click on
for (WebElement we : children) // loop through all our <rect> elements
{
if (we.isDisplayed())
{
elementToClick = we; // save the <rect> element to our variable
break; // stop iterating
}
}
if (elementToClick != null) // check we have a visible <rect> element
{
elementToClick.click();
}
else
{
// Handle case if no displayed rect elements were found
}