Skip to content

Commit 17d53e3

Browse files
author
travis-ci
committed
Merge branch 'master' of github.com:digital-delivery-academy/selenium-pom-framework
2 parents 2c3f36d + 1d9426a commit 17d53e3

File tree

2 files changed

+25
-15
lines changed

2 files changed

+25
-15
lines changed

README.md

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
[![All Contributors](https://img.shields.io/badge/all_contributors-3-orange.svg?style=flat-square)](#contributors-)
66
<!-- ALL-CONTRIBUTORS-BADGE:END -->
77

8-
This toolkit is really a culmination in 10 years of working with teams building automated UI checks with Selenium. We've found time and again that we refactor or rewrite "frameworks" that wrap the entirity of the Selenium API (to little benefit). On top of this, we see so much brittle code that we wanted to put something out there that people could use and benefit from our experience. As a result, this toolkit provides an simple, lightweight (and well structured) way to launch, control and configure tests for Selenium/WebDriver in Java. It's a curation of all of the little libraries and fixes we've used over the years. So if you're at the start of your automation journey or you're just bored of writing the same "framework" over and over again, you're in the right place.
8+
**We've released version 1.0.0!**
9+
10+
This toolkit is really a culmination of 10 years of working with teams building automated UI checks with Selenium. We've found time and again that we refactor or rewrite "frameworks" that wrap the entirity of the Selenium API (to little benefit). On top of this, we see so much brittle code that we wanted to put something out there that people could use and benefit from our experience. As a result, this toolkit provides an simple, lightweight (and well structured) way to launch, control and configure checks for Selenium/WebDriver in Java. It's a curation of all of the little libraries and fixes we've used over the years. So if you're at the start of your automation journey or you're just bored of writing the same "framework" over and over again, you're in the right place.
911

1012
You'll find no junk (hopefully) here, but it's a fairly opinionated approach:
1113
- There's no mass "wrapper" on Selenium - that's dumb
@@ -15,36 +17,38 @@ You'll find no junk (hopefully) here, but it's a fairly opinionated approach:
1517
- We provide random test data generators from Mockneat (https://github.com/nomemory/mockneat) and UK Gov (https://github.com/dwp/nino-format-validation) as well as some of our own (for dates and stuff)
1618
- There's an externalised (and overridable) configuration system, based on JSON
1719
- We handle providing JUnit (we use version 5), Selenium and Hamcrest (for writing good assertions)
20+
- Our framework is unit and integration checked as well as monitored for code quality; we treat this as a production code base, not a second class citizen.
21+
- We have a (developing) open roadmap in GitHub Issues (click the Issues tab to see what we have so far)
1822

1923
Coming soon:
20-
- SauceLabs and BrowserStack configuration.
21-
- Published artefacts to Maven Central (so you can get the framework without a GitHub membership).
22-
- Tutorials for writing tests using our toolkit.
23-
- Builds for Java 13 and older versions of Java.
24+
- SauceLabs and BrowserStack configuration (issues #2 and #3).
25+
- Instrumentation of the framework components to help visualise slow or under performing checks over time (issue #44).
26+
- Published artefacts to Maven Central (so you can get the framework without a GitHub membership) (issue #27).
27+
- Expand documentation and tutorials (issue #45)
2428
- And lots more marked in the issues list: https://github.com/digital-delivery-academy/selenium-pom-framework/issues
2529

26-
It really is a one stop shop for getting up and running with a robust toolkit for building Selenium tests, without the massive investment that many business make in hand rolling their own.
30+
It really is a one stop shop for getting up and running with a robust toolkit for building Selenium checks, without the massive investment that many business make in hand rolling their own.
2731

28-
All of our code is unit or integration tested.
32+
All of our code is unit or integration checked.
2933

3034
It's highly unlikely that you need anything more complicated than this. If you do, then you probably have the scope of what you're trying to check a little wrong.
3135

32-
Remember that testing through a browser is brittle, slow and should be at the very top of your automation pyramid.
36+
Remember that checking through a browser is brittle, slow and should be at the very top of your automation pyramid.
3337

34-
5-10% of all of your projects automated tests (if you're building bespoke software) should be here.
35-
If you end up with 500 Selenium tests then it's quite possible that you took a wrong turn. We'd be happy to talk about getting you back on the right path (get in touch: [email protected]).
38+
5-10% of all of your projects automated checks (if you're building bespoke software) should be here.
39+
If you end up with 500 Selenium checks then it's quite possible that you took a wrong turn. We'd be happy to talk about getting you back on the right path (get in touch: [email protected]).
3640

3741
If you have questions please feel free to contact me ([email protected]) or if you find issues raise a PR or
3842
submit an issue ticket.
3943

4044
## Documentation
4145

4246
- A full reference guide is here: https://github.com/digital-delivery-academy/selenium-pom-framework/wiki
43-
- Technical reference documentation (javadocs) are here: https://digital-delivery-academy.github.io/selenium-pom-framework/javadoc-0.0.13
47+
- Technical reference documentation (javadocs) are here: https://digital-delivery-academy.github.io/selenium-pom-framework/javadoc-1.0.0
4448

45-
## Example tests
49+
## Example checks/project
4650

47-
See https://github.com/digital-delivery-academy/selenium-pom-example repository for an example of how to write Selenium tests using the Page Object Model. This repository uses this framework.
51+
See https://github.com/digital-delivery-academy/selenium-pom-example repository for an example of how to write Selenium checks using the Page Object Model. This repository uses this framework.
4852

4953
## Usage
5054

@@ -54,7 +58,7 @@ Put this in your POM.xml.
5458
<dependency>
5559
<groupId>uk.co.evoco</groupId>
5660
<artifactId>selenium-pom-framework</artifactId>
57-
<version>0.0.13</version>
61+
<version>1.0.0</version>
5862
</dependency>
5963
```
6064

@@ -107,6 +111,12 @@ An example configuration (`settings.xml`) would be:
107111
</settings>
108112
```
109113

114+
## References/thanks
115+
We're using repositories from the guys below to provide some of our features:
116+
- https://github.com/bonigarcia/webdrivermanager from Boni Garcia (for getting WebDriver binaries in a lovely way)
117+
- https://github.com/nomemory/mockneat from nomemory (for generating random test data easily)
118+
- https://github.com/dwp/nino-format-validation from UK Gov. Department for Work and Pensions (for checking Ninos)
119+
110120
## Contributors
111121
<!-- markdownlint-enable -->
112122
<!-- prettier-ignore-end -->

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>uk.co.evoco</groupId>
88
<artifactId>selenium-pom-framework</artifactId>
9-
<version>0.0.13</version>
9+
<version>1.0.0</version>
1010

1111
<contributors>
1212
<contributor>

0 commit comments

Comments
 (0)