11. Selenium 2 / WebDriver
• Используются драйвера адаптированные под
конкретный бразуер
• Паттерн PageObject позволяет отделить
логику тестов от реализации
• Гибкая работа с ожиданиями на странице
12. Selenium 2 / WebDriver
public 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();
}
}
13. JBehave
• Тесты можно писать человеческим языком
• Такие тесты может использовать Product
Owner
• Можно отказаться от привычной
документации
• Поддержка Groovy, Spring и прочая, прочая
15. Robot Framework
• Поддержка BDD и коробки
• Поддержка Selenium из коробки
• Может тестировать десктопные приложение
(java), ssh, telnet
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
19. Watir
# set a variable
test_site = "http://www.google.com"
# open a browser
browser = Watir::Browser.new
browser.goto test_site
browser.text_field(:name, "q").set "pickaxe“
browser.button(:name, "btnG").click
if 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
25. SWAT (Simple Web Automation
Toolkit)
• Есть возможность записать скрипты с
помощью UI
• Легко встроить в Fitness
• Есть встроенные инструменты для работы с
SQL
26.
27.
28.
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();
}