Top Banner
Способы расширения зоны влияния вашей системы автотестов. Подойницын Даниил Ventra
28

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

Nov 14, 2014

Download

Education

SQALab

Доклад Даниила Подойницына на конференции SQADays-15, 19.04.2014, г.Москва
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Способы расширения зоны влияния вашей системы автотестов

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

Подойницын ДаниилVentra

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

Houston, we have a problem

Другие Виды GUI

Дано:Хороший коробочный инструмент для GUI

Нужно:Встроить в его тесты такие проверки, которые он сам, из коробки, сделать не может.

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

Задача 1. Без GUI

• Получить данные из базы

• Получить данные из веб сервисов

• Совершить действия другой программой.

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

Быстрый вариант

Кто-нибудь наверняка предложит по-быстрому написать маленькую программу, которая делает ту самую проверку/действие.

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

• 1. Берем значение с GUI

$message

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

• 1. Берем значение с GUI

• 2. Подставляем как параметр в запускаемую строку

$message

Page 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

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

• 1. Берем значение с GUI

• 2. Подставляем как параметр в запускаемую строку

• 3. Исполняем• 4. Слушаем exit code

(0, -1, -2 и тд)

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

Маленькие C# программы.

• Кол-во .exe выросло с 3 до 40 за 3 месяца.

• Поддерживать каждую нужно отдельно.

• Делать это может только автор.

• Лучше не делать так.

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

Приемлемый вариант

• Берем хороший инструмент.

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

Приемлемый вариант

• Берем хороший инструмент.

• По той же схеме, данные отправляем через cmd. Во внешнем проекте строим сложную логику их обработки.

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

Приемлемый вариант

• Берем хороший инструмент.

• По той же схеме, данные отправляем через cmd. Во внешнем проекте строим сложную логику их обработки.

• И слушаем exit code.

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

tips and tricks

• Если уперлись в 255 символов cmd — сокращайте имена параметров до P1, P2...

• Аккуратней с кавычками, знаками равно, и другими спец. символами

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

Двустороннее общение.

• Исходящие данные в виде cmd или записи в txt файл. Main

Test app

input.txt

Ext app

cmd params

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

Двустороннее общение.

• Исходящие данные в виде cmd или записи в txt файл.

• Вывод из консоли в txt файл. Считываем нужное.

Main Test app

input.txt or cmd

Ext app

output.txt

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

tips and tricks

• Std out не подходит.• Если txt файл

заблокирован — скопируйте его.

• Можно заложить разветвленную логику.

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

Задача 2. На GUI внешней системы

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

Автокликер по координатам.

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

Плохой вариант.

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

Автокликер 2.0!

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

Последняя надежда для нестандартных GUI.

*

* Фрагмент модифицированного GUI Oracle Forms 6

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

tips and tricks

• Sikuli любит капризничать в связи с точкой запуска.

• Хорошо различает форму, но не цвет.

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

Будущее…

Компьютерное зрение

Ускорение видеокартой

OCR*

*Optical character recognition – Оптическое распознавание символов,например известный FineReader

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

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

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

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

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

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

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

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

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

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

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

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

Итоги.

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

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