Skip to content

sskorol/selenium-camp-17

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

selenium camp logo

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 via core.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 without DataProvider usage for Java 8 sample (javamoney and lombok)
  • testcases.SC17Java8WithDPTests: test case with DataProvider and Tuples 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)