Pożądane możliwości w Selenium Sterownik sieciowy
⚡ Inteligentne podsumowanie
Pożądane możliwości to Selenium klasa przechowująca ustawienia przeglądarki, platformy i urządzenia jako pary klucz-wartość, co pozwala na zastosowanie jednego zestawu testów w wielu środowiskach Selenium Siatka, siatki chmurowe i automatyzacja mobilna.
Jakie są pożądane możliwości?
Pożądane możliwości to klasa w Selenium służy do ustawiania właściwości przeglądarek w celu przeprowadzania testów aplikacji internetowych w różnych przeglądarkach. Przechowuje możliwości w postaci par klucz-wartość i te możliwości służą do ustawiania właściwości przeglądarki, takich jak nazwa przeglądarki, wersja przeglądarki, ścieżka sterownika przeglądarki w systemie itp. w celu określenia zachowania przeglądarki w czasie wykonywania.
- Żądanej możliwości można również użyć do skonfigurowania instancji sterownika Selenium Sterownik sieciowy.
- Możemy skonfigurować instancję sterownika np FirefoxDriver, ChromeDriver, InternetExplorerDriver, wykorzystując żądane możliwości.
Uwaga dotycząca wersji: Selenium 4 zastępuje DesiredCapabilities klasami opcji przeglądarki — ChromeOptions, FirefoxOpcje, EdgeOptions, InternetExplorerOptions. Poniższe przykłady zachowują oryginalną składnię.
Dlaczego potrzebujemy pożądanych możliwości?
Pożądane możliwości są potrzebne, ponieważ każdy Testy scenariusz powinien zostać wykonany w określonym środowisku testowym. Środowiskiem testowym może być przeglądarka internetowa, Mobile urządzenie, emulator mobilny, symulator mobilny itd. Klasa Desired Capabilities pomaga nam wskazać WebDriverowi, jakiego środowiska będziemy używać w naszym skrypcie testowym.
Metodę setCapability klasy DesiredCapabilities, która zostanie wyjaśniona w dalszej części tej strony, można wykorzystać w Selenium Siatka. Służy do wykonywania wykonanie równoległe na różnych konfiguracjach maszyn.
Np. Siatka (pokazana poniżej).
Służy do ustawienia właściwości przeglądarki (np. Chrome, IE), nazwy platformy (np. Linux, Windows) używane podczas wykonywania Przypadek testowy.
W przypadku automatyzacji mobilnej, ponieważ testy przeprowadzamy na różnych odmianach urządzeń mobilnych, Platforma Mobilna (np. iOS, Android) Wersja platformy (np. 3,x, 4,x cala) Android) może być ustawiony.
Poniższy przykład emulatora pokazuje zestaw platform: Android i zestaw wersji platformy: IceCream Sandwich (4.x).
Pożądane możliwości są bardziej przydatne w przypadkach takich jak:
- W automatyzacji aplikacji mobilnych, gdzie można ustawić właściwości przeglądarki i właściwości urządzenia.
- In Selenium Siatka, gdy chcemy uruchomić przypadki testowe w innej przeglądarce z innymi systemami operacyjnymi i wersjami.
Rodzaje pożądanych możliwości Metody
Tutaj przyjrzymy się różnym metodom Desired Capabilities i sposobowi użycia jednej z nich, metody setCapability().
#1) getBrowserName()
public java.lang.String getBrowserName()
#2) setNazwaPrzeglądarki()
public void setBrowserName(java.lang.String browserName)
#3) pobierz wersję()
public java.lang.String getVersion()
#4) ustaw wersję()
public void setVersion(java.lang.String version)
#5) pobierzPlatformę()
public Platform getPlatform()
#6) setPlatform()
public Platform setPlatform()
#7) Metoda getCapability().
Metodę getCapability() klasy DesiredCapabilities można wykorzystać do pobrania możliwości aktualnie używanych w systemie.
public java.lang.Object getCapability(java.lang.String capabilityName)
#8) Metoda setCapability().
Metoda setCapability() klasy Desired Capabilities służy do ustawiania właściwości środowiska testowego, takiej jak nazwa urządzenia, nazwa i wersja systemu operacyjnego, nazwa i wersja przeglądarki, ścieżka bezwzględna testowanej aplikacji (plik .apk Android testowana aplikacja), aktywność aplikacji (w Android) i appPackage (w Java).
„metoda setCapability” w Java posiada poniższe deklaracje:
setCapability : public void setCapability(java.lang.String capabilityName,boolean value)
setCapability :public void setCapability(java.lang.String capabilityName,java.lang.String value)
setCapability :public void setCapability(java.lang.String capabilityName,Platform value)
setCapability :public void setCapability(java.lang.String key,java.lang.Object value)
Ustaw możliwości Selenium Przykład
Rozważmy przykład, w którym chcemy uruchomić nasz przypadek testowy w przeglądarce Internet Explorer, aby otworzyć witrynę www.gmail.com za pomocą Selenium Sterownik sieciowy.
Poniżej kod.
import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetExplorerDriver; public class IEtestforDesiredCapabilities { public static void main(String[] args) { WebDriver driver = new InternetExplorerDriver(); driver.manage().window().maximize(); driver.get("http://gmail.com"); driver.quit(); } }
Teraz uruchom ten kod z Eclipse i sprawdź konsolę.
Wyjście:
Po wykonaniu powyższego kodu pojawi się następujący błąd. Błąd występuje, ponieważ ścieżka do sterownika przeglądarki (w powyższym przypadku IE) nie jest ustawiona. Przeglądarki nie można zlokalizować za pomocą Selenium kod.
The path to the driver executable must be set by the webdriver.ie.driver system property; formore information, see http://code.google.com/p/selenium/wiki/InternetExplorerDriver. The latest version can be downloaded from http://code.google.com/p/selenium/downloads/list Dec 11, 201212:59:43PM org.openqa.selenium.ie.InternetExplorerDriverServer initializeLib WARNING: This method of starting the IE driver is deprecated and will be removed in selenium 2.26. Please download the IEDriverServer.exe from http://code.google.com/p/selenium/downloads/list and ensure that it is in your PATH.
Rozwiązanie:
Rozwiązanie powyższego problemu podano w sekcji ostrzegawczej samego błędu.
- Pobierz samodzielny serwer Internet ExplorerDriver dla wersji 32-bitowej lub 64-bitowej.
- Zapisz sterownik w odpowiedniej lokalizacji w systemie.
- Ustaw ścieżkę do sterownika za pomocą metody System.setProperty. Służy ona do ustawienia sterownika IE za pomocą właściwości webdriver. Ułatwia ona zlokalizowanie pliku wykonywalnego sterownika, który jest przechowywany w lokalizacji systemowej. (Np.: „C:\IEDriverLocation\IEDriver.exe”)
Uwaga dotycząca wersji: Selenium 4.6 i nowsze rozwiązują sterownik automatycznie za pomocą Selenium Menedżerze, więc System.setProperty jest opcjonalny. Poniższy kod historyczny pozostaje niezmieniony.
import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetExplorerDriver; import org.openqa.selenium.remote.DesiredCapabilities; public class IEtestforDesiredCapabilities { public static void main(String[] args) { //it is used to define IE capability DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); capabilities.setCapability(CapabilityType.BROWSER_NAME, "IE"); capabilities.setCapability(InternetExplorerDriver. INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); System.setProperty("webdriver.ie.driver", "C:\\IEDriverServer.exe"); //it is used to initialize the IE driver WebDriver driver = new InternetExplorerDriver(capabilities); driver.manage().window().maximize(); driver.get("http://gmail.com"); driver.quit(); } }
Code Wyjaśnienie:
W powyższym kodzie
- Instrukcje importu importują wymagane pakiety dla Selenium WebDriver, wymagane pakiety dla sterownika Internet Explorer i pakiety dla pożądanych funkcji.
- setCapability przyjmuje różne możliwości jako zmienne wejściowe, które są następnie wykorzystywane przez sterownik sieciowy do uruchomienia aplikacji w żądanym środowisku.
- setProperty służy do ustawienia ścieżki, w której znajduje się sterownik. WebDriver lokalizuje następnie wymagany sterownik.
- Gmail Strona internetowa otwierana jest w przeglądarce Internet Explorer za pomocą metody „get”.
Wyjście:
Przypadek testowy w przeglądarce Internet Explorer zostanie pomyślnie uruchomiony przy użyciu Selenium Sterownik sieciowy.


