FroglogicМастер класс          Squish(начального уровня)Беляевский Андрей
Благодарности Align  Technology RDITG Moscow Start Innovation
Что такое Squish   http://www.froglogic.com/squish/gui-    testing/index.php   Кросс-платформенный инструмент    автотес...
Поддерживаемы платформы Windows Mac     OS X Linux Unix iOS    (iPhone, iPad, iPod) Meego embedded Linux
Варианты Squish Qt  : Включая QML, Qt Quick Java : Swing/AWT/SWT/RCP, JNLP, GEF Web : IE (6.x - 9.x), FF (1.x - 4.x), S...
Языки Squish Python  •     Python 2.x (2.4+) JavaScript Tcl Perl Ruby  •     Добавился недавно
Что нам интересно в Squish Мультиплатформенность        Но   демка на Windows 7 Отличная     поддержка Qt     включая ...
Как устроен Squish   Согласно, документации для проведения    тестирования нужны две вещи:    •   Тестируемое приложение ...
Как устроен Squish Изолированные        процессы теста и приложения позволяют:  •   избежать падения Squish при падении п...
Как устроен Squish Лучше   официальной документации не скажу…
Как устроен Squish squishserver  •   запускает приложение  •   инициирует работу библиотеки squishhook  •   посредством s...
Как определить тип компилятора1.   Качаем отсюда Strings утилиту от бывших     Sysinternals2.   Делаем так
Как определить тип компилятора3.   Смотрим полученный файл
Как определить тип компилятора4.   Выбираем соответствующий дистрибутив на     портале Froglogic
Установка (базовая)1.   Выбираем дистрибутив      Версии компиляторов собравших Squish и       приложение должны совпадат...
Установка расширенная Squishможно установить в виде плагина к Eclipse Интерпретатор языка программирования также  можно ...
Установка для запусков тестов Для    запусков тестов (в batch режиме) нужен сокращенный набор файлов  •   bin*.*  •   lib...
Шаг 1:Qt+Windows Запись теста    Возьмем Squish и запишем рекордером     простой тест для Qt Creator на Windows     •   Ч...
Шаг 1:Qt+Windows Структура кейза init()      – выполняет код до запуска приложения main() – обязательная функция в каждо...
Шаг 1:Qt+Windows Структура теста Формат       файлов Squish – текстовый suite_test     shared – общие ресурсы        t...
Шаг 1:Qt+Windows Структура теста Структура   нашего простого примера
Шаг 2:Qt+Windows Результаты Результаты      можно получить в виде  •   xml2.1  •   xmljunit  •   xml2  •   xml  •   xls  ...
Шаг 3:Qt+Windows Event Handlers Используются             для обработки событий определенного типа (например, появление ок...
Шаг 3:Qt+Windows Event Handlers События  •   любое стандартное Qt событие  •   или из списка       o   Crash       o   Di...
Шаг 4:Qt+Windows Keyword DD Считываем  их входного файла имена функций  для выполнения и их параметры тест    source(fin...
Шаг 4:Qt+Windows Keyword DD   драйвер      source(findFile("scripts", "actions.py"))      def drive(datafile):      for r...
Шаг 5: Qt+Windows attach to run Можноподключаться к уже работающему приложению с помощью attachToApplication()    Исполь...
Шаг 5: Qt+Windows attach to run Можноподключаться к уже работающему Приложение должно быть зарегистрировано  •   squishse...
По секретуБлижайшие планы развития1. Squish для Android2. Более тесная Squish <-> Squish Coco интеграция3. Поддержка распо...
Это не «спонсорский доклад», но все же …Скидка 10%1. Промокод MCSRU122. Запишитесь у меня или заполните опрос в   блоге о ...
Каждый должен расти над собой Хотите  узнать про Squish+iOS? Интересна тема Squish on Linux/Mac OS – пишите  – сделаю св...
Мои контакты abelyaevsky@gmail.com Skype: andrey.belyaevsky ICQ: 348-925-702 Блог АвтоТестировщика Vkontakte Мой Кру...
Спасибо!!!Тестеры,тестировать –круто!
Upcoming SlideShare
Loading in …5
×

Froglogic Squish

1,335 views
1,163 views

Published on

SQA Days-11. День 1. Секция B
Андрей Беляевский

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,335
On SlideShare
0
From Embeds
0
Number of Embeds
96
Actions
Shares
0
Downloads
18
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Froglogic Squish

  1. 1. FroglogicМастер класс Squish(начального уровня)Беляевский Андрей
  2. 2. Благодарности Align Technology RDITG Moscow Start Innovation
  3. 3. Что такое Squish http://www.froglogic.com/squish/gui- testing/index.php Кросс-платформенный инструмент автотестирования GUI Изначально создан для тестирования Qt приложений Используется более 1100 компаниями Команда разработчиков возглавляется бывшими разработчиками Qt
  4. 4. Поддерживаемы платформы Windows Mac OS X Linux Unix iOS (iPhone, iPad, iPod) Meego embedded Linux
  5. 5. Варианты Squish Qt : Включая QML, Qt Quick Java : Swing/AWT/SWT/RCP, JNLP, GEF Web : IE (6.x - 9.x), FF (1.x - 4.x), Safari, Chrome, Opera Windows : .NET/.NET WPF/MFC/Sybase/Exontrol/Plex Mac : Cocoa, Carbon iPhone : both device and simulator, CocoaTouch Tcl/Tk 4js : Four J’s Genero GUI
  6. 6. Языки Squish Python • Python 2.x (2.4+) JavaScript Tcl Perl Ruby • Добавился недавно
  7. 7. Что нам интересно в Squish Мультиплатформенность  Но демка на Windows 7 Отличная поддержка Qt  включая QML Python  Можно на нем построить гетерогенную инфраструктуру автотестов Легкость в освоении и работе  важно для команд-новичков в автотестировании
  8. 8. Как устроен Squish Согласно, документации для проведения тестирования нужны две вещи: • Тестируемое приложение • Скрипт тестирования Тестируемое приложение и тестовый скрипт (запускаемый Squish) – всегда изолированные процессы
  9. 9. Как устроен Squish Изолированные процессы теста и приложения позволяют: • избежать падения Squish при падении приложения • организовать удаленный запуск тестов • в том числе на мобильных устройствах • распределенный запуск тестов
  10. 10. Как устроен Squish Лучше официальной документации не скажу…
  11. 11. Как устроен Squish squishserver • запускает приложение • инициирует работу библиотеки squishhook • посредством squishhook опрашивает объекты о состоянии и выполняет команды от squishrunner на них squishrunner • выполняет тестовый скрипт, коммуницируя через сокеты с squishserver squishhook • открывает доступ к объектам
  12. 12. Как определить тип компилятора1. Качаем отсюда Strings утилиту от бывших Sysinternals2. Делаем так
  13. 13. Как определить тип компилятора3. Смотрим полученный файл
  14. 14. Как определить тип компилятора4. Выбираем соответствующий дистрибутив на портале Froglogic
  15. 15. Установка (базовая)1. Выбираем дистрибутив  Версии компиляторов собравших Squish и приложение должны совпадать  Версии Qt, с которыми собраны приложение и Squish должны совпадать2. Если шаг 1 не выполнен – собираем Squish из исходников  Не сложно, но нужно быть аккуратным3. Проходим 7 простых установочных шагов  точно указать Qt Core, используемый приложением4. Видео примера простой установки
  16. 16. Установка расширенная Squishможно установить в виде плагина к Eclipse Интерпретатор языка программирования также можно использовать отличный от того, что идет в сборке Squish Но в данной демонстрации всего этого не будет
  17. 17. Установка для запусков тестов Для запусков тестов (в batch режиме) нужен сокращенный набор файлов • bin*.* • lib*.* • etcpaths.ini • etcsquish.ini • etc*wrapper_descriptors.xml
  18. 18. Шаг 1:Qt+Windows Запись теста  Возьмем Squish и запишем рекордером простой тест для Qt Creator на Windows • Что нажимать чтобы записать самый простой тест  Немного причешим и локально запустим.  Проверим что все работает.
  19. 19. Шаг 1:Qt+Windows Структура кейза init() – выполняет код до запуска приложения main() – обязательная функция в каждом тест- кейзе cleanup() – код, выполняющийся в любом случае после main() – удобен, если потенциально могут появиться неперехваченные исключения
  20. 20. Шаг 1:Qt+Windows Структура теста Формат файлов Squish – текстовый suite_test  shared – общие ресурсы  testdata  scripts  tst_case1 • test.py – код тест-кейза  …  tst_casen – тут могут быть внутренние ресурсы • object.map – репозиторий объектов • suite.conf – файл конфигураций
  21. 21. Шаг 1:Qt+Windows Структура теста Структура нашего простого примера
  22. 22. Шаг 2:Qt+Windows Результаты Результаты можно получить в виде • xml2.1 • xmljunit • xml2 • xml • xls • html • python squishxml2html.py --dir html –i *.xmlА можем писать в БД
  23. 23. Шаг 3:Qt+Windows Event Handlers Используются для обработки событий определенного типа (например, появление окон ошибок) • installEventHandler(eventName, handlerFunctionName) • installEventHandler(className, eventName, handlerFunctionName) • installEventHandler(object, eventName, handlerFunctionName)
  24. 24. Шаг 3:Qt+Windows Event Handlers События • любое стандартное Qt событие • или из списка o Crash o DialogOpened o MainWindowOpened o MessageBoxOpened o Timeout o ToplevelWidgetOpened
  25. 25. Шаг 4:Qt+Windows Keyword DD Считываем их входного файла имена функций для выполнения и их параметры тест source(findFile("scripts", "driver.py")) def main(): drive("keywords.tsv")
  26. 26. Шаг 4:Qt+Windows Keyword DD драйвер source(findFile("scripts", "actions.py")) def drive(datafile): for row, record in enumerate(testData.dataset(datafile)): command = testData.field(record, "Keyword") + "(" comma = "" for i in range(1, 5): arg = testData.field(record, "Argument %d" % i) if arg: command += "%s%r" % (comma, arg) comma = ", " else: break command += ")" eval(command)
  27. 27. Шаг 5: Qt+Windows attach to run Можноподключаться к уже работающему приложению с помощью attachToApplication()  Используем built-in-hook в коде приложения #include <QApplication> #include "qtbuiltinhook.h" int main(int argc, char **argv) { QApplication app(argc, argv); Squish::allowAttaching(11233); //... return app.exec(); }
  28. 28. Шаг 5: Qt+Windows attach to run Можноподключаться к уже работающему Приложение должно быть зарегистрировано • squishserver --config addAttachableAUT aut [host:]port Используем attachToApplication() вместо startApplication()
  29. 29. По секретуБлижайшие планы развития1. Squish для Android2. Более тесная Squish <-> Squish Coco интеграция3. Поддержка распознавания объектов по изображению (для работы с OpenGL, например)4. Визуальный язык программирования тестов5. Поддержка Qt 5
  30. 30. Это не «спонсорский доклад», но все же …Скидка 10%1. Промокод MCSRU122. Запишитесь у меня или заполните опрос в блоге о мастер классе3. Скидка действует в течение 60 дней4. Сайт производителя www.froglogic.com
  31. 31. Каждый должен расти над собой Хотите узнать про Squish+iOS? Интересна тема Squish on Linux/Mac OS – пишите – сделаю свободный вебинар! Буду благодарен за критику в опросе http://zubactik.blogspot.com/ Спасибо! «Ваше мнение важно для нас!»@
  32. 32. Мои контакты abelyaevsky@gmail.com Skype: andrey.belyaevsky ICQ: 348-925-702 Блог АвтоТестировщика Vkontakte Мой Круг Есливам нужны какие-то материалы – не стесняйтесь – пишите!
  33. 33. Спасибо!!!Тестеры,тестировать –круто!

×