Code Monkey home page Code Monkey logo

selenium-camp-17's Introduction

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)

selenium-camp-17's People

Contributors

skorol-waverley avatar sskorol avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.