На каком языке используется Selenium?Если вы просто используете Selenium для написания HTML, я бы порекомендовал перейти на язык программирования и использовать Selenium RC - привязки доступны для широкого спектра языков, таких как Java и Python.Я полагаю, что в Java следующее будет делать то, что вы хотите:
void test(Selenium browser, String startPageUrl,
String firstFormLocator, String firstSelectLocator,
String secondFormLocator, String secondSelectLocator) {
browser.open(startPageUrl);
for (String option : browser.getSelectOptions(firstSelectLocator)) {
browser.open(startPageUrl);
browser.select(firstSelectLocator, "label=" + option);
browser.submit(firstFormLocator); // Or click the submit button
for (String subOption : browser.getSelectOptions(secondSelectLocator) {
browser.open(startPageUrl);
browser.select(firstSelectLocator, "label=" + option);
browser.submit(firstFormLocator); // Or click the submit button
browser.select(secondSelectLocator, "label=" + subOption);
browser.submit(secondFormLocator); // Or click the submit button
// Do your assertions
}
}
}
Код не совсем читабелен, поэтому может потребоваться некоторое время, чтобы немного абстрагировать страницу с помощью шаблона Page Object.Это также помогает сделать код более понятным, например, когда вы меняете идентификатор элемента, вам нужно всего лишь изменить его в объекте страницы, а не в каждом тесте.
Также имейте в виду, что делать это 1000 разне будет быстрымВозможно, стоит посмотреть, проводите ли вы аналогичное тестирование чуть ниже веб-интерфейса, чтобы обеспечить более быструю обратную связь с тестами, а затем тестируйте, чтобы веб-интерфейс правильно использовал нижний уровень.Кроме того, вам действительно нужно 1000 тестов?Похоже, что здесь есть некоторая избыточность в тестировании - не пройдет ли 1000-й тест, если пройдут последние 999?