Способы расширения зоны влияния вашей системы...
DESCRIPTION
Доклад Даниила Подойницына на SQA Days-15. 18-19 апреля, 2014, Москва. www.sqadays.comTRANSCRIPT
Способы расширения зоны влияния вашей системы автотестов.
Подойницын ДаниилVentra
Проблема
…Не для тех кто делает так
Что делать если у вас коробочный продукт?
Ситуация
Другие Виды GUI
Дано:Хороший коробочный инструмент для GUI
Нужно:Встроить в его тесты такие проверки, которые он сам, из коробки, сделать не может.
Поиски решения.
Задача 1. Без GUI
Быстрый вариант
Кто-нибудь наверняка предложит по-быстрому написать маленькую программу, которая делает ту самую проверку/действие.
Быстрый вариант
• 1. Берем значение с GUI
$message
Быстрый вариант
• 1. Берем значение с GUI
• 2. Подставляем как параметр в запускаемую строку
$message
Быстрый вариант
• 1. Берем значение с GUI
• 2. Подставляем как параметр в запускаемую строку
• 3. Исполняем
Main test app
• get $message from GUI
cmd • C:\app.exe –P1=$message
One action app
• Check DB by $message
Быстрый вариант
• 1. Берем значение с GUI
• 2. Подставляем как параметр в запускаемую строку
• 3. Исполняем• 4. Слушаем exit code
(0, -1, -2 и тд)
Маленькие C# программы.
• Кол-во .exe выросло с 3 до 40 за 3 месяца.
• Поддерживать каждую нужно отдельно.
• Делать это может только автор.
• Лучше не делать так.
Приемлемый вариант
• Берем хороший инструмент.
Приемлемый вариант
• Берем хороший инструмент.
• По той же схеме, данные отправляем через cmd. Во внешнем проекте строим сложную логику их обработки.
Приемлемый вариант
• Берем хороший инструмент.
• По той же схеме, данные отправляем через cmd. Во внешнем проекте строим сложную логику их обработки.
• И слушаем exit code.
Разница
• Логи• Понятно и читабельно.• Можно в ручную.
tips and tricks
• Если уперлись в 255 символов cmd — сокращайте имена параметров до P1, P2...
• Аккуратней с кавычками, знаками равно, и другими спец. символами
Двустороннее общение.
• Исходящие данные в виде cmd или записи в txt файл.
Main Test app
input.txt
Ext app
cmd params
Двустороннее общение.
• Исходящие данные в виде cmd или записи в txt файл.
• Вывод из консоли в txt файл. Считываем нужное.
Main Test app
input.txt or cmd
Ext app
output.txt
Двустороннее общение.
hints
• Std out не подходит.• Если txt файл
заблокирован — скопируйте его.
• Можно заложить разветвленную логику.
Задача 2. На GUI внешней системы
Автокликер по координатам.
Плохой вариант.
Автокликер 2.0!
Последняя надежда для нестандартных GUI.
*
* Фрагмент модифицированного GUI Oracle Forms 6
tips and tricks
• Sikuli любит капризничать в связи с точкой запуска.
• Хорошо различает форму, но не цвет.
Добавить нужный функционал самому.
• - Требует много времени.
• - Не факт что получится.
• + Даст много опыта• + Интересно.
Сменить инструмент
• Крайняя мера• Новые тесты, не
повторять работающие.
Итоги.• Плохие варианты:
-просто автокликер.-самописные проги на любой чих.
• Разумный Компромисс: Sikuli
• Хорошие варианты:+Интегрировать с годными сторонними приложениями+Заглянуть в исходники главного инструмента+Сменить инструмент
Вопросы?
• http://d-podoynitsin.moikrug.ru/• [email protected]