Skip to content

Commit bd11a78

Browse files
Little revamp of the README.md
1 parent 3e65bfe commit bd11a78

File tree

1 file changed

+27
-22
lines changed

1 file changed

+27
-22
lines changed

README.md

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,43 @@
33
[![Build Status](https://travis-ci.com/digital-delivery-academy/selenium-pom-framework.svg?branch=master)](https://travis-ci.com/digital-delivery-academy/selenium-pom-framework)
44
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/122f56e1b6284b319b8c23a58ab2c664)](https://www.codacy.com/gh/digital-delivery-academy/selenium-pom-example?utm_source=github.com&utm_medium=referral&utm_content=digital-delivery-academy/selenium-pom-example&utm_campaign=Badge_Grade)
55

6-
This "framework" (don't really like that word) provides an simple, lightweight (and well structured) way to launch,
7-
control and extend (loosely) tests for Selenium/WebDriver in Java.
6+
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 our automation journey or you're just bored of writing the same "framework" over and over again, you're in the right place.
87

9-
It is also a collection of useful libraries to get things going (like getting hold of random data for tests) and a few
10-
utility helpers (NOT wrappers) that can support some more complicated tasks that we find are fairly common.
8+
You'll find no junk (hopefully) here, but it's a fairly opinionated approach:
9+
- There's no mass "wrapper" on Selenium - that's dumb
10+
- There's no Cucumber - Acceptance Test Driven Development is overkill, and we won't help you do it, it's not solving the problem you think it is ;)
11+
- We suggest using the Page Object Model, it's generally a good idea and we provide a starting point for this
12+
- We resolve Driver binaries from WebDriverManager (https://github.com/bonigarcia/webdrivermanager)
13+
- 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)
14+
- There's an externalised (and overridable) configuration system, based on JSON
15+
- We handle providing JUnit (we use version 5), Selenium and Hamcrest (for writing good assertions)
1116

12-
You'll find no junk (hopefully) here, and it's a fairly opinionated approach:
13-
- There's no "wrappers" on Selenium - that's dumb
14-
- There's no Cucumber - Acceptance Test Driven Development is overkill
15-
- We expose BasePageObjects - Page Object Model is generally a good idea
16-
- We resolve Driver binaries from WebDriverManager (because Boni Garcias library is cool)
17+
Coming soon:
18+
- SauceLabs and BrowserStack configuration.
19+
- Published artefacts to Maven Central (so you can get the framework without a GitHub membership).
20+
- Tutorials for writing tests using our toolkit.
21+
- Builds for Java 13 and older versions of Java.
22+
- And lots more marked in the issues list: https://github.com/digital-delivery-academy/selenium-pom-framework/issues
1723

18-
This boilerplate is entirely scalable. Use it as your base and build what you need.
24+
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.
1925

20-
It's highly unlikely that you need anything more complicated than this.
21-
If you do, then you probably have the scope of what you're trying to check a little wrong.
26+
All of our code is unit or integration tested.
27+
28+
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.
2229

2330
Remember that testing through a browser is brittle, slow and should be at the very top of your automation pyramid.
2431

2532
5-10% of all of your projects automated tests (if you're building bespoke software) should be here.
26-
If you end up with 500 Selenium tests
27-
then you took a wrong turn. A really wrong turn. Or you're trying to check some COTS product. Good luck to ya.
33+
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]).
2834

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

38+
## Documentation
39+
40+
- A full reference guide is here: https://github.com/digital-delivery-academy/selenium-pom-framework/wiki
41+
- Technical reference documentation (javadocs) are here: https://digital-delivery-academy.github.io/selenium-pom-framework/javadoc-0.0.4
42+
3243
## Usage
3344

3445
Put this in your POM.xml.
@@ -89,12 +100,6 @@ An example configuration (`settings.xml`) would be:
89100
</servers>
90101
</settings>
91102
```
103+
## Example tests
92104

93-
See the Documentation in the Wiki to see how to write a test.
94-
95-
## Documentation
96-
97-
Documentation for committers and users is here: https://github.com/digital-delivery-academy/selenium-pom-framework/wiki
98-
99-
Javadocs (more technical documentation) are published for each version on GitHub pages. The current version is here:
100-
https://digital-delivery-academy.github.io/selenium-pom-framework/javadoc-0.0.4
105+
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.

0 commit comments

Comments
 (0)