Какой драйвер следует использовать для тестовых приложений? - PullRequest
0 голосов
/ 06 февраля 2019

Я недавно начал изучать 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/what-is-the-use-or-difference-between-androiddriver-iosdriver-appiumdriver-and-remote-webdriver/8750/2

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

WebDriver driver = new ChromeDriver();

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

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

Все это связано с наследованием класса .

WebDriver является родительским для AppiumDriver и является родительским для AndroidDriver.

Каждый дочерний элемент имеет все более и более конкретный кодчем его родитель, но также включает в себя весь код его родителя, поэтому в конечном итоге вы захотите собрать драйверы именно того типа, который вы хотите получить конкретный код, связанный с ними.

Если вы уверены, что работаете только на Android, базовый драйвер AndroidDriver будет наиболее лаконичным.Вы можете определить это один раз, и все будет готово.

Если вы собираетесь также работать с iOS, вам нужно, чтобы вашим базовым драйвером был AppiumDriver, чтобы вы могли создавать iOS или AndroidDrivers в более позднем коде.

Если вам, возможно, потребуется выполнить какую-либо работу в Интернете, вам нужно, чтобы вашим базовым драйвером был WebDriver, чтобы вы могли создавать драйверы для всех трех платформ.

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

0 голосов
/ 06 февраля 2019

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

var driver = new AndroidDriver<AndroidElement>(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);

Я использовал это в своих тестовых сценариях

...