appium
Testy równoległe w Appium
Szukaj…
Wprowadzenie
Równoległe wykonanie w appium przy użyciu selenowej koncepcji GRID. Proszę znaleźć proces krok po kroku.
Proces krok po kroku
Testy równoległe z Appium przy użyciu GRID: Opiszę sposób, który dla mnie zadziałał. Utwórz siatkę selenową za pomocą Appium
- Skonfiguruj siatkę selenium Pobierz jar autonomicznego serwera selenium na lokalny system plików Otwórz terminal i przejdź do katalogu, w którym umieściłeś plik jar i wykonaj następujące polecenie:
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.
- Skonfiguruj węzły Appium Tutaj musisz utworzyć pliki json. Załóżmy, że chcesz uruchomić na dwóch urządzeniach, a następnie utworzyć dwa różne pliki json. Oto jeden plik json, który mam jako: {„Możliwości”: [{„nazwa aplikacji”: „ONEPLUS A3003”, „nazwa przeglądarki”: „ONEPLUS A3003”, „nazwa platformy”: „ANDROID”, „maxInstances”: 1}] , „konfiguracja”: {„cleanUpCycle”: 2000, „limit czasu”: 30000, „proxy”: „org.openqa.grid.selenium.proxy.DefaultRemoteProxy”, „host”: „127.0.0.1”, „port”: 4723, „maxSession”: 1, „register”: true, „registerCycle”: 5000, „hubPort”: 4444, „hubHost”: „twój adres IP”}} zapisz powyższy plik jako jasonFile1.json Tutaj nazwa aplikacji będzie - > Twój telefon komórkowy>> Ustawienia-> Informacje o telefonie-> Numer modelu Tutaj hubHost będzie Twoim adresem IP Tutaj zauważ, że musisz przejść jako domyślną lokalizację cmd, a następnie uruchomić poniżej polecenia
appium --nodeconfig C: /richa/jasonfile1.json -p 4723 -bp 4724 -U xxxx
i) Pamiętaj, że musisz podać bezwzględną pasth pliku json zlokalizowanego ii) port jako 4723 iii) port Bootstrap jako 4724 iv) -U na przykład podałem jako xxxx
możesz znaleźć identyfikator urządzenia jako -> Twój telefon komórkowy>> Ustawienia-> Status-> Numer seryjny Możesz także zrobić „urządzenie adb” i sprawdzić ten identyfikator urządzenia.
Następnie utworzy siatkę Selenium za pomocą jednego urządzenia.
Teraz ponownie uruchom drugi plik JSON, a uruchomisz aplikację. Oto drugi plik JSON:
{„Możliwości”: [{„nazwa aplikacji”: „Lenovo K50a40”, „nazwa przeglądarki”: „Lenovo K50a40”, „nazwa platformy”: „ANDROID”, „maxInstances”: 1}], „konfiguracja”: {„cleanUpCycle”: 2000, „limit czasu”: 30000, „proxy”: „org.openqa.grid.selenium.proxy.DefaultRemoteProxy”, „host”: „127.0.0.1”, „port”: 4730, „maxSession”: 1, „rejestr „: true,„ registerCycle ”: 5000,„ hubPort ”: 4444,„ hubHost ”:„ twój adres IP ”}} zapisz powyższy plik jako jasonFile2.json
Uruchom drugi węzeł za pomocą Lenovo Mobile. appium --nodeconfig C: / richa / jasonFile2.json -p 4730 -bp 4731 -U xxxx
Siatka Selenium będzie wyglądać tak
3) Utwórz równoległe metody wykonywania TestNG, aby uruchomić test.
-> Pamiętaj, że wartością nazwy urządzenia będzie podany wcześniej identyfikator udid. Możesz go uzyskać, uruchamiając urządzenia adb w wierszu polecenia.Teraz utwórz SearchHotelTestCase.Java jak poniżej: pakiet 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;
klasa publiczna SearchHotelTestCase {prywatny sterownik AndroidDriver;
@Parameters ({„deviceName _”, „platformVersion _”, „applicationName_”}) @BeforeMethod public void beforeMethod (String deviceName_, String platformVersion_, String applicationName_) zgłasza MalformedURLException, InterruptedException {
Możliwości DesiredCapabilities = nowe DesiredCapabilities (); powers.setCapability („deviceName”, deviceName_); powers.setCapability („platformVersion”, platformVersion_); powers.setCapability („nazwa platformy”, „Android”); powers.setCapability („nazwa aplikacji”, nazwa aplikacji); zdolności.setCapability („aplikacja”, „/Users/richa.b.shrivastava/Downloads/com.trivago_2017-04-28.apk”); powers.setCapability („appPackage”, „com.trivago”); zdolności.setCapability („appActivity”, „com.trivago.activities.SplashActivity”);
URL URL = nowy adres URL („ http://0.0.0.0:4723/wd/hub/ ”); System.out.println („przed webdriver”); driver = nowy AndroidDriver (adres URL, możliwości); System.out.println („po webdriver”); driver.manage (). timeouts (). implicitlyWait (10, TimeUnit.SECONDS); Thread.sleep (4000); }
@Test public void SearchHotel () {// Utwórz obiekty klasy strony LocaleSelectionPage localeSelectionPage = new LocaleSelectionPage (sterownik); SplashScreenPage splashScreenPage = nowy SplashScreenPage (sterownik); SearchLocation searchLocation = nowy SearchLocation (sterownik);
// Wywołaj metody klasy strony localeSelectionPage.selectLocale (); splashScreenPage.clickSplashSearchText (); searchLocation.inputSearchText („Paryż”); searchLocation.selectSuggestions („Wieża Eiffla, Paryż”);
}
}