package com.example.tests; import java.io.File; import java.io.IOException; import java.util.regex.Pattern; import java.util.concurrent.TimeUnit; import org.junit.*; import static org.junit.Assert.*; import static org.hamcrest.CoreMatchers.*; import org.openqa.selenium.*; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeDriverService; import org.openqa.selenium.support.ui.Select; public class LoginTest { private static ChromeDriverService service; private WebDriver driver; private String baseUrl; private boolean acceptNextAlert = true; private StringBuffer verificationErrors = new StringBuffer(); @BeforeClass public static void createAndStartService() throws IOException { service = new ChromeDriverService.Builder() .usingDriverExecutable(new File("C:/Documents and Settings/Administrator/workspace/chromedriver.exe")) .usingAnyFreePort() .build(); service.start(); } @Before public void setUp() throws Exception { driver = new FirefoxDriver(); driver = new ChromeDriver(service); baseUrl = "http://192.168.2.168/"; driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); } @Test public void testLogin() throws Exception { driver.get(baseUrl + "/"); driver.findElement(By.linkText("Login")).click(); driver.findElement(By.linkText("Candidate")).click(); driver.findElement(By.name("login")).clear(); driver.findElement(By.name("login")).sendKeys("mail"); driver.findElement(By.name("password")).clear(); driver.findElement(By.name("password")).sendKeys("Pass"); driver.findElement(By.cssSelector("input.login")).click(); } @After public void tearDown() throws Exception { driver.quit(); String verificationErrorString = verificationErrors.toString(); if (!"".equals(verificationErrorString)) { fail(verificationErrorString); } } private boolean isElementPresent(By by) { try { driver.findElement(by); return true; } catch (NoSuchElementException e) { return false; } } private boolean isAlertPresent() { try { driver.switchTo().alert(); return true; } catch (NoAlertPresentException e) { return false; } } private String closeAlertAndGetItsText() { try { Alert alert = driver.switchTo().alert(); String alertText = alert.getText(); if (acceptNextAlert) { alert.accept(); } else { alert.dismiss(); } return alertText; } finally { acceptNextAlert = true; } } }
Java Eclipse Тест с 2 браузеров
Автор FR33D, 07 июн 2013 13:36
Сообщений в теме: 3
#1
Отправлено 07 июня 2013 - 13:36
Добрый день. Я новичек в автоматическом тестировании и у меня возникла проблема с запуском тестов для несколько браузеров сразу. Тест - елементарный. Переход и авторизация на сайте. Один из браузеров, к примеру Хром - без проблем открывает тест и проводит его, а вот второй - Firefox, просто открывается и ничего дальше не происходит. Подскажите в чем дело...вот код:
#2
Отправлено 07 июня 2013 - 14:24
Первым делом нужно проверить версию вебдрайвера и файерфокса, если они "дружат"
#3
Отправлено 10 июня 2013 - 04:40
А ничего, что одна и та же переменная инициализируется два раза: сначала драйвером FireFox, затем драйвером Chrome? Я просто не в курсе, можно ли так делать. Но по-моему, eclipse на такое заругаться должен.
#4
Отправлено 11 июля 2013 - 11:41
А ничего, что одна и та же переменная инициализируется два раза: сначала драйвером FireFox, затем драйвером Chrome? Я просто не в курсе, можно ли так делать. Но по-моему, eclipse на такое заругаться должен.
Эклипс не "заругается". Но переопределение драйвера ФФ в драйвер хрома - это сильно!
Очевидно, в ФФ работать не будет.
Вопрос: Вы хотите в рамках одного теста запустить оба браузера одновременно и одновременно работать и там, и там?
Если одновременно и там, и там, то у меня только одна рекомендация:
private List<WebDriver> driverLst; @Before public void setUp() throws Exception { driverLst.add(new FireFoxDriver()); driverLst.add(new ChromeDriver(service)); baseUrl = "http://192.168.2.168/"; for (WebDriver driver : driverLst) { driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); } } @Test public void testLogin() throws Exception { for (WebDriver driver : driverLst) { driver.get(baseUrl + "/"); driver.findElement(By.linkText("Login")).click(); driver.findElement(By.linkText("Candidate")).click(); driver.findElement(By.name("login")).clear(); driver.findElement(By.name("login")).sendKeys("mail"); driver.findElement(By.name("password")).clear(); driver.findElement(By.name("password")).sendKeys("Pass"); driver.findElement(By.cssSelector("input.login")).click(); } } @After public void tearDown() throws Exception { for (WebDriver driver : driverLst) { driver.quit(); } String verificationErrorString = verificationErrors.toString(); if (!"".equals(verificationErrorString)) { fail(verificationErrorString); } }
Форум читаю набегами. По возникшим вопросам можно в скайп (в профиле).
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных