Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Способы расширения зоны влияния вашей системы автотестов

625 views

Published on

Доклад Даниила Подойницына на конференции SQADays-15, 19.04.2014, г.Москва

Published in: Education
  • Be the first to comment

  • Be the first to like this

Способы расширения зоны влияния вашей системы автотестов

  1. 1. Способы расширения зоны влияния вашей системы автотестов. Подойницын Даниил Ventra
  2. 2. Houston, we have a problem Другие Виды GUI Дано: Хороший коробочный инструмент для GUI Нужно: Встроить в его тесты такие проверки, которые он сам, из коробки, сделать не может.
  3. 3. Задача 1. Без GUI • Получить данные из базы • Получить данные из веб сервисов • Совершить действия другой программой.
  4. 4. Быстрый вариант Кто-нибудь наверняка предложит по-быстрому написать маленькую программу, которая делает ту самую проверку/действие.
  5. 5. • 1. Берем значение с GUI $message
  6. 6. • 1. Берем значение с GUI • 2. Подставляем как параметр в запускаемую строку $message
  7. 7. • 1. Берем значение с GUI • 2. Подставляем как параметр в запускаемую строку • 3. Исполняем Main test app • get $message from GUI cmd • C:app.exe –P1=$message One action app • Check DB by $message
  8. 8. • 1. Берем значение с GUI • 2. Подставляем как параметр в запускаемую строку • 3. Исполняем • 4. Слушаем exit code (0, -1, -2 и тд)
  9. 9. Маленькие C# программы. • Кол-во .exe выросло с 3 до 40 за 3 месяца. • Поддерживать каждую нужно отдельно. • Делать это может только автор. • Лучше не делать так.
  10. 10. Приемлемый вариант • Берем хороший инструмент.
  11. 11. Приемлемый вариант • Берем хороший инструмент. • По той же схеме, данные отправляем через cmd. Во внешнем проекте строим сложную логику их обработки.
  12. 12. Приемлемый вариант • Берем хороший инструмент. • По той же схеме, данные отправляем через cmd. Во внешнем проекте строим сложную логику их обработки. • И слушаем exit code.
  13. 13. tips and tricks • Если уперлись в 255 символов cmd — сокращайте имена параметров до P1, P2... • Аккуратней с кавычками, знаками равно, и другими спец. символами
  14. 14. Двустороннее общение. • Исходящие данные в виде cmd или записи в txt файл. Main Test app input.txt Ext app cmd params
  15. 15. Двустороннее общение. • Исходящие данные в виде cmd или записи в txt файл. • Вывод из консоли в txt файл. Считываем нужное. Main Test app input.txt or cmd Ext app output.txt
  16. 16. tips and tricks • Std out не подходит. • Если txt файл заблокирован — скопируйте его. • Можно заложить разветвленную логику.
  17. 17. Задача 2. На GUI внешней системы
  18. 18. Автокликер по координатам.
  19. 19. Плохой вариант.
  20. 20. Автокликер 2.0!
  21. 21. Последняя надежда для нестандартных GUI. * * Фрагмент модифицированного GUI Oracle Forms 6
  22. 22. tips and tricks • Sikuli любит капризничать в связи с точкой запуска. • Хорошо различает форму, но не цвет.
  23. 23. Будущее… Компьютерное зрение Ускорение видеокартой OCR* *Optical character recognition – Оптическое распознавание символов, например известный FineReader
  24. 24. ...Уже здесь.
  25. 25. Добавить нужный функционал самому. • - Требует много времени. • - Не факт что получится. • + Даст много опыта • + Интересно.
  26. 26. Сменить инструмент • Крайняя мера • Новые тесты, не повторять работающие.
  27. 27. Итоги. • Плохие варианты: -просто автокликер. -самописные проги на любой чих. • Хорошие варианты: +Интегрировать с хорошими сторонними приложениями +Заглянуть в исходники главного инструмента +Сменить инструмент
  28. 28. Вопросы? • http://d-podoynitsin.moikrug.ru/ • danila@r0.ru

×