Статьи

Селен скриптов Советы и хитрости

Если вы только начали изучать селен, то приведенные ниже уловки и советы помогут вам. Эти советы и приемы содержат все основные вещи, которые вы можете забыть, и это поможет вам вспомнить все это. Вы можете просто пройти их один раз, и через несколько секунд вы все узнаете. Давайте посмотрим на все хитрости и советы по одному.

  • Лучший способ создать экземпляр Webdriver

Вы можете сделать свои тесты общими. Первым шагом будет инициализация браузера путем передачи значения из файла конфигурации. Вы можете иметь один ключ в качестве браузера и значение как Chrome, Firefox или IE. Затем вы можете инициализировать браузер в соответствии со значением, переданным туда. Давайте посмотрим на код, который будет задействован. Добавить текст абзаца здесь.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
public static WebDriver getBrowser(String browserName)
{
If(driver == null)
{
if(browserName.equals(“firefox”))
{
driver = new FirefoxDriver();
}
else if(browserName.equals(“Chrome”))
{
driver=new ChromeDriver();
}
else if(browserName.contains(“IE”))
{
driver=new InternetExplorerDriver();
}
}
return driver;
}
  • Лучший способ проверить, существует элемент или нет

Если вам нужно проверить, существует ли элемент в веб-приложении или нет, вы можете легко это сделать, получив размер веб-элемента, а затем проверить, больше ли он равен нулю или нет.

Boolean isElementExists = driver.findElements (By.xpath (“”)). Size ()> 0

  • Как дождаться полной загрузки страницы?

Иногда загрузка страницы занимает некоторое время, и вам нужно подождать, пока страница загрузится полностью. Для этого вы должны сначала проверить, правильно ли он загружен, а затем вы можете выполнить любую другую операцию с ним. Вы можете использовать Javascriptexecutor, чтобы проверить, загружена ли страница полностью или нет.

01
02
03
04
05
06
07
08
09
10
11
wait.until(new Predicate < WebDriver > () {
 
@Override
 
public Boolean waitPageLoaded(WebDriver driver) {
 
return ((JavascriptExecutor) driver).executeScript("return document.readyState").equals("complete");
 
}
 
});
  • Как сделать снимок экрана с помощью Selenium Webdriver ?

Иногда очень важно делать скриншоты во время выполнения, чтобы знать, что пошло не так. Черт возьми, делать это с селеном. Вы можете иметь драйвер селена, а затем вы можете привести его к интерфейсу Screenshot. Сделайте экземпляр этого и затем используйте его, чтобы получить скриншот. Вы можете использовать метод наборов .getScreenshotAs, а затем вы можете указать, в каком формате вы ожидаете, что ваши скриншоты будут.

// Сохранение скриншота в каталоге текущего проекта

String screenShot = System.getProperty («user.dir») + «\\ screenshottest.png»;

// приведение Webdriver к скриншоту

Файл srcFile = ((TakesScreenshot) драйвер) .getScreenshotAs (OutputType.FILE);

// Сохранение скриншота

FileUtils.copyFile (srcFile, новый файл (screenShot));

  • Как получить исходный HTML-код веб-элемента в Selenium Webdriver ?

Selenium WebDriver предоставляет вам один метод с именем getAttribute, который позволит вам получить внутренний HTML-код веб-элемента. Вы можете сделать это, получив элемент первым. После этого вы можете использовать getAttribute для получения innerHTML веб-элемента.

String html = element.getAttribute («innerHTML»);

  • Как выбрать выпадающие параметры, используя Select Class?

В селене, если вы столкнулись с каким-либо выпадающим списком, вы можете выбрать любой вариант в нем, используя класс выбора. Есть много способов, с помощью которых вы можете выбрать опцию. Некоторые из способов включают выбор по тексту, индексу и значениям.

1
2
3
4
5
Select drp= new Select(Driver.findElement(By.xpath(“”));
 
drp.deselectAll();
 
drp.selectByVisibleText("selectLabel");
  • Как обновить веб-страницу в Webdriver ?

Если вы хотите обновить страницу, вы можете использовать метод navigate () веб-драйвера selenium. Затем вы можете обновить метод (), чтобы фактически обновить страницу, чтобы все элементы были инициализированы с самого начала.

. driver.navigate () обновления ();

  • Как перейти на новую вкладку с помощью Selenium Webdriver ?

Вы можете легко переключиться на новую вкладку с помощью селена webdriver. Первое, что нужно иметь в виду, это использовать .getWindowHandles (), а затем вы можете переключиться на первый индекс списка массивов со всеми дескрипторами окна.

1
2
3
ArrayList<String> tabs = new ArrayList<String> (driver.getWindowHandles());
 
driver.switchTo().window(tabs.get(0));
  • Как установить путь к исполняемому файлу драйвера в Webdriver ?

Для браузеров, Chrome и т. Д. Вы должны увидеть путь к исполняемым файлам драйвера. Для установки пути вы должны использовать метод System.setProperty в селене. Посмотрим, как это выглядит.

1
2
3
4
5
File ieDriverPath = new File("path//iexploredriver.exe");
 
System.setProperty("webdriver.ie.driver", ieDriverPath.getAbsolutePath());
 
WebDriver driver = new InternetExplorerDriver();
  • Как перейти в новое всплывающее окно?

Если вы хотите переключиться на определенное открытое окно, вы можете сначала получить getAllWindowHandles (), а затем переключиться с помощью метода driver.switchTo ().

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
/ Get the current window handle.
 
String hBefore = driver.getWindowHandle();
 
// action which opens lot of windows.
 
// Switch to new windows.
 
for(String hNew: driver.getWindowHandles()){
 
driver.switchTo().window(hNew);
 
}
 
// Close all new windows.
 
driver.close();
 
// Switch back to first window.
 
driver.switchTo().window(hBefore);

Но если в этом случае, вы хотите специально переключиться на конкретное окно. Вы можете получить веб-элемент и увидеть его в определенном окне. Если он присутствует, то вы можете переключиться на него.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/ Get the current window handle.
 
String hBefore = driver.getWindowHandle();
 
// Click to open new windows.
 
// Switch to window which has a webelement attached to it
 
for(String hNew: driver.getWindowHandles()){
 
If(driver.findElements(By.xpath(“”)).size()>0)
 
{
 
driver.switchTo().window(hNew);
 
}
 
}
 
// Close all new windows.
 
driver.close();
 
// Switch back to first window.
 
driver.switchTo().window(hBefore);
  • Как установить флажок, который не отображается?

Во многих случаях флажок, который вы хотите щелкнуть, не отображается, и, к сожалению, вы не сможете щелкнуть по нему. Вы должны сначала включить его, чтобы вы могли нажать на него. Если вы не включите его, вы получите исключение типа «Элемент в данный момент не виден и поэтому может не взаимодействовать».

Исполнитель Java-сценария может быть использован для его включения, чтобы селен мог щелкнуть по нему. Фрагмент кода ниже:

1
((JavascriptExecutor)driver).executeScript("arguments[0].checked = true;", checkbox);
  • Как сделать Mouseover Action в Selenium Webdriver?

Если вы хотите навести курсор мыши на веб-элемент, вы можете использовать класс Actions () для его обработки. Вы можете использовать функцию moveToElemenet (), а затем последовательно выполнять build () и execute () для выполнения действия при наведении мыши на веб-элемент.

1
2
3
4
5
Actions action = new Actions(driver);
 
WebElement item = driver.findElement(By.xpath(""));
 
action.moveToElement(item).moveToElement(driver.findElement(By.xpath("")) ).click().build().perform();
  • Как удалить куки перед запуском тестового скрипта?

Иногда очень важно очистить все куки перед запуском ваших тестовых скриптов. Вы можете использовать метод DeleteAllCookies из функции driver.manage ().

Фрагмент кода, как показано ниже:

this.driver.Manage () Cookies.DeleteAllCookies ().

Также, если у вас есть файл cookie с определенным именем, вы можете удалить его, используя метод: DeleteCookiesNames of manage () class.

this.driver.Manage () Cookies.DeleteCookieNamed ( «CookieName»).

  • Как развернуть окно в тестовом скрипте?

Иногда вам нужно протестировать сценарии в полном размере и разрешении окна. Вы можете легко сделать это, используя метод manage () экземпляра драйвера. Затем вы можете использовать метод window (), а затем maximize (), чтобы увеличить окно до максимального размера.

Фрагмент кода, как показано ниже:

1
2
3
4
5
6
7
8
9
public void MaximizeWindow()
 
{
 
this.driver.get(“");
 
this.driver.Manage().Window().Maximize();
 
}

Вывод

Итак, есть несколько важных приемов и советов, которым вы можете следовать, чтобы запустить тесты на селен. Если вы будете помнить об этом, вы решите большинство своих проблем во время сценариев в Automation Testing. Так что используйте их и сэкономьте свое время. Всего наилучшего!!

Опубликовано на Java Code Geeks с разрешения Nexsoftsys, партнера нашей программы JCG. Смотрите оригинальную статью здесь: Selenium Scripting Tips and Tricks

Мнения, высказанные участниками Java Code Geeks, являются их собственными.