1. What is the taste of
the Selenide?
MARINSKY ROMA
TICKETS.UA
2. Selenium
Selenium is an umbrella project encapsulating a variety
of tools and libraries enabling web browser automation
WebDriver, Selenium IDE, Selenium Grid
W3C WebDriver specification
3. Selenium
Need allot of boilerplate for:
Init browsers
Wait for availability of any elements
Screenshots
Logs
Upload and download files
PageObject and PageFactory
4. Wrapper around Selenium WebDriver not a framework
Fluent API for simple using all features
Supporting AJAX for stable tests, forgot: StaleElementExaptions
Simple waiting for any conditions for each element
Multifunctional Selectors
Simple Configurations for project with tests
23. Bonus features #1
Configuration.fileDownload = PROXY;
File testFile = $(“#file”).download();
Download files via proxy
Use when form have no href or other url
for start downloading file
Download file starts after click on the
form.
Will starts proxy server witch intercepts
downloading files
24. Bonus features #2
You can use:
LoginForm loginForm = new LoginForm();
loginForm.submit.click();
Instead of:
LoginForm loginForm = page(LoginForm.class);
loginForm.submit.click();
Selenide PageFactory
You can use:
SelenideElement submit = $(“#submit”),
loginInput = $(“input.login”);
Instead of:
@FindBy(css=“#submit”)
SelenideElement submit;
@FindBy(css=“input.login”)
SelenideElement loginInput;
25. Bonus features #3
Simple Logger
When you need logging all element
actions do not use log4j and others
Use:
@Rule || @Listener
public TextReport = new TextReport();
Or
new TextReport().onFailedTest(true)
.onSucceededTest(false)
26.
27.
28. Bonus features #4
Screenshots
When you need screenshots on each
fail test or more
Use:
@Rule || @Listener
public ScreenShooter = ScreenShooter.failedTests();
Or: ScreenShooter.failedTests(). succeededTests();
29.
30. How to start?
Include dependencies: selenide & webdrivermanager
Use static imports for Selenide’s methods
Keep it simple stupid!
32. Myths about Selenide
Will be it enterprise? – No
Selenide will do tests slower! – No
Need to know Selenium at the first! – No
Selenide it isn’t OOP framework! – No
Does not have typed elements! – So what?
It’s boilerplate