Какой драйвер следует использовать для тестовых сценариев appium

Недавно я начал изучать 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/

https://discuss.appium.io/t/что такое-использование-или-разница-между-androiddriver-iosdriver-appiumdriver-and-remote-webdriver/8750/2

Если я создам драйвер в селене, я буду использовать следующий синтаксис, который является общепринятым методом, используемым при создании драйвера для тестовых сценариев.

WebDriver driver = new ChromeDriver();

Было бы здорово, если бы кто-нибудь мог объяснить, почему разные люди используют разные методы при создании драйверов в Appium и какой метод является лучшим для создания драйвера для сценариев автоматизации Android с использованием java.

3
0
718
2

Ответы 2

Это удобно, на мой взгляд, но все почти одно и то же, только изменение параметра

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, чтобы вы могли создавать драйверы для всех трех платформ.

На главном форуме Appium есть хорошее объяснение этому..

Другие вопросы по теме