Автоматизированное
тестирование под Android




                   Mittova Yulia
                   05/12/2013
Представление

          Миттова Юлия
          Александровна

          В IT с 2099 года.

          Сейчас в ООО "Единая
          служба", релиз-
          менеджер.
Почему для меня это
важно?
Какой инструмент
выбрать?
А что такое Robotium?

http://code.google.com/p/robotium/

Open-source test framework for Android
applications.
Официально поддерживает версии Android 1.6
и выше.
Сейчас поддерживается Renas Reda.
Robotium?

●   На нем уже было написано пару тестов.
●   Тесты можно запускать как на самом
    девайсе, так и на эмуляторе.
●   Малое API, легок в изучении.
●   На основе JUnit.
●   А еще он бесплатен =)
А подходит ли он вам?


●   Навыки программирования.
●   Robotium ограничен только вашим
    приложением.
●   Недоступен вызов "функций
    телефона".
●   Очень малое количество
    документации.
Что я получила в итоге?

●   Набор тестов на Robotium. Но скорее
    Smoke test, так как основная логика
    была именно во взаимодействии с
    другим приложением.
●   Часть функционала приходилось
    проверять вручную (например,
    «протыкивание» значков на карте и
    проверка взаимодействия).
Ну, давайте сделаем это!


    Готовим Robotium test!
Что для этого нужно?


● IDE (Eclipse)
● Свободный Android девайс и
  приложение, которое будем
  тестировать
● 20 минут свободного времени
Let’s go!

1. Качаем библиотеку Robotium.
2. Robotium_Solo_lib– библиотека
3. Robotium_Solo_javadoc - доки
4. Создаем тестовый проект в Eclipse.
5. Подключаем к нему библиотеку
   Robotium в Build Path.
6. Создаем пакет и класс в нем.
Robotium test example.


5. Подключаем наш девайс.
6. Запускаем тест. =)
Что, если вам нужно
больше?
Есть новый фреймворк от
самого Android’а.
http://developer.android.
com/tools/testing/testing_ui.html
А что там есть?

          ●   Доступ к сторонним
              приложениям
          ●   Возможность вызова
              таких функций
              телефона, как
              блокировка/разблоки-
              ровка и прочее
          ●   Конечно, он бесплатен
Неужели всё так здорово?


●   Поддержка устройств версий Android
    4.1 и эмулятора 4.2 и выше.
●   Требует навыков программирования.
●   Не так очевидно разворачивается на
    Windows.
●   Не так прост в использовании, как
    Robotium.
Let’s try it!


●   Для приготовления понадобится:
●   IDE;
●   Девайс или эмулятор с 4.1 и выше;
●   30 минут для линуксоида и
    примерно минут 45 для
    пользователей Windows.
UiAutomator test example.

1.   Ставим ant, если он у нас ещё не стоит.
2.   Апдейтим SDK до последней версии
3.   Далее находим uiautomatorviewer.bat у себя в SDK и
     запускаем его.
4.   Если у вас Windows, то скорее всего у вас появится
     ошибка «unable to connect to the adb. check if adb is
     installed correctly». Не пугаемся, есть решение:
     Решение_проблемы_в_Google_Plus
5.   Запускаем наш эмулятор и uiautomatorviwer.bat и
     смотрим, что он прекрасно видит все элементы
     нашего приложения))
UiAutomator test example.

6.   Создаем тестовый проект, в нем пакет и класс
     наподобие http://developer.android.
     com/tools/testing/testing_ui.html#sample .
7.   Если вы пользуетесь windows, то узнаем нужный
     таргет. Например, так:
     http://stackoverflow.com/questions/13397786/ui-testing-
     tool-android-from-adt21
UiAutomator test example.


8.   Собираем.

9.   Теперь можно и запустить)
Неплохо, да?)


Ну а что делать с приложениями, где
нет всяких EditTextView и прочих?
Например, с играми или
отображением транспорта на карте.
Sikuli!


●   Работает на основе скриншотов
●   Просто в освоении (Java or Jython)
●   Бесплатен
●   Работает на всем (Web, Mobile,
    Desktop)
Getting started!


Есть классное видео:
http://software-testing.
ru/library/testing/general-testing/1750-
sikuli-
А также IDE!
И все так просто и клёво?

●   Сильно завязан на разрешении,
    поэтому для тестирования на разных
    девайсах, скорее всего, понадобятся
    разные наборы скриншотов (есть %
    соотношения)
●   Трудности в получением результатов
    работы.
●   Уменьшение скорости выполнения
    сценария
Как понять, что мне
        подходит?
               Какое у вас приложение? Можете ли вы
                 распознавать элементы как View?

                   YES                      NO

   Ваши тесты проверяют                               SIKULI
        только ваше
    приложения? Они по
     большей части не
         проверяют
     взаимодействие с
          другими?

  YES              NO

ROBOTIUM         UIAUTOMATOR
Спасибо за
внимание!

2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android

  • 1.
  • 2.
    Представление Миттова Юлия Александровна В IT с 2099 года. Сейчас в ООО "Единая служба", релиз- менеджер.
  • 3.
    Почему для меняэто важно?
  • 4.
  • 5.
    А что такоеRobotium? http://code.google.com/p/robotium/ Open-source test framework for Android applications. Официально поддерживает версии Android 1.6 и выше. Сейчас поддерживается Renas Reda.
  • 6.
    Robotium? ● На нем уже было написано пару тестов. ● Тесты можно запускать как на самом девайсе, так и на эмуляторе. ● Малое API, легок в изучении. ● На основе JUnit. ● А еще он бесплатен =)
  • 7.
    А подходит лион вам? ● Навыки программирования. ● Robotium ограничен только вашим приложением. ● Недоступен вызов "функций телефона". ● Очень малое количество документации.
  • 8.
    Что я получилав итоге? ● Набор тестов на Robotium. Но скорее Smoke test, так как основная логика была именно во взаимодействии с другим приложением. ● Часть функционала приходилось проверять вручную (например, «протыкивание» значков на карте и проверка взаимодействия).
  • 9.
    Ну, давайте сделаемэто! Готовим Robotium test!
  • 10.
    Что для этогонужно? ● IDE (Eclipse) ● Свободный Android девайс и приложение, которое будем тестировать ● 20 минут свободного времени
  • 11.
    Let’s go! 1. Качаембиблиотеку Robotium. 2. Robotium_Solo_lib– библиотека 3. Robotium_Solo_javadoc - доки 4. Создаем тестовый проект в Eclipse. 5. Подключаем к нему библиотеку Robotium в Build Path. 6. Создаем пакет и класс в нем.
  • 13.
    Robotium test example. 5.Подключаем наш девайс. 6. Запускаем тест. =)
  • 14.
    Что, если вамнужно больше?
  • 15.
    Есть новый фреймворкот самого Android’а. http://developer.android. com/tools/testing/testing_ui.html
  • 16.
    А что таместь? ● Доступ к сторонним приложениям ● Возможность вызова таких функций телефона, как блокировка/разблоки- ровка и прочее ● Конечно, он бесплатен
  • 17.
    Неужели всё такздорово? ● Поддержка устройств версий Android 4.1 и эмулятора 4.2 и выше. ● Требует навыков программирования. ● Не так очевидно разворачивается на Windows. ● Не так прост в использовании, как Robotium.
  • 18.
    Let’s try it! ● Для приготовления понадобится: ● IDE; ● Девайс или эмулятор с 4.1 и выше; ● 30 минут для линуксоида и примерно минут 45 для пользователей Windows.
  • 19.
    UiAutomator test example. 1. Ставим ant, если он у нас ещё не стоит. 2. Апдейтим SDK до последней версии 3. Далее находим uiautomatorviewer.bat у себя в SDK и запускаем его. 4. Если у вас Windows, то скорее всего у вас появится ошибка «unable to connect to the adb. check if adb is installed correctly». Не пугаемся, есть решение: Решение_проблемы_в_Google_Plus 5. Запускаем наш эмулятор и uiautomatorviwer.bat и смотрим, что он прекрасно видит все элементы нашего приложения))
  • 20.
    UiAutomator test example. 6. Создаем тестовый проект, в нем пакет и класс наподобие http://developer.android. com/tools/testing/testing_ui.html#sample . 7. Если вы пользуетесь windows, то узнаем нужный таргет. Например, так: http://stackoverflow.com/questions/13397786/ui-testing- tool-android-from-adt21
  • 21.
    UiAutomator test example. 8. Собираем. 9. Теперь можно и запустить)
  • 22.
    Неплохо, да?) Ну ачто делать с приложениями, где нет всяких EditTextView и прочих? Например, с играми или отображением транспорта на карте.
  • 23.
    Sikuli! ● Работает на основе скриншотов ● Просто в освоении (Java or Jython) ● Бесплатен ● Работает на всем (Web, Mobile, Desktop)
  • 24.
    Getting started! Есть классноевидео: http://software-testing. ru/library/testing/general-testing/1750- sikuli-
  • 25.
  • 26.
    И все такпросто и клёво? ● Сильно завязан на разрешении, поэтому для тестирования на разных девайсах, скорее всего, понадобятся разные наборы скриншотов (есть % соотношения) ● Трудности в получением результатов работы. ● Уменьшение скорости выполнения сценария
  • 27.
    Как понять, чтомне подходит? Какое у вас приложение? Можете ли вы распознавать элементы как View? YES NO Ваши тесты проверяют SIKULI только ваше приложения? Они по большей части не проверяют взаимодействие с другими? YES NO ROBOTIUM UIAUTOMATOR
  • 28.