SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Calabash
Автоматизированное тестирование
мобильных приложений
#qameetup61
Докладчик: Юрий Комаров
Зачем нужно BDD тестирование?
•в связи с ростом функциональности
приложения трудозатраты на
регрессионное тестирование становятся
непомерно велики;
•разнообразие линейки поддерживаемых
устройств и версий ОС.
И что же делать?
Calabash + Cucumber
Какой такой Calabash?
Calabash — это фреймворк для
автоматизации функционального
тестирования, который, по сути, является
драйвером, управляющим работой
приложения на девайсе или симуляторе.
А причем тут Cucumber?
Cucumber — это написанная на RUBY
библиотека для тестирования, которая
предлагает описывать сценарии
тестирования на естественном языке в
обычном текстовом файле.
И в чем же сила огурца?
•нет необходимости логирования при
написании тестов — каждый сценарий по
сути своей является тест-кейсом;
•для описания сценариев используется язык
Gherkin и шаблон Given/When/Then/And,
где ключевое слово Given задает
начальные условия, When —
операцию, Then — конечный результат.
И как же это все работает?
Cucumber Features
Feature: FTPSample
Scenario: FTPSample Scenario
Given I wait for "Tap Get to start getting" to appear
When I clear text field number 1
And I press "Get"
Then I wait for "Invalid URL" to appear
Then I wait
Then I touch the get tab
Cucumber Step Definitions
Then (/^I touch the (url_get|get|list|put|create_dir) tab$/) do |tab|
wait_for_elements_exist('tabBarButton')
case tab
when 'url_get’
index = 0
…
…
when 'create_dir’
index = 4
end
touch("tabBarButton index:#{index}")
end
calabash-ios console
• ids => List all the visible accessibility ids.
• labels => List all the visible accessibility labels.
• text => List all the visible texts.
• marks => List all the visible marks.
• tree => The app's visible view hierarchy.
• flash => Disco effect for views matching <query>
• verbose => Turn debug logging on.
• quiet => Turn debug logging off.
• copy => Copy console commands to clipboard.
• clear => Clear the console.
calabash-ios console
[yurikomarov@calabash-sandbox]$ calabash-ios console
calabash-ios 0.20.4> text
[0] UIButtonLabel => Get
[1] UILabel => Tap Get to start getting
[2] UITabBarButtonLabel => Create Dir
[3] UITabBarButtonLabel => Get
[4] UITabBarButtonLabel => List
[5] UITabBarButtonLabel => Put
[6] UITabBarButtonLabel => URL Get
[7] UITextFieldLabel => file URL
Xamarin Test Cloud
ПЛЮСЫ:
+ ~2000 девайсов для тестов
+ возможность выбора версии OS
+ просмотр device log
+ командный аккаунт
+ 30 дней триала
МИНУСЫ:
- нужно платить
- очередь на выполнение теста
- конфиденциальность
приложения под вопросом
Он сказал «ПОЕХАЛИ!»
Спасибо за внимание!
Контакты:
www: yurikomarov.blogspot.ru
e-mail: yuri.komarov@umbrella-web.com
Umbrella WEB:
www: umbrella-web.com
email: hello@umbrella-web.com

Weitere ähnliche Inhalte

Andere mochten auch

Особенности тестирования мобильных приложений
Особенности тестирования мобильных приложенийОсобенности тестирования мобильных приложений
Особенности тестирования мобильных приложенийIT61
 
Нагрузочное тестирование API. Как летать, а не ползать?
Нагрузочное тестирование API. Как летать, а не ползать?Нагрузочное тестирование API. Как летать, а не ползать?
Нагрузочное тестирование API. Как летать, а не ползать?IT61
 
Организация тестирования в Inostudio
Организация тестирования в InostudioОрганизация тестирования в Inostudio
Организация тестирования в InostudioIT61
 
Поиск багов при тестировании переходов с веба в мобильное приложение
Поиск багов при тестировании переходов с веба в мобильное приложениеПоиск багов при тестировании переходов с веба в мобильное приложение
Поиск багов при тестировании переходов с веба в мобильное приложениеSQALab
 
Лучшие тестировщики - наши пользователи
Лучшие тестировщики - наши пользователиЛучшие тестировщики - наши пользователи
Лучшие тестировщики - наши пользователиSQALab
 
Тестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The ScenesТестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The ScenesSQALab
 
Mobile testing. Tips and tricks
Mobile testing. Tips and tricksMobile testing. Tips and tricks
Mobile testing. Tips and tricksSQALab
 
Machine learning на примере алгоритма ценообразования, Овсеп Авакян
Machine learning на примере алгоритма ценообразования, Овсеп АвакянMachine learning на примере алгоритма ценообразования, Овсеп Авакян
Machine learning на примере алгоритма ценообразования, Овсеп АвакянIT61
 
Data scientology starter pack, Сергей Казаков
Data scientology starter pack, Сергей КазаковData scientology starter pack, Сергей Казаков
Data scientology starter pack, Сергей КазаковIT61
 

Andere mochten auch (9)

Особенности тестирования мобильных приложений
Особенности тестирования мобильных приложенийОсобенности тестирования мобильных приложений
Особенности тестирования мобильных приложений
 
Нагрузочное тестирование API. Как летать, а не ползать?
Нагрузочное тестирование API. Как летать, а не ползать?Нагрузочное тестирование API. Как летать, а не ползать?
Нагрузочное тестирование API. Как летать, а не ползать?
 
Организация тестирования в Inostudio
Организация тестирования в InostudioОрганизация тестирования в Inostudio
Организация тестирования в Inostudio
 
Поиск багов при тестировании переходов с веба в мобильное приложение
Поиск багов при тестировании переходов с веба в мобильное приложениеПоиск багов при тестировании переходов с веба в мобильное приложение
Поиск багов при тестировании переходов с веба в мобильное приложение
 
Лучшие тестировщики - наши пользователи
Лучшие тестировщики - наши пользователиЛучшие тестировщики - наши пользователи
Лучшие тестировщики - наши пользователи
 
Тестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The ScenesТестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The Scenes
 
Mobile testing. Tips and tricks
Mobile testing. Tips and tricksMobile testing. Tips and tricks
Mobile testing. Tips and tricks
 
Machine learning на примере алгоритма ценообразования, Овсеп Авакян
Machine learning на примере алгоритма ценообразования, Овсеп АвакянMachine learning на примере алгоритма ценообразования, Овсеп Авакян
Machine learning на примере алгоритма ценообразования, Овсеп Авакян
 
Data scientology starter pack, Сергей Казаков
Data scientology starter pack, Сергей КазаковData scientology starter pack, Сергей Казаков
Data scientology starter pack, Сергей Казаков
 

Ähnlich wie Calabash. Автоматизированное тестирование мобильных приложений

Читабельные отчеты для автоматизации на C# / Gallio / BDDfy
Читабельные отчеты для автоматизации на C# / Gallio / BDDfyЧитабельные отчеты для автоматизации на C# / Gallio / BDDfy
Читабельные отчеты для автоматизации на C# / Gallio / BDDfyDmytro Zharii
 
#MBLTdev: Знакомство с codesign (e-Legion)
#MBLTdev: Знакомство с codesign (e-Legion)#MBLTdev: Знакомство с codesign (e-Legion)
#MBLTdev: Знакомство с codesign (e-Legion)e-Legion
 
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...SQALab
 
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...COMAQA.BY
 
Protrarctor and Angular
Protrarctor and AngularProtrarctor and Angular
Protrarctor and AngularSQALab
 
Easy authcache 2 кеширование для pro родионов игорь
Easy authcache 2   кеширование для pro родионов игорьEasy authcache 2   кеширование для pro родионов игорь
Easy authcache 2 кеширование для pro родионов игорьdrupalconf
 
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовКирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовOlesya_V
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Yandex
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Yandex
 
Behat в PHP с использованием Behat и Mink
Behat в PHP с использованием Behat и MinkBehat в PHP с использованием Behat и Mink
Behat в PHP с использованием Behat и Minktyomo4ka
 
Easy authcache 2 кэширование для pro. Родионов Игорь
Easy authcache 2   кэширование для pro. Родионов ИгорьEasy authcache 2   кэширование для pro. Родионов Игорь
Easy authcache 2 кэширование для pro. Родионов ИгорьPVasili
 
Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.Nikita Borzykh
 
Отладка веб-приложений на Javascript
Отладка веб-приложений на JavascriptОтладка веб-приложений на Javascript
Отладка веб-приложений на JavascriptDenis Latushkin
 
Любовь Поволоцкая_Сборка Android-приложений с помощью Gradle
Любовь Поволоцкая_Сборка Android-приложений с помощью GradleЛюбовь Поволоцкая_Сборка Android-приложений с помощью Gradle
Любовь Поволоцкая_Сборка Android-приложений с помощью GradleGeeksLab Odessa
 
Embarcadero All-Access
Embarcadero All-AccessEmbarcadero All-Access
Embarcadero All-AccessSerghei Urban
 
Codeception + Docker + Robo и что из этого вышло
Codeception + Docker + Robo и что из этого вышлоCodeception + Docker + Robo и что из этого вышло
Codeception + Docker + Robo и что из этого вышлоCOMAQA.BY
 

Ähnlich wie Calabash. Автоматизированное тестирование мобильных приложений (20)

Читабельные отчеты для автоматизации на C# / Gallio / BDDfy
Читабельные отчеты для автоматизации на C# / Gallio / BDDfyЧитабельные отчеты для автоматизации на C# / Gallio / BDDfy
Читабельные отчеты для автоматизации на C# / Gallio / BDDfy
 
Team workflow
Team workflowTeam workflow
Team workflow
 
#MBLTdev: Знакомство с codesign (e-Legion)
#MBLTdev: Знакомство с codesign (e-Legion)#MBLTdev: Знакомство с codesign (e-Legion)
#MBLTdev: Знакомство с codesign (e-Legion)
 
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
 
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
 
Protrarctor and Angular
Protrarctor and AngularProtrarctor and Angular
Protrarctor and Angular
 
Easy authcache 2 кеширование для pro родионов игорь
Easy authcache 2   кеширование для pro родионов игорьEasy authcache 2   кеширование для pro родионов игорь
Easy authcache 2 кеширование для pro родионов игорь
 
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовКирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектов
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 
Behat в PHP с использованием Behat и Mink
Behat в PHP с использованием Behat и MinkBehat в PHP с использованием Behat и Mink
Behat в PHP с использованием Behat и Mink
 
Easy authcache 2 кэширование для pro. Родионов Игорь
Easy authcache 2   кэширование для pro. Родионов ИгорьEasy authcache 2   кэширование для pro. Родионов Игорь
Easy authcache 2 кэширование для pro. Родионов Игорь
 
Little Service in 2h
Little Service in 2hLittle Service in 2h
Little Service in 2h
 
Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.
 
Отладка веб-приложений на Javascript
Отладка веб-приложений на JavascriptОтладка веб-приложений на Javascript
Отладка веб-приложений на Javascript
 
Любовь Поволоцкая_Сборка Android-приложений с помощью Gradle
Любовь Поволоцкая_Сборка Android-приложений с помощью GradleЛюбовь Поволоцкая_Сборка Android-приложений с помощью Gradle
Любовь Поволоцкая_Сборка Android-приложений с помощью Gradle
 
UI+unit testing in iOS
UI+unit testing in iOSUI+unit testing in iOS
UI+unit testing in iOS
 
DevOps guide for awesome quality assurance
DevOps guide for awesome quality assuranceDevOps guide for awesome quality assurance
DevOps guide for awesome quality assurance
 
Embarcadero All-Access
Embarcadero All-AccessEmbarcadero All-Access
Embarcadero All-Access
 
Codeception + Docker + Robo и что из этого вышло
Codeception + Docker + Robo и что из этого вышлоCodeception + Docker + Robo и что из этого вышло
Codeception + Docker + Robo и что из этого вышло
 

Mehr von IT61

Александр Шорин - Как перестать гоняться за кандидатом и начать жить?
Александр Шорин - Как перестать гоняться за кандидатом и начать жить?Александр Шорин - Как перестать гоняться за кандидатом и начать жить?
Александр Шорин - Как перестать гоняться за кандидатом и начать жить?IT61
 
Нина Марменкова - Найти себя и нАЙТИ своих
Нина Марменкова - Найти себя и нАЙТИ своихНина Марменкова - Найти себя и нАЙТИ своих
Нина Марменкова - Найти себя и нАЙТИ своихIT61
 
Павел Седаков - Performance review: теория и практика оценки эффективности ра...
Павел Седаков - Performance review: теория и практика оценки эффективности ра...Павел Седаков - Performance review: теория и практика оценки эффективности ра...
Павел Седаков - Performance review: теория и практика оценки эффективности ра...IT61
 
Дмитрий Костюк - Необходимые инструменты и качества для роста менеджера
Дмитрий Костюк - Необходимые инструменты и качества для роста менеджераДмитрий Костюк - Необходимые инструменты и качества для роста менеджера
Дмитрий Костюк - Необходимые инструменты и качества для роста менеджераIT61
 
Константин Гуфан - Чем должны заниматься менеджеры и чем они на самом деле за...
Константин Гуфан - Чем должны заниматься менеджеры и чем они на самом деле за...Константин Гуфан - Чем должны заниматься менеджеры и чем они на самом деле за...
Константин Гуфан - Чем должны заниматься менеджеры и чем они на самом деле за...IT61
 
Ольга Стратанович - Менеджер будущего
Ольга Стратанович - Менеджер будущегоОльга Стратанович - Менеджер будущего
Ольга Стратанович - Менеджер будущегоIT61
 
Константин Гуфан - Сколько лет живет любовь к работе?
Константин Гуфан - Сколько лет живет любовь к работе?Константин Гуфан - Сколько лет живет любовь к работе?
Константин Гуфан - Сколько лет живет любовь к работе?IT61
 
Machine learning c использованием нейронных сетей, Дмитрий Лапин
Machine learning c использованием нейронных сетей, Дмитрий ЛапинMachine learning c использованием нейронных сетей, Дмитрий Лапин
Machine learning c использованием нейронных сетей, Дмитрий ЛапинIT61
 
Изоморфизм как предметное поле data science, Артем Москалец
Изоморфизм как предметное поле data science, Артем МоскалецИзоморфизм как предметное поле data science, Артем Москалец
Изоморфизм как предметное поле data science, Артем МоскалецIT61
 
Параллельное управление, Елена Сибилева (Жмек дизайн)
Параллельное управление, Елена Сибилева (Жмек дизайн)Параллельное управление, Елена Сибилева (Жмек дизайн)
Параллельное управление, Елена Сибилева (Жмек дизайн)IT61
 
Эффективный отдел техподдержки сайтов без вашего участия, Максим Мул (Рабочие...
Эффективный отдел техподдержки сайтов без вашего участия, Максим Мул (Рабочие...Эффективный отдел техподдержки сайтов без вашего участия, Максим Мул (Рабочие...
Эффективный отдел техподдержки сайтов без вашего участия, Максим Мул (Рабочие...IT61
 
Тренды в процессах разработки, Константин Иванов (TradingView)
Тренды в процессах разработки, Константин Иванов (TradingView)Тренды в процессах разработки, Константин Иванов (TradingView)
Тренды в процессах разработки, Константин Иванов (TradingView)IT61
 
Амина Прима - Ой, все! Я ухожу
Амина Прима - Ой, все! Я ухожуАмина Прима - Ой, все! Я ухожу
Амина Прима - Ой, все! Я ухожуIT61
 
Как перестать беспокоиться и начать тестировать или это волшебное слово Agile
Как перестать беспокоиться и начать тестировать или это волшебное слово AgileКак перестать беспокоиться и начать тестировать или это волшебное слово Agile
Как перестать беспокоиться и начать тестировать или это волшебное слово AgileIT61
 
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgДело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgIT61
 
Стратегия тестирования - больше чем просто план
Стратегия тестирования - больше чем просто планСтратегия тестирования - больше чем просто план
Стратегия тестирования - больше чем просто планIT61
 
Основы Symfony и отличия Sf 3.x от Sf 2.x
Основы Symfony и отличия Sf 3.x от Sf 2.xОсновы Symfony и отличия Sf 3.x от Sf 2.x
Основы Symfony и отличия Sf 3.x от Sf 2.xIT61
 
Тенденции развития DDoS-атак: к чему нужно быть готовым
Тенденции развития DDoS-атак: к чему нужно быть готовымТенденции развития DDoS-атак: к чему нужно быть готовым
Тенденции развития DDoS-атак: к чему нужно быть готовымIT61
 
Отдаем страницы быстрее или как вписаться в требования Google
Отдаем страницы быстрее или как вписаться в требования GoogleОтдаем страницы быстрее или как вписаться в требования Google
Отдаем страницы быстрее или как вписаться в требования GoogleIT61
 
Автоматизированное тестирование UI в мобильных OC
Автоматизированное тестирование UI в мобильных OCАвтоматизированное тестирование UI в мобильных OC
Автоматизированное тестирование UI в мобильных OCIT61
 

Mehr von IT61 (20)

Александр Шорин - Как перестать гоняться за кандидатом и начать жить?
Александр Шорин - Как перестать гоняться за кандидатом и начать жить?Александр Шорин - Как перестать гоняться за кандидатом и начать жить?
Александр Шорин - Как перестать гоняться за кандидатом и начать жить?
 
Нина Марменкова - Найти себя и нАЙТИ своих
Нина Марменкова - Найти себя и нАЙТИ своихНина Марменкова - Найти себя и нАЙТИ своих
Нина Марменкова - Найти себя и нАЙТИ своих
 
Павел Седаков - Performance review: теория и практика оценки эффективности ра...
Павел Седаков - Performance review: теория и практика оценки эффективности ра...Павел Седаков - Performance review: теория и практика оценки эффективности ра...
Павел Седаков - Performance review: теория и практика оценки эффективности ра...
 
Дмитрий Костюк - Необходимые инструменты и качества для роста менеджера
Дмитрий Костюк - Необходимые инструменты и качества для роста менеджераДмитрий Костюк - Необходимые инструменты и качества для роста менеджера
Дмитрий Костюк - Необходимые инструменты и качества для роста менеджера
 
Константин Гуфан - Чем должны заниматься менеджеры и чем они на самом деле за...
Константин Гуфан - Чем должны заниматься менеджеры и чем они на самом деле за...Константин Гуфан - Чем должны заниматься менеджеры и чем они на самом деле за...
Константин Гуфан - Чем должны заниматься менеджеры и чем они на самом деле за...
 
Ольга Стратанович - Менеджер будущего
Ольга Стратанович - Менеджер будущегоОльга Стратанович - Менеджер будущего
Ольга Стратанович - Менеджер будущего
 
Константин Гуфан - Сколько лет живет любовь к работе?
Константин Гуфан - Сколько лет живет любовь к работе?Константин Гуфан - Сколько лет живет любовь к работе?
Константин Гуфан - Сколько лет живет любовь к работе?
 
Machine learning c использованием нейронных сетей, Дмитрий Лапин
Machine learning c использованием нейронных сетей, Дмитрий ЛапинMachine learning c использованием нейронных сетей, Дмитрий Лапин
Machine learning c использованием нейронных сетей, Дмитрий Лапин
 
Изоморфизм как предметное поле data science, Артем Москалец
Изоморфизм как предметное поле data science, Артем МоскалецИзоморфизм как предметное поле data science, Артем Москалец
Изоморфизм как предметное поле data science, Артем Москалец
 
Параллельное управление, Елена Сибилева (Жмек дизайн)
Параллельное управление, Елена Сибилева (Жмек дизайн)Параллельное управление, Елена Сибилева (Жмек дизайн)
Параллельное управление, Елена Сибилева (Жмек дизайн)
 
Эффективный отдел техподдержки сайтов без вашего участия, Максим Мул (Рабочие...
Эффективный отдел техподдержки сайтов без вашего участия, Максим Мул (Рабочие...Эффективный отдел техподдержки сайтов без вашего участия, Максим Мул (Рабочие...
Эффективный отдел техподдержки сайтов без вашего участия, Максим Мул (Рабочие...
 
Тренды в процессах разработки, Константин Иванов (TradingView)
Тренды в процессах разработки, Константин Иванов (TradingView)Тренды в процессах разработки, Константин Иванов (TradingView)
Тренды в процессах разработки, Константин Иванов (TradingView)
 
Амина Прима - Ой, все! Я ухожу
Амина Прима - Ой, все! Я ухожуАмина Прима - Ой, все! Я ухожу
Амина Прима - Ой, все! Я ухожу
 
Как перестать беспокоиться и начать тестировать или это волшебное слово Agile
Как перестать беспокоиться и начать тестировать или это волшебное слово AgileКак перестать беспокоиться и начать тестировать или это волшебное слово Agile
Как перестать беспокоиться и начать тестировать или это волшебное слово Agile
 
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgДело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
 
Стратегия тестирования - больше чем просто план
Стратегия тестирования - больше чем просто планСтратегия тестирования - больше чем просто план
Стратегия тестирования - больше чем просто план
 
Основы Symfony и отличия Sf 3.x от Sf 2.x
Основы Symfony и отличия Sf 3.x от Sf 2.xОсновы Symfony и отличия Sf 3.x от Sf 2.x
Основы Symfony и отличия Sf 3.x от Sf 2.x
 
Тенденции развития DDoS-атак: к чему нужно быть готовым
Тенденции развития DDoS-атак: к чему нужно быть готовымТенденции развития DDoS-атак: к чему нужно быть готовым
Тенденции развития DDoS-атак: к чему нужно быть готовым
 
Отдаем страницы быстрее или как вписаться в требования Google
Отдаем страницы быстрее или как вписаться в требования GoogleОтдаем страницы быстрее или как вписаться в требования Google
Отдаем страницы быстрее или как вписаться в требования Google
 
Автоматизированное тестирование UI в мобильных OC
Автоматизированное тестирование UI в мобильных OCАвтоматизированное тестирование UI в мобильных OC
Автоматизированное тестирование UI в мобильных OC
 

Calabash. Автоматизированное тестирование мобильных приложений

  • 2. Зачем нужно BDD тестирование? •в связи с ростом функциональности приложения трудозатраты на регрессионное тестирование становятся непомерно велики; •разнообразие линейки поддерживаемых устройств и версий ОС.
  • 3. И что же делать? Calabash + Cucumber
  • 4. Какой такой Calabash? Calabash — это фреймворк для автоматизации функционального тестирования, который, по сути, является драйвером, управляющим работой приложения на девайсе или симуляторе.
  • 5. А причем тут Cucumber? Cucumber — это написанная на RUBY библиотека для тестирования, которая предлагает описывать сценарии тестирования на естественном языке в обычном текстовом файле.
  • 6. И в чем же сила огурца? •нет необходимости логирования при написании тестов — каждый сценарий по сути своей является тест-кейсом; •для описания сценариев используется язык Gherkin и шаблон Given/When/Then/And, где ключевое слово Given задает начальные условия, When — операцию, Then — конечный результат.
  • 7. И как же это все работает?
  • 8. Cucumber Features Feature: FTPSample Scenario: FTPSample Scenario Given I wait for "Tap Get to start getting" to appear When I clear text field number 1 And I press "Get" Then I wait for "Invalid URL" to appear Then I wait Then I touch the get tab
  • 9. Cucumber Step Definitions Then (/^I touch the (url_get|get|list|put|create_dir) tab$/) do |tab| wait_for_elements_exist('tabBarButton') case tab when 'url_get’ index = 0 … … when 'create_dir’ index = 4 end touch("tabBarButton index:#{index}") end
  • 10. calabash-ios console • ids => List all the visible accessibility ids. • labels => List all the visible accessibility labels. • text => List all the visible texts. • marks => List all the visible marks. • tree => The app's visible view hierarchy. • flash => Disco effect for views matching <query> • verbose => Turn debug logging on. • quiet => Turn debug logging off. • copy => Copy console commands to clipboard. • clear => Clear the console.
  • 11. calabash-ios console [yurikomarov@calabash-sandbox]$ calabash-ios console calabash-ios 0.20.4> text [0] UIButtonLabel => Get [1] UILabel => Tap Get to start getting [2] UITabBarButtonLabel => Create Dir [3] UITabBarButtonLabel => Get [4] UITabBarButtonLabel => List [5] UITabBarButtonLabel => Put [6] UITabBarButtonLabel => URL Get [7] UITextFieldLabel => file URL
  • 12. Xamarin Test Cloud ПЛЮСЫ: + ~2000 девайсов для тестов + возможность выбора версии OS + просмотр device log + командный аккаунт + 30 дней триала МИНУСЫ: - нужно платить - очередь на выполнение теста - конфиденциальность приложения под вопросом
  • 14. Спасибо за внимание! Контакты: www: yurikomarov.blogspot.ru e-mail: yuri.komarov@umbrella-web.com Umbrella WEB: www: umbrella-web.com email: hello@umbrella-web.com

Hinweis der Redaktion

  1. Архитектурно Calabash состоит из двух частей — клиентской и серверной Серверная часть представляет собой HTTP-сервер, который встраивается в тестируемое приложение и принимает запросы на выполнение тех или иных действий в приложении, клиентская часть написана на Ruby и реализует API для взаимодействия с сервером.