Автоматизация Мобильных
      Приложений
       Андрей Дзыня




                      AUTOMATED-
                      TESTING.INFO
Пару слов о себе




            http://lifedriver.com.ua/

   http://www.qaskills.com.ua
                                AUTOMATED-
                                TESTING.INFO
Давайте знакомиться !




                    AUTOMATED-
                    TESTING.INFO
О чем расскажу и что покажу
• Почему я начал заниматься автоматизацией
  мобильных приложений?

• Какая специфика мобильного мира?

• Какие есть инструменты?

• Примеры автоматизации Native Android
  приложения

                                     AUTOMATED-
                                     TESTING.INFO
AUTOMATED-
TESTING.INFO
Платформы. Какие?
•   Android      •   Symbian
•   Windows      •   MeeGo – Limo
•   iOS          •   Bada OS
•   Blackberry   •   UIQ
                 •   Web OS




                                AUTOMATED-
                                TESTING.INFO
Основные все же




                  AUTOMATED-
                  TESTING.INFO
Но что еще?




              AUTOMATED-
              TESTING.INFO
AUTOMATED-
TESTING.INFO
Типы приложений?
Web

Native

Hybrid

OpenGL

Flash & Flex

Widgets

                   AUTOMATED-
                   TESTING.INFO
AUTOMATED-
TESTING.INFO
AUTOMATED-
TESTING.INFO
• Скорость

• Дизайн

• Возможности платформы

• Кроссплатформенность

                          AUTOMATED-
                          TESTING.INFO
AUTOMATED-
TESTING.INFO
Автоматизация

                UI

            API
        Integration
           Unit
                      AUTOMATED-
                      TESTING.INFO
Инструменты



Multiplatform
    tools

 Native tools      UI Automation

                  iPhone WebDriver,    Android WebDriver,
   Drivers       iPhone NativeDriver   Android NativeDriver

                          `
Record’n’play


                                                AUTOMATED-
                                                TESTING.INFO
Дорого и ненадежно




                     AUTOMATED-
                     TESTING.INFO
Просто ненадежно




                   AUTOMATED-
                   TESTING.INFO
UI Automation




                AUTOMATED-
                TESTING.INFO
AUTOMATED-
TESTING.INFO
Selenium - WebDriver




                       AUTOMATED-
                       TESTING.INFO
<BlaBlaBla> Driver


WebDriver driver = new AndroidDriver();

   AndroidNativeDriver driver = new
    AndroidNativeDriverBuilder();



                                  AUTOMATED-
                                  TESTING.INFO
Robotium


“It's like Selenium, but for Android™ ”



Почти, но не совсем!
                                AUTOMATED-
                                TESTING.INFO
Demo
       AUTOMATED-
       TESTING.INFO
Сегодня узнали
• Какие есть типы Mobile приложений

• Какие есть инструменты по
  автоматизации

• Автоматизировать Android – это как
  писать тесты на Selenium


                                  AUTOMATED-
                                  TESTING.INFO
me@adzynia.com


         http://adzynia.com


             @adzynia




26                            AUTOMATED-
                              TESTING.INFO

Mobile Automation

Editor's Notes

  • #7 Web OS - developed by Palm, which was later acquired by Hewlett-PackardUIQ – SonyEricBada OS – Samsung
  • #10 У кого из вас Андроид? И т.д.
  • #17 TestDroid – fail.Использует устаревшую версию Robotium. Чтобы правильно определяло активити надо изменить настройки и подключить JUnit4. До рабочих тестов, надо хорошо дорабатывать напильником. У меня ушло примерно 50% времени написания теста вручнуюFoneMonkey – fail. Не может даже на кнопку menu нажать. Проекту можно простить – 0.6.4 версия всегоExperitestSeeTest – capture driven framework. Для простенькой автоматизации сойдет, но для продуктов с богатым UI не подходит (покажу видео)M-eux – бьюсь с их суппортом, не могут выдать нормальный пакет инсталляции сервера лицензирования (неполный jar файл)Squish – продукт стоит 2400евро.Они не удосужились написать мануал по инсталляции для iOS – ссылаются на MacOSмануал, но он не подходит