CodeFest 2010. Высоцкий С. — Автоматизация тестирования...

Post on 25-May-2015

1.086 views 5 download

Transcript of CodeFest 2010. Высоцкий С. — Автоматизация тестирования...

Codefest 2010

Автоматизация Тестирования Flex/Flash GUI

Долго

Сложно

Причем тут Flash?

Автоматизировать черный ящик

Сделать ящик более прозрачным

Слишком сложнописать

Слишком сложноподдерживать

Ограниченный доступ до информации

Ограниченные возможности по

расширению

Не все объектыподдерживают

Очень

Много

Работы

Все отлично

:Нужно

Понять какработает

ВыбратьИнструменты

:Нужно

Написать делегаты

Сделать отдельную сборку

Начать писать тесты

Для того чтобы работать:с

Новыми событиями

Новыми объектами

Сложными объектами

Flash-Selenium. Доступ до FlexExternalInterface

FunFx. WatiR

Flex-ui-Selenium. ... Внезапно Selenium

HP QuickTest Professional

IBM Rational Functional Tester

SilkTest

TestComplete Увы толькоMSAA

Ranorex Скрипты на C#, vb.NET . .и т д

RIATest Свой простой скриптовый язык

FlexMonkey Тесты в ActionScript

Sauce OnDemand Облачный сервис

WARNING: будут кускикода

Pop-Up не видно

SystemManager

Pop-upПриложени

е

Агент

SystemManager

Pop-upПриложени

е

Агент

- Какая тоКнопка

public override function get numAutomationChildren():int

{

return popUp is IAutomationObject ? 1 : 0;

}

public override function getAutomationChildAt(index:int):IAutomationObject

{

return popUp as IAutomationObject;

}

Login

Password

??

Попросить разработчиков проставлять .идентификаторы и делать это хорошо

Самим залезть в код и проставить.идентификаторы

get  AutomationName.Переопределить для

Не графический объект может существовать в приложении

Такие объекты не являются AutomationObject

Если такой объект будет обнаружен, агентом то мы получим исключение

private function get automationContent():Array

{

var children:Array = [];

if (container != null)

{

for (var i:int=0; i < container.numChildren; i++)

{

var child:IAutomationObject = container.getChildAt(i) as IAutomationObject;

if (child != null)

{

children.push(child);

}

}

}

return children;

}

public override function getAutomationChildAt(index:int):IAutomationObject

{ return automationContent.length ? automationContent[index] : super.getAutomationChildAt(index);}

Выбрать инструменты

Подготовить тестовую среду Специальная сборкаДелегаты - Что то еще

Начать писать тесты