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:
core.driver.Java7WebDriverFactory
: switch vs if / elsecore.driver.Java8WebDriverFactory
: javaslang matchers
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)
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 withoutDataProvider
usage for Java 8 sample (javamoney and lombok)testcases.SC17Java8WithDPTests
: test case withDataProvider
andTuples
usage for Java 8 sample (javamoney, lombok and javaslang)
core.misc.PageFactory
: PageObjects factory for custom elements' types (lombok, streamex and joor)utils.FileUtils
: custom waits (awaitility)