Все кто занимается автоматическим тестированием, в частности написанием тестов, рано или поздно сталкиваются с одной и той же проблемой известной всем - ВРЕМЯ. Время, затраченное на прохождение всех тестов. Оно растет прямопропорционально с количеством написанных сценариев и никаким образом не хочет уменьшатся. Количество тестов растет - хорошо. Покрываем все больше и больше написаных фич. Время растет - плохо. Разработчики перестают прогонять тесты после изменения кода, ссылаясь на нехватку времени (и их можно понять). Оттого и получаем: и тесты есть и багов полно, которые могли быть выявлены этими самыми тестами. Данная участь коснулась и нашу команду.
Показаны сообщения с ярлыком cucumber. Показать все сообщения
Показаны сообщения с ярлыком cucumber. Показать все сообщения
1/14/2015
Введение в Calabash
В процессе углубления в изучении тестирования мобильных приложений у меня возникло желание изучить автоматизацию тестирования данного типа приложений.
Мобильные приложения имеют ряд особенностей, которые не позволяют использовать для тестирования обычные инструменты. Для изучения был выбран фреймворк Calabash.
5/05/2014
Do you Remember Me?
Порой приходится написать автотесты на Cucumber'e, для проверки такой маленькой фичи, как "Remember me". На первый взгляд кажется, что это всего лишь безобидный чекбокс, который необходимо выбрать при логине. Но когда вы подумаете о том, как этот чекбокс должен сработать, появятся вопросы... И простым check("Remember me") вы не обойдетесь.
2/16/2014
Настраиваем тестовое окружение Cucumber+Capybara+WebDriver (или Capybara-webkit) в Ruby on Rails приложении.
Существует несколько способов установки и настроить тестового окружение на вашем маке. Все они приводят к одному результату.
В этой статье будет рассматриваться самый простой и распространенный по мнению автора метод с использованием homebrew и rvm, хотя в качестве альтернативы можно использовать ruby-build и rbenv.
Для того, чтобы можно было считать ваше тестовое окружение настроенным, вы должны установить следующие компоненты:
- XCode
- Homebrew - менеджер пакетов для MacOS- XCode
- RVM (Ruby Version Manager) Программа для управления версиями Ruby.
- Необходимую версию Ruby в зависимости от проектов.
- Необходимую версию Rails - фреймворка для веб-разработки, написанного на языке программирования Ruby.
- Гемы
11/14/2013
Задание строгого порядка выполнения фич Cucumber'a
По умолчанию выполнение features/scenarios в Cucumber проходит согласно следующим правилам:
- В алфавитном порядке папок в папке features
- В алфавитном порядке файлов *.feature в папке
- В порядке размещения файлов *.feature находящихся в корне папки features
- features
- folder1
- file1.feature
- file2.feature
- folder2
- file3.feature
- file4.feature
- file5.feature
features/folder1/file1.feature
features/folder1/file2.feature
features/folder2/file3.feature
features/file4.feature
features/file5.feature
Но что же делать, если тестировщику нужно задать строгий порядок выполнения фич при запуске тестов?
При запуске Cucumber можно указать фичи в виде списка и их запуск будет произведен в указанном порядке. Например:
cucumber features/folder1/file2.feature features/folder2/file3.feature
Что делать с остальными фичами? Можно указать папку features в конце списка. Cucumber довольно умный и не станет запускать заново фичи, которые уже запускались до этого.
Таким образом строка
cucumber features/folder1/file2.feature features/folder2/file3.feature features
9/27/2013
Навигация между окнами в автоматизированных тестах
В процессе создания автоматических тестов часто возникает необходимость в навигации между окнами браузера.
Основное неудобство в построении шага заключается в том, что web-драйверы webkit и selenium отличные друг от друга механизмы переключения между окнами - то, что работает для webkit, не будет работать с selenium, и наоборот.
Следующий шаг позволит вам переместить фокус действия с одного окна на другое, учитывая используемый web-драйвер.
When (/^I access the new window$/) do if Capybara.javascript_driver == :webkit page.driver.browser.window_focus(page.driver.browser.window_handles.last) else page.driver.browser.switch_to.window(page.driver.browser.window_handles.last) end end
В ходе выполнения теста мы производим шаг, в следствие которого появляется новое окно.
Следующим шагом станет описанный выше шаг "I access the new window".
В зависимости от выбранного при запуске теста web-драйвере выполнится один из вариантов переключения фокуса.
Для драйвера webkit - переключение фокуса происходит при помощи действия:
page.driver.browser.window_focus(page.driver.browser.window_handles.last)
Для драйвера selenium - следующее действие:
page.driver.browser.switch_to.window(page.driver.browser.window_handles.last)
7/30/2013
Cucumber и взаимодействие с iframe
Шаг Cucumber для взаимодействия с <iframe>, используя Capybara.
<ifame> должен иметь заданный атрибут name, с которым будет работать шаг.
When I press "Foo" in the iframe "myframe" Then I should see "Bar!" in the iframe "myframe"
Then /^(.*) in the iframe "([^\"]+)"$/ do |step, iframe_name| browser = page.driver.browser browser.switch_to.frame(iframe_name) step(step) browser.switch_to.default_content end
Найдено тут
Подписаться на:
Сообщения (Atom)







