Size: a a a

Мобильное тестирование с Appium

2019 July 12

PA

Paul Argunov in Мобильное тестирование с Appium
О, будет супер !:)
Тогда в понедельник спишемся, спасибо
источник

AG

Alina Gulakova in Мобильное тестирование с Appium
Ок, напомните только
источник

PA

Paul Argunov in Мобильное тестирование с Appium
Договорились
источник

AA

Anna Arkhipchuk in Мобильное тестирование с Appium
У меня подобный экран есть.я в цикле получаю список элементов, которые есть в таблице на экране, проверяю соответствие заголовков в них по тексту и если нет - свайплю от первого к последнему элементу по их координатам.
источник

AD

Aleksandr Dolinskiy in Мобильное тестирование с Appium
У нас тоже такой есть, с постоянной подгрузкой по свайпу
источник

AD

Aleksandr Dolinskiy in Мобильное тестирование с Appium
Во мы напились с ним
источник

AA

Anna Arkhipchuk in Мобильное тестирование с Appium
Кто-то может подсказать где читать-смотреть как норм организовать pipeline в дженкинсе для запуска мавеновского проекта с аппиумом и testng? Новичок в этом
источник
2019 July 15

AG

Alina Gulakova in Мобильное тестирование с Appium
Paul Argunov
Договорились
When(/^Делаем свайп вниз до элемента с текстом "([^"]*)"$/) do |text|
 count = 0
 until exist_element?(xpath: "//android.widget.TextView[@text='#{text}']") do
 Appium::TouchAction.new.swipe(start_x: 0.5, start_y: 0.6, end_x: 0.5, end_y: 0.4, duration: 500).perform
 count +=1
 break if count > 30
 end
end
источник

AG

Alina Gulakova in Мобильное тестирование с Appium
Изначально был простецкий шаг вот такого вида.
источник

AG

Alina Gulakova in Мобильное тестирование с Appium
Он в целом рабочий
источник

AG

Alina Gulakova in Мобильное тестирование с Appium
When(/^Делаем свайп вниз до элемента с текстом "([^"]*)"$/) do |text|
 current_screen = $driver.get_source
 previous_screen = ""
 flag = false

 until (current_screen == previous_screen) or flag do
 elements = find_elements(id: "ид элемента")
 puts "Взяли список"

 elements.each do |element|
 puts "Смотрим элемент #{element.text}"
 if element.text == text
 puts "Нашли текст."
 flag = true
 break
 end
 end

 if !flag
 puts "Нет на экране. Делаем свайп."
 Appium::TouchAction.new.swipe(start_x: 0.5, start_y: 0.6, end_x: 0.5, end_y: 0.4, duration: 500).perform
 previous_screen = current_screen
 current_screen = $driver.get_source
 end
 end
end
источник

AG

Alina Gulakova in Мобильное тестирование с Appium
А потом я его немного доработала
источник

AG

Alina Gulakova in Мобильное тестирование с Appium
И текст теперь берется как атрибут элемента. Так вроде получше.
источник

AG

Alina Gulakova in Мобильное тестирование с Appium
Так что если у элементов есть ид, то можно использовать второй вариант. Если нет, то первый
источник

AS

Alexey Sleptsov in Мобильное тестирование с Appium
Ребят, всем привет. Помогите, плиз советом.

1. Комп у меня с трудом тянет эмулятор, а тем более два. Поэтому запускаю эмуляторы на физических устройствах и транслирую экраны с них бесплатной программкой scrcpy
https://github.com/Genymobile/scrcpy

2. Трансляция нужна мне в первую очередь для того, чтобы мой экран видел коллега, который помогает мне с автотестами по скайпу, когда я шарю ему экран.

3. Чтобы находить локаторы, использую uiautomatorviewer. Но он часто (почти всегда) при захвате снимка с устройства, даёт ошибку "Error obtaining UI hierarchy". Справиться с этой ошибкой помогает перезапуск adb-сервера:
adb kill-server
adb start-server

4. Но после того, как я убиваю adb-сервер, у меня вырубаются оба сеанса scrcpy, которые работают через adb. Поэтому приходится перезапускать их снова.

Собственно, вопрос в том - как упростить процесс? Сейчас подумал попробовать вместо uiatomatorviewer использовать appium inspector - может быть он будет без ошибки работать и не потребуется постоянно перезапускать adb-сервер.
источник

ЖК

Жека Киеу in Мобильное тестирование с Appium
попробуй - у меня таких ошибок не было
источник

NK

Nickolay Koryagin in Мобильное тестирование с Appium
по идее после стопа/старта адб , сессию инспектора нужно будет запускать заново
источник

ЖК

Жека Киеу in Мобильное тестирование с Appium
он это делал в первую очередь изза ошибки в uiautomatorviewer
источник

セルゲイ in Мобильное тестирование с Appium
Alexey Sleptsov
Ребят, всем привет. Помогите, плиз советом.

1. Комп у меня с трудом тянет эмулятор, а тем более два. Поэтому запускаю эмуляторы на физических устройствах и транслирую экраны с них бесплатной программкой scrcpy
https://github.com/Genymobile/scrcpy

2. Трансляция нужна мне в первую очередь для того, чтобы мой экран видел коллега, который помогает мне с автотестами по скайпу, когда я шарю ему экран.

3. Чтобы находить локаторы, использую uiautomatorviewer. Но он часто (почти всегда) при захвате снимка с устройства, даёт ошибку "Error obtaining UI hierarchy". Справиться с этой ошибкой помогает перезапуск adb-сервера:
adb kill-server
adb start-server

4. Но после того, как я убиваю adb-сервер, у меня вырубаются оба сеанса scrcpy, которые работают через adb. Поэтому приходится перезапускать их снова.

Собственно, вопрос в том - как упростить процесс? Сейчас подумал попробовать вместо uiatomatorviewer использовать appium inspector - может быть он будет без ошибки работать и не потребуется постоянно перезапускать adb-сервер.
У меня такая ошибка была когда элементы были динамические на экране приложения, но аппиумоский инспектор без проблем их хавал,такой ошибки не выдавал
источник

AS

Alexey Sleptsov in Мобильное тестирование с Appium
セルゲイ
У меня такая ошибка была когда элементы были динамические на экране приложения, но аппиумоский инспектор без проблем их хавал,такой ошибки не выдавал
Да, я тоже читал, что uiautomatorviewer ругается, когда на экране динамические элементы. Но в нашем приложении ничего на экране не двигается, непонятно что ему не нравится. Ок, спасибо, попробую аппиумовский инспектор.
источник