Добрый день. Прошу у вас подсказки в решении следующей задачи:
Есть цикл проверки опций в тарифе (их 27) они все снабжены "тумблером"
Есть два вида попапов в зависимости от опции
Написал тест с методом "if/else", но при не нахождении первого попапа тест падает не переходя к "else"
попапы закрываются по нажатию на крестик, но классы у них разные
Как мне описать код так, чтобы в случае, если первый попап не вылез, сработало нажатие крестика на втором? Вот код(все данные относящиеся к компании заменены на "..."):
package ....:
import org.testng.annotations.BeforeTest;
import org.testng.annotations.AfterTest;
import org.testng.annotations.Test;
import utilities.Constants;
import utilities.Regions;
import utilities.Scheme;
import static org.testng.Assert.assertTrue;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
public class ... {
WebDriver wd = new ChromeDriver();
private Cookie Cookie_new = new Cookie("....", "yes");
private Object iClassName;
@BeforeTest
public void setUp() throws Exception {
wd.manage().timeouts().implicitlyWait(Constants.TIMEUPS, TimeUnit.SECONDS);
wd.manage().window().maximize();
}
@Test
public void ... () throws InterruptedException {
wd.get(Constants.formUrlink(Scheme.HTTP, Regions....));
wd.manage().addCookie(Cookie_new);
wd.get(Constants.formUrlink(Scheme.HTTP, Regions....));
List<WebElement> checker = wd.findElements(By.xpath("...."));
for (WebElement oneClick : checker) {
oneClick.click();
wd.findElement(By.id("cart-street")).click();
wd.findElement(By.id("cart-street")).clear();
wd.findElement(By.id("cart-street")).sendKeys("....");
wd.findElement(By.id("cart-build")).click();
wd.findElement(By.id("cart-build")).clear();
wd.findElement(By.id("cart-build")).sendKeys("...");
wd.findElement(By.id("cart-flat")).click();
wd.findElement(By.id("cart-flat")).clear();
wd.findElement(By.id("cart-flat")).sendKeys("...");
wd.findElement(By.name("fio")).click();
wd.findElement(By.name("fio")).clear();
wd.findElement(By.name("fio")).sendKeys("...");
wd.findElement(By.name("company")).click();
wd.findElement(By.name("company")).clear();
wd.findElement(By.name("company")).sendKeys("...");
wd.findElement(By.name("phone")).click();
wd.findElement(By.name("phone")).clear();
wd.findElement(By.name("phone")).sendKeys("....");
wd.findElement(By.name("email")).click();
wd.findElement(By.name("email")).clear();
wd.findElement(By.name("email")).sendKeys("...");
wd.findElement(By.name("comment")).click();
wd.findElement(By.name("comment")).clear();
wd.findElement(By.name("comment")).sendKeys("....");
wd.findElement(By.id("send-order-form")).click();
if (wd.findElement(By.xpath("1ый попап)).isDisplayed() )
{
wd.findElement(By.xpath("1ый крестик")).click();
}
else if (wd.findElement(By.xpath("2ой попап")).isDisplayed() )
{
wd.findElement (By.xpath("2ой крестик")).click();
}
oneClick.click();
}
}
@AfterTest
public void tearDown() {
wd.quit();
}
public static boolean isAlertPresent(ChromeDriver wd) {
try {
wd.switchTo().alert();
return true;
} catch (NoAlertPresentException e) {
return false;
}
}