Size: a a a

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

2020 April 17

IZ

Ivan Zelinskyj in Мобильное тестирование с Appium
Mike
Можно, пожалуйста, скрин из аппиум инспектора с этим элементом?
у тебя календарь 5 на 3 в окне, у меня  3 на 3
источник

M

Mytrofun in Мобильное тестирование с Appium
что за инспектор такой классный?
источник

V

Vika_JuniorQA in Мобильное тестирование с Appium
Appium Inspector
источник

M

Mike in Мобильное тестирование с Appium
Пока что как я вижу: нет смысла тут вязаться к элементам.
По крайней мере, требование выставить ровно 11 сентября 2001 было бы странным, пойдет любая валидная дата, типа 18+ и т.д.

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

Значит можно немного наговнокодить в качестве исключения и сделать свайпы по координатам без привязки, подогнав дату  экспериментальным путем.
Логично крутить только год.
Соответственно гоним это под условный фулл ашди экран и чекаем только в одном прогоне.
Вообще должно взлетать и на популярном 21:9, просто клиент будет помоложе.
Поскольку мы привязываемся относительно имеющихся пикселей по идее должно работать везде. Но информация неточная, выше пример.

public void swipeUp(int timeOfSwipeMs) {
       TouchAction action = new TouchAction((PerformsTouchActions) getWebDriver());
       Dimension size = getWebDriver().manage().window().getSize();
       int x = size.width / 2;
       int start_y = (int) (size.height * 0.8);
       int end_y = (int) (size.height * 0.2);


       action
               .press(point(x, start_y))
               .waitAction(WaitOptions.waitOptions(Duration.of(timeOfSwipeMs, MILLIS)))
               .moveTo(point(x, end_y))
               .release()
               .perform();
   }

   public void swipeUpQuick() {
       swipeUp(2000);
   }
источник

M

Mytrofun in Мобильное тестирование с Appium
Vika_JuniorQA
Appium Inspector
классный! Тожа такой хочу! Где взять?
источник

M

Mike in Мобильное тестирование с Appium
Mytrofun
классный! Тожа такой хочу! Где взять?
На сайте аппиума
источник

M

Mike in Мобильное тестирование с Appium
Mike
Пока что как я вижу: нет смысла тут вязаться к элементам.
По крайней мере, требование выставить ровно 11 сентября 2001 было бы странным, пойдет любая валидная дата, типа 18+ и т.д.

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

Значит можно немного наговнокодить в качестве исключения и сделать свайпы по координатам без привязки, подогнав дату  экспериментальным путем.
Логично крутить только год.
Соответственно гоним это под условный фулл ашди экран и чекаем только в одном прогоне.
Вообще должно взлетать и на популярном 21:9, просто клиент будет помоложе.
Поскольку мы привязываемся относительно имеющихся пикселей по идее должно работать везде. Но информация неточная, выше пример.

public void swipeUp(int timeOfSwipeMs) {
       TouchAction action = new TouchAction((PerformsTouchActions) getWebDriver());
       Dimension size = getWebDriver().manage().window().getSize();
       int x = size.width / 2;
       int start_y = (int) (size.height * 0.8);
       int end_y = (int) (size.height * 0.2);


       action
               .press(point(x, start_y))
               .waitAction(WaitOptions.waitOptions(Duration.of(timeOfSwipeMs, MILLIS)))
               .moveTo(point(x, end_y))
               .release()
               .perform();
   }

   public void swipeUpQuick() {
       swipeUp(2000);
   }
Вот это все вынести в пейджи, назвать класс типа MainPageObject, если такого нет. Если уже есть свалка полезных методов- туда сунуть
источник

M

Mytrofun in Мобильное тестирование с Appium
Mike
На сайте аппиума
благодарю
источник

IZ

Ivan Zelinskyj in Мобильное тестирование с Appium
Vika_JuniorQA
Appium Inspector
у меня UI Automator Viewer
источник

M

Mytrofun in Мобильное тестирование с Appium
Mytrofun
Други подскажите такую штуку! Подключил трубку через appium. Но при поиске по xpath нельзя указать номер совпадения. А элементы одинаковые. Может это зависеть от версии андроид? (у меня 4.4) Или вообще в appium нельзя впринципе указать номер совпадения при поиске по byxpath?
а по этой штуке не подскажешь? @samesmile
источник

M

Mytrofun in Мобильное тестирование с Appium
зенкой работаю
источник

V

Vika_JuniorQA in Мобильное тестирование с Appium
@samesmile  Спасибо,буду пробовать
источник

M

Mytrofun in Мобильное тестирование с Appium
в браузере привык по xpath искать, но там есть номер совпадения
источник

M

Mike in Мобильное тестирование с Appium
Vika_JuniorQA
@samesmile  Спасибо,буду пробовать
Если не получится - отпиши плз реплаем, чтобы была подсветка и я потом увидел. Спасибо.
источник

M

Mike in Мобильное тестирование с Appium
Mytrofun
а по этой штуке не подскажешь? @samesmile
Скрин тоже нужен, в идеале с инспектора.
источник

V

Vika_JuniorQA in Мобильное тестирование с Appium
@samesmile Хорошо
источник

M

Mike in Мобильное тестирование с Appium
Mytrofun
Други подскажите такую штуку! Подключил трубку через appium. Но при поиске по xpath нельзя указать номер совпадения. А элементы одинаковые. Может это зависеть от версии андроид? (у меня 4.4) Или вообще в appium нельзя впринципе указать номер совпадения при поиске по byxpath?
Номер совпадения это что, очередной androidView.WebView[45] ?
Они по идее сами нумеруются в инспекторе. В общем без него не разобраться.
Я с реальными девайсами почти не работал, если вдруг инспектор с ним не заведется - предлагаю начать с эмулятора, его как минимум проще подружить. Выполнится тест на эмуляторе - вероятно и на реальном все получится.
источник

M

Mytrofun in Мобильное тестирование с Appium
Mike
Скрин тоже нужен, в идеале с инспектора.
Постараемся сделать. С Иваном @zimri4 инсту мучаем. Там тож карусель при реге. Пока что вышибло Ивана с апиума ))
источник

V

Vika_JuniorQA in Мобильное тестирование с Appium
Mike
Пока что как я вижу: нет смысла тут вязаться к элементам.
По крайней мере, требование выставить ровно 11 сентября 2001 было бы странным, пойдет любая валидная дата, типа 18+ и т.д.

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

Значит можно немного наговнокодить в качестве исключения и сделать свайпы по координатам без привязки, подогнав дату  экспериментальным путем.
Логично крутить только год.
Соответственно гоним это под условный фулл ашди экран и чекаем только в одном прогоне.
Вообще должно взлетать и на популярном 21:9, просто клиент будет помоложе.
Поскольку мы привязываемся относительно имеющихся пикселей по идее должно работать везде. Но информация неточная, выше пример.

public void swipeUp(int timeOfSwipeMs) {
       TouchAction action = new TouchAction((PerformsTouchActions) getWebDriver());
       Dimension size = getWebDriver().manage().window().getSize();
       int x = size.width / 2;
       int start_y = (int) (size.height * 0.8);
       int end_y = (int) (size.height * 0.2);


       action
               .press(point(x, start_y))
               .waitAction(WaitOptions.waitOptions(Duration.of(timeOfSwipeMs, MILLIS)))
               .moveTo(point(x, end_y))
               .release()
               .perform();
   }

   public void swipeUpQuick() {
       swipeUp(2000);
   }
Нет,  все таки не так. Календарь появляется после нажатия на поле "Дата Рождения" ,тоесть нужно крутить три крутилки: число , месяц, год
источник

M

Mike in Мобильное тестирование с Appium
Mytrofun
Постараемся сделать. С Иваном @zimri4 инсту мучаем. Там тож карусель при реге. Пока что вышибло Ивана с апиума ))
Если есть apk - пришли плз в лс, попробую в течение пары дней.
источник