driver.switchTo().frame(driver.findElement(By.xpath("//iframe[@id='publicshowmaildivcontent']")));
//Переключение в ифрейм и поиск в нем элемента
driver.switchTo().defaultContent();
//Выход из ифрейма к контенту главной страницы
Selenium WebDriver+Java Записки тестировщика
вторник, 1 ноября 2016 г.
Поиск локатора в ифрейме
Иногда нужно переключится в iframe в браузере для поиска элемента. Вот простенький пример кода перехода в ифрейм, и дальнейшего выхода с него.
понедельник, 22 августа 2016 г.
Пример работы с датой на Java(получение сегодняшней и завтрашней даты)
Получение сегодняшней и завтрашней даты и запись их в поля
Calendar calendar = Calendar.getInstance();
Date today = calendar.getTime();
calendar.add(Calendar.DAY_OF_YEAR, 1);
Date tomorrow = calendar.getTime();
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String todayAsString = dateFormat.format(today);
String tomorrowAsString = dateFormat.format(tomorrow);
driver.findElement(By.name("start_date")).clear();
driver.findElement(By.name("start_date")).sendKeys(todayAsString);
driver.findElement(By.name("end_date")).clear();
driver.findElement(By.name("end_date")).sendKeys(tomorrowAsString);
воскресенье, 21 августа 2016 г.
HTTP ACCESS на Selenium WebDriver
Иногда бывает что страница защищена http паролем. В Selenium я пользовался такой конструкцией
Пример:
driver.get("http://user:password@example.com");
Если в логине или пароле используются спецсимволы то их нужно енкодить. Для енкода я использую Енкод. Енкодить нужно только логин и пароль, если заенкодить весь урл то может не отработать такой код.
Пример:
пример пароля который нужно екодитья #$/jda8$!
driver.get("http://user:%23%24%2Fjda8%24!@example.com");
Но лучше попросить разработчиков убрать http защиту для вашего IP, ибо иногда некоторые ссылки не принимают http авторизацию в урл.
Рефреш страницы с помошью Selenium WebDriver на Java
Вот реально работающие способы для рефреша страницы браузера.
Способ 1:
driver.navigate().refresh();
Способ 2:
driver.get(driver.getCurrentUrl());
Способ 3:
driver.navigate().to(driver.getCurrentUrl());
Способ 4:
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("history.go(0)");
К сожалению с помощью sendKeys(Keys.F5) у меня страница не рефрешилась, пробовал таким вот способом
Способ 1:
driver.findElement(By.id("element")).sendKeys(Keys.F5);
Способ 2:
Actions actions = new Actions(driver);
actions.sendKeys(Keys.F5).perform();
пятница, 19 августа 2016 г.
Пример настройки браузера Chrome для работы с SeleniumWebdriver+Java
При использовании веб драйвером Chrome браузер открывается с дефолтным профилем и без каких либо настроек. Я приведу пример использования некоторых настроек браузера при его вызове вебдрайвером.
@Before
public void setUp() throws Exception {
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized");//Опция при которой браузер открывается на весь экран
options.addArguments("--disable-extensions");//Опция при которой браузер открывается с отключенными расширениями
options.addArguments("--user-data-dir=C://Users/User/AppData/Local/Google/Chrome/User Data");//Опция при которой браузер открывается с указанным профилем
driver = new ChromeDriver(options);
baseUrl = "some URL";
}
Управление/переключение между вкладками браузера в SeleniumWebDriver
Иногда нужно переключится на новый таб в браузере и закрыть его, к примеру после клика на элемент открывается новый таб и вам нухно закрыть его. Вот простенький пример кода получения списка табов, переключения между ними и закрытие ненужного Вам таба
ArrayList tabs2 = new ArrayList (driver.getWindowHandles());//Получение списка табов
driver.switchTo().window(tabs2.get(1));//Переключение на второй таб в браузере
driver.switchTo().window(tabs2.get(0));//Переключение на первый таб в браузере
driver.close();//Закрытие активного таба
Как использовать JavaScript в Java
Иногда нужно использовать простой JavaScript в своем автотесте. Вот пример открывания нового таба(окна) в браузере с использованием JavaScript в Java
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("window.open('https://www.facebook.com/')");
Подписаться на:
Комментарии (Atom)






