Upload
-
View
487
Download
2
Embed Size (px)
Citation preview
Автоматизированное тестирование под Android
Mittova Yulia05/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
Спасибо за внимание!