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

Post on 14-Nov-2014

542 views 1 download

Tags:

description

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

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

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

Подойницын Даниил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

...Уже здесь.

Добавить нужный функционал самому.

• - Требует много времени.

• - Не факт что получится.

• + Даст много опыта• + Интересно.

Сменить инструмент

• Крайняя мера• Новые тесты, не

повторять работающие.

Итоги.

• Плохие варианты:-просто автокликер.-самописные проги на любой чих.

• Хорошие варианты:+Интегрировать с хорошими сторонними приложениями+Заглянуть в исходники главного инструмента+Сменить инструмент

Вопросы?

• http://d-podoynitsin.moikrug.ru/• danila@r0.ru