Для создания тестового крипта, который будет запускатся в Grid, нам необходимо использовать, we need to use DesiredCapabilites и обьект RemoteWebDriver.
- DesiredCapabilites используются для установки типа браузера и операционной системы, которые будут использоватся для запуска тестов.
- RemoteWebDriver используется для установки node (или машины), на которой будут запускатся тесты.
Для использования обьекта DesiredCapabilites необходимо сделать следующее импортирование:
1 |
import org.openqa.selenium.remote.DesiredCapabilities; |
Чтобы использовать RemoteWebDriver:
1 2 3 |
import org.openqa.selenium.remote.RemoteWebDriver; import java.net.MalformedURLException; import java.net.URL; |
Использование обьекта DesiredCapabilites
Перейдите в интерфейс Grid и наведите на иконку одного из браузеров, на котором вы хотите запустить тесты. Запомните platform и browserName.
В нашем случае – это “XP” и “firefox”.
Мы используем их для нашего WebDriver, как показано ниже (выше мы сделали необходимые импорты для их использования).
1 2 3 |
DesiredCapabilities сapability = new DesiredCapabilities.firefox(); сapability.setBrowserName("firefox"); сapability.setPlatform(Platform.XP);<code class="java spaces"> </code><code class="java plain"> |
Использование обьекта RemoteWebDriver
Импортируйте необходимые пакеты для RemoteWebDriver и затем передайте обьект DesiredCapabilities как параметер для обьекта RemoteWebDriver.
1 2 |
Webdriver driver; driver = new RemoteWebdriver(new URL("http://192.168.1.4:5566/wb/hub"), capability); |
Мы используем IP node-машины В (см. предыдущую статью).
Запуск простого тест-кейса в Grid
Ниже представлен простой код WebDriver TestNG, который вы можете написать например в Eclipse на Hub-машине A. Как только осуществится запуск, автоматизация выполниться на машине В.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
import org.openqa.selenium.*; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import java.net.MalformedURLException; import java.net.URL; import org.testng.Assert; import org.testng.annotations.*; public class Grid_2 { Webdriver driver; String baseUrl, nodeURL; @BeforeTest public void SetUp() throws MalformedURLException { baseUrl = "http://autoqa.org"; nodeURL = "http://192.168.1.4:5566/wb/hub"; DesiredCapabilities сapability = new DesiredCapabilities.firefox(); сapability.setBrowserName("firefox"); сapability.setPlatform(Platform.XP); driver = new RemoteWebdriver(new URL(nodeURL), capability); } @AfterTest public void afterTest() { driver.quite(); } @Test public void simpleTest(){ driver.get(baseUrl); Assert.assertEquals("Автоматизированное тестирование программного обеспечения", driver.getTitle()); } } |
Тест должен выполнится и вы должны получить отчет TestNG.