Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin
-
Upload
samit-badle -
Category
Documents
-
view
1.262 -
download
0
Transcript of Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin
![Page 1: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/1.jpg)
CONTINUOUS INTEGRATION WITH SELENIUM
AT MARKTPLAATS.NL
![Page 2: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/2.jpg)
CONTENT
PROCESS OVERVIEW
GRID
FRAMEWORK
SMOKE TESTS
LAYOUT TESTING
JENKINS & PIPELINE
![Page 3: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/3.jpg)
BUILD STATISTICS
SELENIUM TESTS
BUILDS A DAY
TOTAL RUNS PER DAY
DEMO DEPLOYS PER WEEK
2.000 24
48.000 11
Se
![Page 4: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/4.jpg)
KANBAN PIPELINE
STORY TEST CASES
PM QA
READY FOR DEV QA
PD
DEMO DEPLOY
L&P DEPLOY
PROD DEPLOY
![Page 5: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/5.jpg)
GRID
CONTINUOUS INTEGRATION WITH SELENIUM
![Page 6: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/6.jpg)
GRID OVERVIEW
GRID
3 7
![Page 7: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/7.jpg)
GRID MAINTENANCE
BUILDER SSH
./all.sh uptime [email protected] 10:55:25 up 39 days, 20:32, 0 users, load average: 0.27, 0.44, 0.76 [email protected] 10:54:53 up 39 days, 20:20, 2 users, load average: 0.21, 0.32, 0.69 [email protected] 10:54:37 up 39 days, 20:21, 0 users, load average: 0.17, 0.22, 0.43 [email protected] 10:56:42 up 39 days, 20:19, 0 users, load average: 0.01, 0.20, 0.58
![Page 8: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/8.jpg)
TEST FRAMEWORK CONTINUOUS INTEGRATION WITH SELENIUM
![Page 9: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/9.jpg)
FRAMEWORK ABSTRACTION
TEST FLOW PAGE DRIVER
![Page 10: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/10.jpg)
FRAMEWORK FLOW
adUrn = new SyiFlow(driver)! .selectL1Category(“Boeken”)! .selectBucket(“Overige”)! .selectL2Category(“E-books”)! .typeTitle(“test ad title”)! .typeDescription("test ad description”)! .typePrice("12,00")! .uploadImage(1, new File(“test-image.jpg”))! .typePostcode(“1097DN”)! .submitAndNavigateToRyiPage()! .getAdvertisementUrn();!
![Page 11: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/11.jpg)
FRAMEWORK PAGE MODELS
public class LoginPage extends MarktplaatsPage<LoginPage> {! public static final String LOGIN_URL = URLS.login();! private static final By USERNAME_FIELD_LOCATOR = By.xpath("//input[@name='j_username']");! private static final By PASSWORD_FIELD_LOCATOR = By.xpath("//input[@name='j_password']");! private static final By LOGIN_BUTTON_LOCATOR = By.id("account-login-button");! ! public LoginPage(WebDriver driver) {! super(driver);! }!! @Override! public LoginPage load() {! getDriver().get(LOGIN_URL);! return this;! }!! @Override! public boolean isAvailable() {! return getEmailField().isAvailable() && getPasswordField().isAvailable();! }!! !
![Page 12: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/12.jpg)
FRAMEWORK PAGE MODELS
public void login(String username, String passwordText) {! loadAndWaitUntilAvailable();! getEmailField().inputText(username);! getPasswordField().inputText(passwordText);! loginButton().submit();! }!! public TextInput getEmailField() {! return new TextInput(getDriver(), USERNAME_FIELD_LOCATOR);! }!! public TextInput getPasswordField() {! return new TextInput(getDriver(), PASSWORD_FIELD_LOCATOR);! }! ! public WebElement loginButton() {! return getDriver().findElement(LOGIN_BUTTON_LOCATOR);! }!}!!
![Page 13: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/13.jpg)
FRAMEWORK TEST STRATEGY
COMPONENT FLOW
POSITIVE
NEGATIVE
FIELDS
MESSAGES
XSS
![Page 14: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/14.jpg)
SMOKE TESTS CONTINUOUS INTEGRATION WITH SELENIUM
![Page 15: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/15.jpg)
SMOKE TESTS APPROACH
SINGLE PLATFORM
PLATFORMS INTEGRATION
![Page 16: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/16.jpg)
SMOKE TESTS OVERVIEW
PLAT
INT
ENV
PROD
DEMO
GRID
REPORT
![Page 17: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/17.jpg)
SMOKE TESTS REPORT EXAMPLE
![Page 18: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/18.jpg)
LAYOUT TESTING CONTINUOUS INTEGRATION WITH SELENIUM
![Page 19: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/19.jpg)
LAYOUT TESTING BROWSER COMPATIBILITY
GRID
PAGES BROWSERS
REPORT
![Page 20: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/20.jpg)
LAYOUT TESTING REPORT EXAMPLE
![Page 21: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/21.jpg)
LAYOUT TESTING REPORT EXAMPLE
![Page 22: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/22.jpg)
JENKINS & PIPELINE CONTINUOUS INTEGRATION WITH SELENIUM
![Page 23: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/23.jpg)
JENKINS & PIPELINE TEST JOBS
GRID MAIN
GRID PARALLEL
NO GRID
TEST ARE GREEN TRIGGER
DEMO DEPLOY
OTHER TESTS
![Page 24: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/24.jpg)
JENKINS & PIPELINE JOBS MONITOR
![Page 25: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/25.jpg)
JENKINS & PIPELINE REPORTING
![Page 26: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/26.jpg)
JENKINS & PIPELINE REPORTING
PIPELINE APP
SELENIUM TEST
` DATABASE
REST
![Page 27: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/27.jpg)
JENKINS & PIPELINE DASHBOARD
![Page 28: Amsterdam Selenium Meetup - Continuous Integration with Selenium at Marktplaats.nl by Ivan Shubin](https://reader033.fdocuments.in/reader033/viewer/2022052821/554a19ddb4c9055c598b5316/html5/thumbnails/28.jpg)
CI & SELENIUM SUMMARY
PAST PRESENT
SELENIUM FEEDBACK
FAILURE FEEDBACK
BROWSER SUPPORT
30 – 50 MIN
30 – 50 MIN
14 - 18 MIN
RIGHT AWAY
AMOUNT OF JOBS 11 3