Jaki jest pożytek z DesiredCapabilities w Selenium WebDriver?Jaki jest pożytek z DesiredCapabilities w Selenium WebDriver?
Kiedy chcemy tego użyć i jak?
Odpowiedź z przykładami byłaby doceniona.
Jaki jest pożytek z DesiredCapabilities w Selenium WebDriver?Jaki jest pożytek z DesiredCapabilities w Selenium WebDriver?
Kiedy chcemy tego użyć i jak?
Odpowiedź z przykładami byłaby doceniona.
Powinieneś przeczytać dokumentację o DesiredCapabilities. Istnieje również inna strona dla ChromeDriver. Javadoc od Capabilities
:
Możliwości: Opisuje serię par klucz/wartość, które zawierają aspekty przeglądarki.
Zasadniczo, DesiredCapabilities
pomaga ustawić właściwości dla WebDriver. Typowym zastosowaniem byłoby ustawienie ścieżki dla FirefoxDriver
, jeśli lokalna instalacja nie odpowiada ustawieniom domyślnym.
DesiredCapabilities
to opcje, za pomocą których można dostosowywać i konfigurować sesje przeglądarki.
Możesz przeczytać więcej o nich here!
org.openqa.selenium.remote.DesiredCapabilities
.Przykład:
WebDriver driver;
String baseUrl , nodeUrl;
baseUrl = "https://www.facebook.com";
nodeUrl = "http://192.168.10.21:5568/wd/hub";
DesiredCapabilities capability = DesiredCapabilities.firefox();
capability.setBrowserName("firefox");
capability.setPlatform(Platform.WIN8_1);
driver = new RemoteWebDriver(new URL(nodeUrl),capability);
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(2, TimeUnit.MINUTES);
wiem, że jestem bardzo późno, aby odpowiedzieć na to pytanie.
Ale chciałbym dodać do dalszych odniesień do udzielania odpowiedzi.
DesiredCapabilities
służą do ustawiania konfiguracji za pomocą pary klucz-wartość.
Poniżej znajduje się przykład odnoszący się do Appium
używany do automatyzacji platform mobilnych, takich jak Android
i IOS
.
Generalnie ustawiamy DesiredCapabilities
dla przekazywania naszego WebDriver
dla konkretnych rzeczy, które będą nam potrzebne do uruchomienia naszego testu, aby zawęzić wydajność i zwiększyć dokładność.
Więc stawiamy nasze DesiredCapabilities jak:
// Created object of DesiredCapabilities class.
DesiredCapabilities capabilities = new DesiredCapabilities();
// Set android deviceName desired capability. Set your device name.
capabilities.setCapability("deviceName", "your Device Name");
// Set BROWSER_NAME desired capability.
capabilities.setCapability(CapabilityType.BROWSER_NAME, "Chrome");
// Set android VERSION desired capability. Set your mobile device's OS version.
capabilities.setCapability(CapabilityType.VERSION, "5.1");
// Set android platformName desired capability. It's Android in our case here.
capabilities.setCapability("platformName", "Android");
// Set android appPackage desired capability.
// Trzeba sprawdzić za appPackage nazwę dla aplikacji, można użyć tej aplikacji do tego APK INFO
// Set your application's appPackage if you are using any other app.
capabilities.setCapability("appPackage", "com.android.appPackageName");
// Set android appActivity desired capability. You can use the same app for finding appActivity of your app
capabilities.setCapability("appActivity", "com.android.calculator2.Calculator");
Ten DesiredCapabilities
są bardzo specyficzne dla Appium
na platformie Android
. Więcej informacji można znaleźć na oficjalnej stronie Selenium desiredCapabilities class
Pożądana jest seria par klucz/wartość, które przechowuje właściwości przeglądarki takie jak nazwa przeglądarki, wersja przeglądarki, ścieżka sterownika przeglądarki w systemie itp. Aby określić zachowanie przeglądarki w czasie wykonywania.
Żądanej zdolności można również użyć do skonfigurowania instancji sterownika w Selenium WebDriver. Możemy skonfigurować instancję sterownika, taką jak FirefoxDriver, ChromeDriver, InternetExplorerDriver, używając wymaganych funkcji. Pożądane możliwości są bardziej użyteczne w przypadkach:
W automatyce aplikacji mobilnych, w której można ustawić właściwości przeglądarki i właściwości urządzenia. W siatce Selenium, gdy chcemy uruchomić przypadki testowe w innej przeglądarce z różnymi systemami operacyjnymi i wersjami.
Pożądane możliwości przydają się podczas zdalnego lub równoległego wykonywania przy użyciu siatki selenowej. Będziemy parametryzować szczegóły przeglądarki i przekazywać do serwera selenu przy użyciu pożądanej klasy możliwości.
Kolejne zastosowanie to, automatyzacji testów przy użyciu Appium jak pokazano poniżej
// Created object of DesiredCapabilities class. DesiredCapabilities capabilities = new DesiredCapabilities(); // Set android deviceName desired capability. Set your device name. capabilities.setCapability("deviceName", "your Device Name"); // Set BROWSER_NAME desired capability. capabilities.setCapability(CapabilityType.BROWSER_NAME, "Chrome"); // Set android VERSION desired capability. Set your mobile device's OS version. capabilities.setCapability(CapabilityType.VERSION, "5.1"); // Set android platformName desired capability. It's Android in our case here. capabilities.setCapability("platformName", "Android");
Po uruchomieniu selenu WebDriver The WebDriver otwiera zdalny serwer w hoście lokalnym komputera. Ten serwer, zwany serwerem selenowym, służy do interpretowania kodu w działaniach, które uruchamiają lub "napędzają" instancję prawdziwej przeglądarki znanej jako "chromebrowser", np. Broser, ff browser itp. Tak więc serwer selenowy może współdziałają z różnymi właściwościami przeglądarki i dlatego ma wiele "możliwości". Jakich możliwości pragniesz? Rozważ scenariusz, w którym sprawdzasz, czy pliki zostały poprawnie pobrane w aplikacji, ale nie masz narzędzia automatyzacji komputera. Tak więc w przypadku, gdy klikniesz link pobierania i pojawi się wyskakujące okno na pulpicie, aby zapytać, gdzie zapisać i/lub chcesz pobrać. Twoją następną trasą do ominięcia byłoby powstrzymanie tego pojawienia się. W jaki sposób? Zdolności Desire. I inne takie przykłady. Podsumowując, Selenium Server może wiele zrobić, wykorzystać pożądane funkcje, aby dostosować je do swoich potrzeb.
Platformy [Sauce Labs (link)] (https://saucelabs.com/docs/platforms) to dobry przykład. Po prawej stronie znajduje się ramka wskazująca DesiredCapabilities, której używasz z instancją RemoteWebDriver, aby zażądać RemoteWebServer z tą platformą/przeglądarką/os z usługi Sauce. –