Top Banner
Тестирование web-приложений на базе технологий Ruby / Cucumber / Watir WebDriver
30

Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

Feb 09, 2017

Download

Software

Alex Mikitenko
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: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

Тестирование web-приложений на базе технологий Ruby / Cucumber / Watir WebDriver

Page 2: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

TDD BDD

Test-driven development: pазработка через тестирование

Behavior-driven development: pазработка через поведение

Page 3: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

Виды тестирования (по охвату тестируемого приложения)

модульное интеграционное

системное приемочное

Page 4: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

Cucumber гибкий BDD-фреймворк для написания acceptance-тестов

Page 5: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

scenario 1

scenario 3

scenario 2

scenario 4

background

Feature:

step definitions

Page 6: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

Feature + scenarios + steps

Page 7: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

Background

Page 8: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

Step definitions

Page 9: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

env.rb

Page 10: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

hooks.rb

Page 11: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

World

Page 12: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

Запуск тестов

• стандартный запуск:

• через rake:

Page 13: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

Cucumber HTML formatter

Page 14: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

Selenium WebDriver – это программная библиотека для управления браузерами.

Watir WebDriver – ruby-фреймворк для автоматизации тестов веб-приложений, который базируется на библиотеке Selenium WebDriver.

Page 15: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

Инициализация драйвера

Page 16: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

Web Elements методы доступа и манипулирования web-елементами страницы

Page 17: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

Text fields and select lists

Page 18: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

Radiobuttons and checkboxes

Page 19: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

Buttons and links

Page 20: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

Divs and spans

Page 21: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

WYSIWYG Editors (What You See Is What You Get)

Page 22: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

Ожидание элементов (AJAX ожидания)

Явные ожидания (explicit waits)• Watir::Wait.until { ... }: where you can wait for a block to be true • object.when_present.set: where you can do something when it’s present • object.wait_until_present: where you just wait until something is present • object.wait_while_present: where you just wait until something disappears

Неявные ожидания (implicit waits)

Page 23: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

Page Objects шаблон проектирования тестового приложения для поиска конкретных элементов страницы

Page 24: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

Watirsome

Page 25: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

RSpec гибкий BDD-фреймворк для написания unit-тестов

Page 26: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

RSpec Expectations (part 1)

Page 27: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

RSpec Expectations (part 2)

Page 28: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

RSpec Expectations (part 3)

Page 29: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

RSpec Expectations (part 4)

Page 30: Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver

References

• Все о cucumber: https://cucumber.io/ • Cucumber wiki: https://github.com/cucumber/cucumber/wiki/A-Table-Of-Content • Все о Selenium WebDriver (ru): http://selenium2.ru/ • Все о Watir WebDriver: http://watirwebdriver.com/ • Концепция PageObject: http://martinfowler.com/bliki/PageObject.html • Watirsome на github: https://github.com/p0deje/watirsome • Rspec core: http://rspec.info/documentation/3.3/rspec-core • Rspec expectations: http://rspec.info/documentation/3.3/rspec-expectations/ • Rspec guidelines: http://betterspecs.org/ • Ruby и тестирование: https://github.com/atinfo/awesome-test-automation/blob/

master/ruby-test-automation.md