{"id":16689240,"url":"https://github.com/sskorol/selenium-camp-17","last_synced_at":"2025-04-10T00:44:30.732Z","repository":{"id":86918464,"uuid":"83048751","full_name":"sskorol/selenium-camp-17","owner":"sskorol","description":"Source code for SC17 talk: http://seleniumcamp.com/talk/how-java-8-can-simplify-test-automation","archived":false,"fork":false,"pushed_at":"2017-03-15T21:32:04.000Z","size":37,"stargazers_count":15,"open_issues_count":0,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-10T00:44:25.956Z","etag":null,"topics":["assertj","java","java-8","javamoney","javaslang","jsoup","lombok","pageobject","qaa","selenium-webdriver","streamex","test-automation","testing","testng"],"latest_commit_sha":null,"homepage":"http://seleniumcamp.com/talk/how-java-8-can-simplify-test-automation","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sskorol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-24T14:21:22.000Z","updated_at":"2021-02-03T13:12:11.000Z","dependencies_parsed_at":"2023-03-13T19:49:14.681Z","dependency_job_id":null,"html_url":"https://github.com/sskorol/selenium-camp-17","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sskorol%2Fselenium-camp-17","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sskorol%2Fselenium-camp-17/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sskorol%2Fselenium-camp-17/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sskorol%2Fselenium-camp-17/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sskorol","download_url":"https://codeload.github.com/sskorol/selenium-camp-17/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248137997,"owners_count":21053775,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["assertj","java","java-8","javamoney","javaslang","jsoup","lombok","pageobject","qaa","selenium-webdriver","streamex","test-automation","testing","testng"],"created_at":"2024-10-12T15:47:37.162Z","updated_at":"2025-04-10T00:44:30.724Z","avatar_url":"https://github.com/sskorol.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"![selenium camp logo](http://seleniumcamp.com/wp-content/themes/selenium/images/logo-color.svg \"Selenium Camp 2017\")\n# Selenium Camp 2017 - How does Java 8 exert hidden power on Test Automation? \n\nThis project provides [talk's](http://seleniumcamp.com/talk/how-java-8-can-simplify-test-automation) demos' implementation.\n\nVideo recoding will be available in a month. \n\nWARNING: 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.\n\nHere's a list of samples you may follow by watching talk's video recording:\n\n#### Pattern Matching\n - `core.driver.Java7WebDriverFactory`: switch vs if / else\n - `core.driver.Java8WebDriverFactory`: [javaslang](http://www.javaslang.io) matchers\n \n#### Lambdas / Functional Interfaces\n - `core.wrappers.Java7BasePage`: explicit waits using Java 7\n - `core.wrappers.Java8BasePage1stAttempt`: explicit waits using Java 8 (direct approach)\n - `core.wrappers.Java8BasePage2stAttempt`: explicit waits using Java 8 (increasing readability via `core.wrappers.WaitCondition` - parametrized enum with [lombok](https://projectlombok.org))\n \n#### Streams\n - `resources/app/catalog.html`: target AUT (you should put it into some http server's space before tests execution)\n - `model.Product`: common entity for storing product's info retrieved from AUT ([lombok](https://projectlombok.org) and [javamoney](https://javamoney.github.io))\n - `pages.Java7ProductsPage`: Java 7 sample for getting a product with max discount according to retrieved AUT data\n - `pages.Java8ProductsPage`: Java 8 sample for getting a product with max / min discount (or any other field) according to AUT data ([streamex](https://github.com/amaembo/streamex) and [lombok](https://projectlombok.org))\n - `core.wrappers.BasePage`: abstract page for Java 8 sample ([javaslang](http://www.javaslang.io), [jsoup](https://jsoup.org), [javamoney](https://javamoney.github.io) and [streamex](https://github.com/amaembo/streamex))\n - `testcases.SC17Java8WithoutDPTests`: test case without `DataProvider` usage for Java 8 sample ([javamoney](https://javamoney.github.io) and [lombok](https://projectlombok.org))\n - `testcases.SC17Java8WithDPTests`: test case with `DataProvider` and `Tuples` usage for Java 8 sample ([javamoney](https://javamoney.github.io), [lombok](https://projectlombok.org) and [javaslang](http://www.javaslang.io))\n \n#### Additional samples (out of talk's scope)\n - `core.misc.PageFactory`: PageObjects factory for custom elements' types ([lombok](https://projectlombok.org), [streamex](https://github.com/amaembo/streamex) and [joor](https://github.com/jOOQ/jOOR))\n - `utils.FileUtils`: custom waits ([awaitility](https://github.com/awaitility/awaitility))\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsskorol%2Fselenium-camp-17","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsskorol%2Fselenium-camp-17","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsskorol%2Fselenium-camp-17/lists"}