Показаны сообщения с ярлыком автоматизатору. Показать все сообщения
Показаны сообщения с ярлыком автоматизатору. Показать все сообщения

1/29/2015

"Query" и другие помощники тестирования с помощью Calabash.




Фреймворк Calabash ( о нем я вкратце рассказывала ранее), как и ожидалось оказался очень удобным инструментом для тестирования мобильных приложений. Работая в связке с Cucumber он помогает писать понятные и полезные тесты. Единственной сложностью, с которой я столкнулась при тестировании IOS приложения, был поиск элементов, необходимых для выполнения шагов.
 Большим помощником в этой ситуации стал метод Calabash iOS Ruby API “query”. Этот метод позволяет при помощи консоли отобразить все элементы UI находящиеся на экране вашего приложения.

1/14/2015

Введение в Calabash




В процессе углубления в изучении тестирования мобильных приложений у меня возникло желание изучить автоматизацию тестирования данного типа приложений.
Мобильные приложения имеют ряд особенностей, которые не позволяют использовать для тестирования обычные инструменты. Для изучения был выбран фреймворк Calabash.

7/08/2014

Тестируем REST API руками почтальона


Бла-бла-бла, информационные сети становятся все сложнее и сложнее, окутывая и людей, и приложения. Особенно приложения. Особенно приложения, которыми пользуются люди. Имея постоянно расширяющуюся и развивающуюся популяцию программных продуктов, рано или поздно пришлось бы задуматься о балансе между изоляцией приложения и его взаимодействием с другими приложениями. Большинство людей часто задумываться не любят, поэтому для них и для нас волшебниками из мира программирования была выдумана такая штука, как интерфейс программирования приложений - API (application programming interface).

API - это набор программных средств (например, функций и/или процедур) приложения, позволяющий получить доступ к этому самому приложению извне.

2/16/2014

Настраиваем тестовое окружение Cucumber+Capybara+WebDriver (или Capybara-webkit) в Ruby on Rails приложении.


 

Существует несколько способов установки и настроить тестового окружение на вашем маке. Все они приводят к одному результату.
В этой статье будет рассматриваться самый простой и распространенный по мнению автора метод с использованием homebrew и rvm, хотя в качестве альтернативы можно использовать ruby-build  и  rbenv.
Для того, чтобы можно было считать ваше тестовое окружение настроенным, вы должны установить следующие компоненты:

- XCode
 - Homebrew - менеджер пакетов для MacOS
 - RVM (Ruby Version Manager)  Программа для управления версиями Ruby.
 - Необходимую версию Ruby в зависимости от проектов.
 - Необходимую версию Rails - фреймворка для веб-разработки, написанного на языке программирования Ruby.
 - Гемы

2/02/2014

Пополнение библиотеки - февраль'14


В нашей электронной пекарне теперь можно найти следующее литературное пирожное:
  • Satya Avasarala - Selenium WebDriver Practical Guide [.pdf, .epub] 
  • Rex Black, Jamie Mitchell - Advanced software test [.pdf]

12/18/2013

Переход по прямой ссылке в автоматических тестах. Хорошо или плохо?


Имеется следующая структура системы: Классы, а них находятся задания.
Цель теста проверить наличие настроек внутри задания.
Считается ли правильным переходить на задание по прямому url?
Таким образом мы экономим время на прохождения некоторых шагов. Правильным путем будет, конечно же, прохождение по "шагам", но цель - проверить настройки.
Проверка "по шагам" проверяется в другом тесте.

11/14/2013

Задание строгого порядка выполнения фич Cucumber'a


По умолчанию выполнение features/scenarios в Cucumber проходит согласно следующим правилам:

  1. В алфавитном порядке папок в папке features
  2. В алфавитном порядке файлов *.feature в папке
  3. В порядке размещения файлов *.feature находящихся в корне папки features
К примеру, мы имеем следующую структуру тестов
  • features
    • folder1
      • file1.feature
      • file2.feature
    • folder2
      • file3.feature
    • file4.feature
    • file5.feature
Выполнение команды cucumber приведет к запуску тестов в следующем порядке:
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)



8/14/2013

Автоматизированное тестирование Android-приложений с помощью ложки

Spoon - удобный инструментарий для распределенного тестирования ваших Android-приложений на реальных устройствах. Подробности можно почерпнуть на официальном сайте или в статье "It’s like 10000 knives when all you need is a Spoon" от Daniel Knott (также в этой статье есть видео с демонстрацией работы Spoon)

8/08/2013

Пополнение библиотеки - август'13


Наша библиотека пополнилась следующими книгами:

  • Aaron Sumner - Every Day Rails rspec
  • Alan Richardson - java For Testers
  • Roy de Kleijn - LearningSelenium
  • Jonathan Kohl - Test Mobile Apps
  • Željko Filipin - Homebrew's Guide to Watir




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

Найдено тут