Поиск…


Вступление

Параллельное выполнение в appium с использованием концепции серинового GRID. Пожалуйста, найдите шаг за шагом.

Шаг за шагом

Параллельное тестирование с помощью Appium с использованием GRID: я опишу способ, который работал для меня. Создание селеновой сетки с помощью Appium

  1. Настройка селеновой сетки. Загрузите автономный серверный сервер selenium в локальной файловой системе. Откройте терминал и перейдите в каталог, где вы разместили файл jar, и выполните следующую команду:
java -jar selenium-server-standalone-2.53.3.jar -role hub
Open http://localhost:4444/grid/console and you should be able to see GRID console in your browser.
  1. Настройка Appium Nodes Здесь вам нужно создать json-файлы. Предположим, вы хотите запустить на двух устройствах, затем создать два разных файла json. Вот один json-файл, у меня есть: {"возможности": [{"applicationName": "ONEPLUS A3003", "browserName": "ONEPLUS A3003", "platformName": "ANDROID", "maxInstances": 1}] , "configuration": {"cleanUpCycle": 2000, "timeout": 30000, "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy", "host": "127.0.0.1", "port": 4723, «maxSession»: 1, «register»: true, «registerCycle»: 5000, «hubPort»: 4444, «hubHost»: «ваш IP-адрес»}} сохраните указанный выше файл как jasonFile1.json Здесь applicationName будет - > Your Mobile-> settings-> about phone-> Номер модели Здесь hubHost будет вашим IP-адресом. Обратите внимание, что вам нужно перейти в CMD по умолчанию, а затем выполнить команду ниже

appium --nodeconfig C: /richa/jasonfile1.json -p 4723 -bp 4724 -U xxxx

i) Обратите внимание, что вам нужно предоставить абсолютную pasth json-файла, расположенного в ii) порт как 4723 iii) Порт Bootstrap как 4724 iv) -U, например, я указал как xxxx

вы можете найти идентификатор устройства как -> Your Mobile-> settings-> status-> Serial number. Вы также можете использовать «adb device» и проверить этот идентификатор устройства.

Затем он создаст селеновую сетку с одним устройством.

Теперь снова запустите второй json-файл, и вы получите appium. Вот второй файл json:

{«возможности»: [{«имя_приложения»: «Lenovo K50a40», «имя_буфера»: «Lenovo K50a40», «platformName»: «ANDROID», «maxInstances»: 1}], «configuration»: {«cleanUpCycle»: 2000, «таймаут»: 30000, «прокси»: «org.openqa.grid.selenium.proxy.DefaultRemoteProxy», «host»: «127.0.0.1», «port»: 4730, «maxSession»: 1, «register ": true," registerCycle ": 5000," hubPort ": 4444," hubHost ":" ваш IP-адрес "}} сохраните вышеуказанный файл как jasonFile2.json

Запустите второй узел с помощью мобильного телефона Lenovo. appium --nodeconfig C: / richa / jasonFile2.json -p 4730 -bp 4731 -U xxxx

Селеновая сетка будет выглядеть так:

3) Создайте методы параллельного выполнения TestNG для запуска теста.

-> Обратите внимание, что значение имени устройства будет удид, который вы предоставили ранее. Вы можете получить его, запустив adb-устройства в командной строке.

Теперь создайте SearchHotelTestCase.Java, как показано ниже: package com.trivago.TestCases;

import java.net.MalformedURLException; import java.net.URL; import java.util.concurrent.TimeUnit;

import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Parameters; import org.testng.annotations.Test;

import com.trivago.pages.LocaleSelectionPage; import com.trivago.pages.SearchLocation; import com.trivago.pages.SplashScreenPage;

import io.appium.java_client.MobileElement; import io.appium.java_client.android.AndroidDriver;

открытый класс SearchHotelTestCase {частный драйвер AndroidDriver;

@Parameters ({"deviceName _", "platformVersion _", "applicationName_"}) @BeforeMethod public void beforeMethod (String deviceName_, String platformVersion_, String applicationName_) throws MalformedURLException, InterruptedException {

Возможности DesiredCapabilities = new DesiredCapabilities (); capability.setCapability ("deviceName", deviceName_); capability.setCapability ("platformVersion", platformVersion_); capability.setCapability ("platformName", "Android"); capability.setCapability ("applicationName", applicationName_); capability.setCapability ("app", "/Users/richa.b.shrivastava/Downloads/com.trivago_2017-04-28.apk"); capability.setCapability ("appPackage", "com.trivago"); capability.setCapability ("appActivity", "com.trivago.activities.SplashActivity");

URL url = новый URL (" http://0.0.0.0:4723/wd/hub/ "); System.out.println («до веб-диска»); driver = новый AndroidDriver (url, возможности); System.out.println («после webdriver»); driver.manage (). timeouts (). implicitlyWait (10, TimeUnit.SECONDS); Thread.sleep (4000); }

@Test public void SearchHotel () {// Создание объектов класса страницы LocaleSelectionPage localeSelectionPage = новый LocaleSelectionPage (драйвер); SplashScreenPage splashScreenPage = новый SplashScreenPage (драйвер); SearchLocation searchLocation = new SearchLocation (драйвер);

// Вызов методов класса страницы localeSelectionPage.selectLocale (); splashScreenPage.clickSplashSearchText (); searchLocation.inputSearchText ( "Париж"); searchLocation.selectSuggestions ("Эйфелева башня, Париж");

}

}



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow