Всем привет! Написал тест для проверки появления окна при определенных действиях. Ищу окно по параметру className. Вот мой код для проверки существования окна Код |
import org.openqa.selenium.By; import org.openqa.selenium.NoSuchElementException; import org.openqa.selenium.WebDriver; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; import org.sikuli.script.FindFailed; import org.sikuli.script.Pattern; import org.sikuli.script.Screen;
import java.awt.*; import java.awt.event.KeyEvent;
public class MainPage {
HelperClass hclass = new HelperClass();
private Screen screen; private WebDriver driver; private By iconAdditionalClientTreeBy = By.name("Поиск контакта"); private By treeBy = By.name("Шеврон уведомления"); private By mainWindowBy = By.className("TfrmMain"); //Вот этот className private Pattern imgIconClientTreeBy = hclass.newPattern("tree.JPG"); private Pattern imgMainWindowMenu = hclass.newPattern("mainWindowMenu.jpg"); private Pattern imgExitButton = hclass.newPattern("exit.jpg"); private Robot robot;
public MainPage(Screen screen, WebDriver driver){ this.screen = screen; this.driver = driver; }
//Проверяем, есть ли дополнительная иконка клиента public boolean checkIconAdditionalClientTree(){ try{ new WebDriverWait(driver, 60).until(ExpectedConditions.presenceOfElementLocated(iconAdditionalClientTreeBy)); return true; }catch (NoSuchElementException e){ return false; } }
public void callMainWindowHotButtons() throws AWTException { robot = new Robot(); if(checkIconAdditionalClientTree()){ robot.keyPress(KeyEvent.VK_CONTROL); robot.keyPress(KeyEvent.VK_SHIFT); robot.keyPress(KeyEvent.VK_F1); } }
public void callMainWindowIconTree(String login) throws FindFailed { if(checkIconAdditionalClientTree()){ screen.click(imgIconClientTreeBy); driver.findElement(By.name("[" + login + "] - В сети")).click(); }
}
//Здесь проверяем, что элемент mainWindowBy существует public boolean checkMainWindow(){ try{ driver.findElement(mainWindowBy); return true; }catch(NoSuchElementException e){ return false; } }
public void clickExitButton() throws FindFailed { screen.click(imgMainWindowMenu); screen.click(imgExitButton); }
}
|
Вот тест для проверки окна Код | import org.junit.*; import org.openqa.selenium.WebDriver; import org.openqa.selenium.remote.RemoteWebDriver; import org.sikuli.script.FindFailed; import org.sikuli.script.Screen;
import java.io.File; import java.io.IOException; import java.net.URL;
public class MainPageTest {
private Process shell; private WebDriver driver; private Screen screen; private String profile = System.getProperty("user.home") + "\\AppData\\Roaming\\IT-Phone\\Profiles";; private boolean windowMain; private String login; private String password; private String server;
@Before public void setUp() throws IOException { StartTest start = new StartTest(); shell = start.RunWinum(); start.deleteFolderProfile(new File(profile)); driver = new RemoteWebDriver(new URL("http://localhost:9999"), start.startClient()); screen = new Screen(); }
@Ignore @Test public void testCallMainWindowIconTree() throws FindFailed { MainPage mainPage = new MainPage(screen, driver); LoginPage loginPage = new LoginPage(screen, driver); login = "2001"; password = "o0cJ2uas"; server = "172.22.50.100"; loginPage.enterDataFields(login, password, server); loginPage.clickEnterButton(); mainPage.checkIconAdditionalClientTree(); mainPage.callMainWindowIconTree(login); windowMain = mainPage.checkMainWindow(); mainPage.clickExitButton(); System.out.println(windowMain); Assert.assertTrue(windowMain); }
@After public void tearDown(){ shell.destroy(); } }
|
Тест выдаёт результат false, хотя вижу, что окно появляется
|