1/29/2015

"Query" и другие помощники тестирования с помощью Calabash.




Фреймворк Calabash ( о нем я вкратце рассказывала ранее), как и ожидалось оказался очень удобным инструментом для тестирования мобильных приложений. Работая в связке с Cucumber он помогает писать понятные и полезные тесты. Единственной сложностью, с которой я столкнулась при тестировании IOS приложения, был поиск элементов, необходимых для выполнения шагов.
 Большим помощником в этой ситуации стал метод Calabash iOS Ruby API “query”. Этот метод позволяет при помощи консоли отобразить все элементы UI находящиеся на экране вашего приложения.


 Рассмотрим несколько примеров:

- Вы хотите увидеть все видимые элементы на экране приложения. Для этого в calabash ios console вводим запрос:

В итоге получаем:


  - Теперь перейдем к поиску какого-то конкретного элемента. К примеру, кнопки. Передаем через консоль запрос:


  На этот запрос консоль выведет нам все находящиеся на экране кнопки:



  Видим что на экране находится одна кнопка "Sign out".

  Теперь мы можем использовать эту кнопку в нашем шаге для выхода из приложения:


  Шаг Calabash будет выглядеть следующим образом:


Таким образом, запрос query помог нам найти кнопку "Sign out".

-  Рассмотрим вариант, при котором нам необходимо найти элемент с каким-то конкретным текстом. Передаем в консоль команду:

  Получаем:



  Элементов, подходящих под эту команду несколько. Сужаем запрос до поиска элемента имеющего надпись "ddd".



  Консоль находит нам нужный элемент:



  После нахождения нужного нам элемента, при помощи команды flash можно "подсветить" этот элемент на устройстве и проверить правильность его распознавания.


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

И его реализация:

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

Комментариев нет:

Отправить комментарий