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 / else -
core.driver.Java8WebDriverFactory
: javaslang matchers
Lambdas / Functional Interfaces
-
core.wrappers.Java7BasePage
: explicit waits using Java 7 -
core.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 data -
pages.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 withoutDataProvider
usage for Java 8 sample (javamoney and lombok) -
testcases.SC17Java8WithDPTests
: test case withDataProvider
andTuples
usage 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)