Способы расширения зоны влияния вашей системы автотестов.
Подойницын ДаниилVentra
Houston, we have a problem
Другие Виды 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
tips and tricks
• Std out не подходит.• Если txt файл
заблокирован — скопируйте его.
• Можно заложить разветвленную логику.
Задача 2. На GUI внешней системы
Автокликер по координатам.
Плохой вариант.
Автокликер 2.0!
Последняя надежда для нестандартных GUI.
*
* Фрагмент модифицированного GUI Oracle Forms 6
tips and tricks
• Sikuli любит капризничать в связи с точкой запуска.
• Хорошо различает форму, но не цвет.
Будущее…
Компьютерное зрение
Ускорение видеокартой
OCR*
*Optical character recognition – Оптическое распознавание символов,например известный FineReader
...Уже здесь.
Добавить нужный функционал самому.
• - Требует много времени.
• - Не факт что получится.
• + Даст много опыта• + Интересно.
Сменить инструмент
• Крайняя мера• Новые тесты, не
повторять работающие.
Итоги.
• Плохие варианты:-просто автокликер.-самописные проги на любой чих.
• Хорошие варианты:+Интегрировать с хорошими сторонними приложениями+Заглянуть в исходники главного инструмента+Сменить инструмент