selenium-camp-17
selenium-camp-17 copied to clipboard
Source code for SC17 talk: http://seleniumcamp.com/talk/how-java-8-can-simplify-test-automation
Selenium Camp 2017 - How does Java 8 exert hidden power on Test Automation?
This project provides talk's demos' implementation.
Video recoding will be available in a month.
WARNING: it's not a QAA framework! It's just a set of useful code snippets, which were created in a Java 7 vs Java 8 comparison format.
Here's a list of samples you may follow by watching talk's video recording:
Pattern Matching
core.driver.Java7WebDriverFactory: switch vs if / elsecore.driver.Java8WebDriverFactory: javaslang matchers
Lambdas / Functional Interfaces
core.wrappers.Java7BasePage: explicit waits using Java 7core.wrappers.Java8BasePage1stAttempt: explicit waits using Java 8 (direct approach)core.wrappers.Java8BasePage2stAttempt: explicit waits using Java 8 (increasing readability viacore.wrappers.WaitCondition- parametrized enum with lombok)
Streams
resources/app/catalog.html: target AUT (you should put it into some http server's space before tests execution)model.Product: common entity for storing product's info retrieved from AUT (lombok and javamoney)pages.Java7ProductsPage: Java 7 sample for getting a product with max discount according to retrieved AUT datapages.Java8ProductsPage: Java 8 sample for getting a product with max / min discount (or any other field) according to AUT data (streamex and lombok)core.wrappers.BasePage: abstract page for Java 8 sample (javaslang, jsoup, javamoney and streamex)testcases.SC17Java8WithoutDPTests: test case withoutDataProviderusage for Java 8 sample (javamoney and lombok)testcases.SC17Java8WithDPTests: test case withDataProviderandTuplesusage for Java 8 sample (javamoney, lombok and javaslang)
Additional samples (out of talk's scope)
core.misc.PageFactory: PageObjects factory for custom elements' types (lombok, streamex and joor)utils.FileUtils: custom waits (awaitility)