Ten samouczek pomoże ci zrozumieć narzędzie automatyzacji APPIUM. Obejmie pożądane możliwości i APPIUM z zastosowaniami Maven.
W tym samouczku nauczysz się:
- Co to są pożądane możliwości?
- Pobieranie informacji o pakietach i działaniach
Co to są pożądane możliwości
„Pożądane możliwości” pomagają nam modyfikować zachowanie serwera podczas automatyzacji. W Appium jest to rodzaj hashmap lub pary klucz-wartość, używanej do wysyłania polecenia do serwera APPIUM. W APPIUM wszystkie polecenia klienta działają w kontekście sesji.
Na przykład klient wysłał żądanie POST / sesyjne zawierające obiekt JSON do serwera APPIUM.
W związku z tym, aby wysłać dowolne żądane żądanie lub utrzymać dowolną sesję z serwerem, używany jest zestaw par klucza i wartości. Nazywa się to „pożądanymi możliwościami”.
import io.appium.java_client.AppiumDriver;import org.openqa.selenium.remote.DesiredCapabilities;{Możliwości DesiredCapabilities = new DesiredCapabilities ();możliwości.setCapability ("deviceName", "emulator Androida");możliwości.setCapability ("platformVersion", "4.4");}
Ważna rola pożądanej zdolności
- „DesiredCapabilities” pomaga użytkownikowi kontrolować żądania sesji z serwerem. Na przykład - jeśli chcemy sesji iOS, możemy ustawić Capability jako PlatformName = iOS. Lub jeśli chcemy sesji Android, możemy ustawić Capability jako PlatformName = Android.
- „DesiredCapabilities” służą do konfigurowania instancji Webdriver, np .: FirefoxDriver, ChromeDriver, InternetExplorerDriver itp.
- DesiredCapability jest bardzo przydatne dla Selenium Grid. Np .: Służy do uzyskiwania dostępu do różnych przypadków testowych w innej przeglądarce i innym systemie operacyjnym. W oparciu o wspomnianą siatkę DesiredCapability Grid koncentrator wskaże odpowiedni węzeł. Tutaj te węzły są definiowane przy użyciu metody właściwości „set”, np .: -
DesiredCapabilities obj = new DesiredCapabilities ();obj.setBrowserName ("firefox");obj.setVersion ("18.0.1");obj.setPlatform (org.openqa.selenium.Platform.WINDOWS);
- Pożądaną możliwością jest pakiet zdefiniowany przez bibliotekę. Przed użyciem „DesiredCapabilities” należy go zaimportować z poniższej biblioteki
Org.openqa.selenium.remote.DesiredCapabilities
APPIUM obsługuje zarówno system Android, jak i iOS. Dlatego istnieje oddzielny zestaw możliwości serwera Appium.
Poniższa tabela przedstawia niektóre powszechnie używane funkcje Androida i ich wartość w użyciu:
Możliwości | Opis | Wartości / zastosowania |
---|---|---|
appPackage | Wywołaj żądany pakiet Java w systemie Android, który użytkownik chce uruchomić | Wartość = com.example.myapp / Obj.setCapability ("pakiet aplikacji", "com.whatsapp"); |
appActivity | Działanie aplikacji, które użytkownik chce uruchomić z pakietu. | Wartość = MainActivity, .Settings Obj.setCapability ("appActivity", "com.whatsapp.Main"); |
appWaitPackage | Pakiet, na który ma czekać aplikacja | Wartość = com.example.android.myapp |
appWaitActivity | Każda aktywność na Androidzie, której użytkownik potrzebuje czasu oczekiwania | Wartość = możliwości SplashActivity.setCapability ("appWaitActivity", "com.example.game.SplashActivity") |
UWAGA - Skorzystaj z tego linku „https://appium.io/docs/en/writing-running-appium/caps/#android-only”, aby wyświetlić więcej możliwości Androida
Poniższa tabela przedstawia niektóre powszechnie używane funkcje iOS i ich wartość w użyciu:
Możliwości | Opis | Wartości |
---|---|---|
LaunchTimeout | Całkowity czas (w ms) oczekiwania na oprzyrządowanie. | 2000 |
ZROBIŁEŚ | Identyfikowanie unikalnego numeru urządzenia dla podłączonego urządzenia fizycznego | 166aestu4 |
UWAGA - Skorzystaj z tego linku „http://appium.io/slate/en/master/?java#ios-only”, aby wyświetlić więcej możliwości iOS
Pobieranie informacji o pakietach i działaniach
Pakiety są powiązane z dołączonymi plikami lub klasami. Daje zorganizowaną strukturę programowaniu modułowemu. W Javie różne pakiety są przechowywane w jednym pliku Jar. Użytkownik może łatwo wywołać plik jar w celu pełnego wykonania. Podobne koncepcje pojawiły się w świecie tworzenia aplikacji mobilnych.
W systemie operacyjnym Android wszystkie aplikacje są instalowane w postaci pakietów JAVA. Dlatego do wyodrębnienia informacji o ścieżce pakietów używana jest klasa Android PackageManager.
Pobiera informacje o pakiecie i aktywności aplikacji zainstalowanej przed i po instalacji. Jest instalowany na urządzeniach z Androidem.
Możesz uzyskać instancję klasy PackageManager, wywołując metodę getPackageManager ().
Ta metoda może uzyskiwać dostęp do pakietów i związanych z nimi uprawnień zainstalowanych aplikacji oraz manipulować nimi.
Na przykład -
PackageManager pManager = getPackageManager ();Listlist = pManager.getInstalledApplications (PackageManager.GET_META_DATA)
Podsumowanie:
- Pożądana zdolność zawsze działa na parze klucz-wartość, aby wysłać polecenie do serwera APPIUM.
- Użyj klasy „PackageManager”, aby wyodrębnić informacje o aplikacji w systemie Android.