Недавно я начал изучать appium и создал несколько базовых тестов для запуска приложения. Я заметил, что разные люди использовали разные методы для создания драйвера. Я попытался использовать 3 метода, которые я выбрал, которые я упомянул ниже, и все 3 метода работают. Я действительно запутался в том, какой метод я должен использовать, когда буду писать тестовые сценарии в будущем, и есть ли какой-либо другой метод для создания драйвера.
Способ 1
AppiumDriver<MobileElement> driver = new AndroidDriver<MobileElement>(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);
Способ 2
WebDriver driver = new RemoteWebDriver(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);
Способ 3
AndroidDriver<AndroidElement> driver = new AndroidDriver<AndroidElement>(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);
вот некоторые из руководств, которые я использовал для создания тестовых сценариев и описания различных типов доступных драйверов.
http://www.automationtestinghub.com/first-appium-test-script/
Если я создам драйвер в селене, я буду использовать следующий синтаксис, который является общепринятым методом, используемым при создании драйвера для тестовых сценариев.
WebDriver driver = new ChromeDriver();
Было бы здорово, если бы кто-нибудь мог объяснить, почему разные люди используют разные методы при создании драйверов в Appium и какой метод является лучшим для создания драйвера для сценариев автоматизации Android с использованием java.
Это удобно, на мой взгляд, но все почти одно и то же, только изменение параметра
var driver = new AndroidDriver<AndroidElement>(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);
Я использовал это в своих тестовых сценариях
Все это связано с наследование классов.
WebDriver является родителем AppiumDriver и является родителем AndroidDriver.
Каждый потомок имеет все более и более специфический код, чем его родитель, но также включает в себя весь код своего родителя, поэтому в конечном итоге вы захотите создать драйверы точного типа, который вы хотите получить, связанный с ними конкретный код.
Если вы уверены, что работаете только с Android, базовый драйвер AndroidDriver будет наиболее кратким. Вы можете определить это один раз, и все готово.
Если вы также собираетесь работать с iOS, вам нужно, чтобы ваш базовый драйвер был AppiumDriver, чтобы вы могли создавать iOS или AndroidDrivers в более позднем коде.
Если вам может понадобиться выполнить какую-либо веб-работу, вы захотите, чтобы ваш базовый драйвер был WebDriver, чтобы вы могли создавать драйверы для всех трех платформ.