33
Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами Ребров Андрей Luxoft

Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

Автоматизируйте это немедленно или коллекция

инструментов автотестирования с примерами

Ребров АндрейLuxoft

Page 2: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

Обо мне

Page 3: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

Наконец-то инженерный доклад!

Page 4: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

В детстве у нас были любимые игрушки

Page 5: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

Мы выросли

Page 6: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

В детстве я любил роботовВ детстве я любил роботов

Page 7: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

Я повзрослел Я повзрослел

Page 8: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

И роботы тоже

Page 9: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

Но игрушки у меня уже другие

Page 10: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

Java

Page 11: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

Selenium 2 / WebDriver• Используются драйвера адаптированные под

конкретный бразуер• Паттерн PageObject позволяет отделить

логику тестов от реализации• Гибкая работа с ожиданиями на странице

Page 12: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

Selenium 2 / WebDriverpublic class GoogleSearchPage {

// The element is now looked up using the name attribute @FindBy(how = How.NAME, using = "q") private WebElement searchBox;

public void searchFor(String text) { // We continue using the element just as before searchBox.sendKeys(text); searchBox.submit(); }}

Page 13: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

JBehave• Тесты можно писать человеческим языком• Такие тесты может использовать Product

Owner• Можно отказаться от привычной

документации• Поддержка Groovy, Spring и прочая, прочая

Page 14: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

JBehave

Page 15: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

Robot Framework• Поддержка BDD и коробки• Поддержка Selenium из коробки• Может тестировать десктопные приложение

(java), ssh, telnet

Page 16: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

Robot Framework*** Testcases ***Login Should Succeed When the Correct Username and Password are Entered Start Selenium Server Open Browser http://zdiles.chaosnet.org/ ie Maximize Browser Window Input Text uname BUser Input Text pwd TestPass Click Button login Page Should Contain Welcome Close Browser Stop Selenium Server

Page 17: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

Ruby

Page 18: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

Watir• Очень быстро работает• Очень активное сообщество

Page 19: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

Watir# set a variable test_site = "http://www.google.com" # open a browserbrowser = Watir::Browser.new browser.goto test_site browser.text_field(:name, "q").set "pickaxe“ browser.button(:name, "btnG").clickif browser.text.include? "Programming Ruby"

puts " Test Passed. Found the test string: 'Programming Ruby'. Actual Results match Expected Results." else

puts " Test Failed! Could not find: 'Programming Ruby'." end

Page 20: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

CucumberСм. JBehave

Page 21: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

Cucumber

Page 22: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

Bwoken• Единственный в своем роде фреймворк для

тестирования iOS приложений• Не нужно учить Objective C чтобы писать тесты

Page 23: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

Bwokentest 'Favoriting a repository', (target, app) ->

RepositoriesScreen.tapRepositoryNamed 'CITravis by Travis-ci' BuildsScreen.addToFavorites(app) BuildsScreen.back() RepositoriesScreen.tapFavorites() FavoritesScreen.assertFavoriteNamed 'CITravis by Travis-ci' FavoritesScreen.tapAll()

Page 24: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

C#

Page 25: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

SWAT (Simple Web Automation Toolkit)

• Есть возможность записать скрипты с помощью UI

• Легко встроить в Fitness• Есть встроенные инструменты для работы с

SQL

Page 26: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами
Page 27: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами
Page 28: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами
Page 29: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

SWAT (Simple Web Automation Toolkit)

[Test] public void MyFirstTest() {

SWAT.WebBrowser browser = new SWAT.WebBrowser(BrowserType.InternetExplorer); browser.OpenBrowser(); browser.NavigateBrowser("http://google.com"); browser.AssertElementExists(IdentifierType.Name, "q"); browser.CloseBrowser();

}

Page 30: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

PHP

Page 31: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

С миру по нитке• Selenium• Symfony• ?

Page 32: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

Не все роботы одинаково полезны

Page 33: Автоматизируйте это немедленно или коллекция инструментов автотестирования с примерами

Вопросы?

[email protected] • Twitter: andrebrov• Skype: rebrov.andrey• Блог: andrebrov.net