Всем привет, я новичек в автоматизированном тестировании, уже обращался за помощью здесь во время сэтапа аппиума, первые проблемы решены, но вопросов становится все больше. Я тестирую приложение на ios+android, для это была выбрана связка appium+ruby. Никаких доп. либ и фреймворков пока что не использую.
Собственно вопросы :
При работе с инспектором в андроид приложении для того чтобы дойти до нужного мне элемнта и выдрать его xpath нужно пройти 9-10 слоев, что-то вроде этого //android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.ScrollView[1]/android.widget.RelativeLayout[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[1]/android.widget.EditText[2]
На ios путь выглядит намного компактней и проходится намного быстрее( если использовать рекордер и что-то посылать или тапать элемент)
Какие есть варианты других вьюверов для более быстрого “выдирания” xpath ? Может стоит пробовать искать элементы по ID?
Чем лучше всего запускать тесты локально? Как их дебажить если я запускаю их из команд лайна? (использую мак) Сейчас у меня если тесту не удалось найти элемент или он не смог сделать какое-то действие, он останавливается в симуляторе на этом месте и все. Помню когда чуть чуть смотрел селениум +ява+тест нг там были эксепшены и логи
Какие фреймворки посоветуете для новичка?
Возможно ли юзать один и тот же код для тестирования андроид и иос билда ? Если да, то каким образом?
Возможно ли увеличить скорость прохода тестов ( крайне медленно печатает инпуты по дефолту?
Если у кого-то есть возможность проконсультировать по скайп буду очень признателен.
Сразу разочарую XPath в iOS работает в 4 раза медленнее чем в Android.
Если хочешь укоротить XPath в Android, отталкивайся от ближайшего resource-id в дереве, примерно так:
Из опыта — для разработки, запуска и отладки удобен RubyMine.
Из командной строки отладить способов не знаю. Как вариант, можно выполнить код в ruby_console, там же “поиграться” с ним.
Первое и основное — это официальный gem ruby_lib и документация по нему. Для тестирования и проверок используются RSpec, MiniTest, Test::Unit или Cucumber. Для каждого есть встроенные и кастомные репортеры (тут нужно гуглить).
Да. Из основных подходов — либо разделение на уровне локаторов отдельных элементов (каждый локатор — хэш), либо разные PageObjects для каждой платформы (при этом методы и названия элементов должны быть одинаковы).
Не использовать XPath-локаторы для iOS. uiautomation и accessibility работают быстрее.
Ап.
Привет пацантрэ. Столкнулся с проблемами в Аппиуме может кто подскажет(IOS 9.3):
Краш при запуске. Первый раз всегда крашится эмулятор.
Не видит изменений в Subview, Popup т.е. раз загрузил элементы и больше Аппиум ничего не отслеживает на определенной вьюхе.
Всем спасибо за ваше время!Конфигурация:
[caps]
platformName = “ios”
deviceName = “iPad Air”
platformVersion = “9.3”
app = “.appName”
[appium_lib]
sauce_username = false
sauce_access_key = false
Xcode 7.3, Cucumber, Ruby, Appium 1.5.2
logs for crash on startup:
[debug] [Instruments] Instruments exited with code 0
[debug] [iOSLog] Stopping iOS log capture
[debug] [iOS] Running ios sim reset flow
[debug] [iOS] Killing the simulator
[debug] [iOSSim] Killing all iOS Simulators