Кирилл Меркушев: Матчеры: маленький шаг для вас и огромный для ваших автотестов
Способы расширения зоны влияния вашей системы...
description
Transcript of Способы расширения зоны влияния вашей системы...
Способы расширения зоны влияния вашей системы автотестов.
Подойницын Даниил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]