Appium: как проверить имя устройства, используя тестовые примеры автоматизации в java

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

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
5
0
1 880
4

Ответы 4

При настройке возможностей appium вы также должны указать имя устройства. Вы можете использовать тот же

Спасибо за ваше предложение. На самом деле я знаю, как получить имя устройства, используя возможности. Меня беспокоит, когда я подключаю свое устройство к Appium. Мне нужно проверить, какое устройство подключено прямо сейчас. Потому что я хочу запускать разные тестовые случаи для разных устройств. Можете ли вы помочь в этом?

Kirti Parghi 17.01.2019 19:07

где вы запускаете эти автоматические тесты? На облачных платформах, таких как лаборатории соусов, или в вашей локальной системе?

Shrirang 18.01.2019 06:00

Попробуйте детали сеанса, чтобы получить подключенное устройство name или udid

 String connectedDeviceName = driver.getSessionDetail("deviceName").toString();
 String connectedDeviceUdid = driver.getSessionDetail("deviceUDID").toString();

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

Kirti Parghi 17.01.2019 22:03

Что вы можете сделать, так это использовать несколько устройств для запуска тестов автоматизации, таким образом, вы можете дать определенный udid устройства определенному классу, содержащему ваши тестовые наборы, и эти тестовые наборы будут выполняться только на этом устройстве.

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

Вы можете использовать любой из следующих методов, чтобы получить устройство ты делал. Все следующие методы дадут тот же результат.

driver.getSessionDetail("deviceName");
driver.getSessionDetail("udid");
driver.getSessionDetail("deviceUDID");
driver.getCapabilities().getCapability("deviceName");
driver.getCapabilities().getCapability("udid");
driver.getCapabilities().getCapability("deviceUDID");

You can use device udid instead of device name

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