Using maven, include it as a dependency:
<dependency> <groupId>io.ddavison</groupId> <artifactId>conductor</artifactId> <version>3.0.2</version> </dependency>
Create a Java Class, and extend it from
Drivers should be put in the resources folder of your project in a subdirectory called drivers, and be named like this:
So as an example, your project structure could be:
Project | src | main | java | TestClass.java | resources | drivers | chromedriver-mac-32bit | chromedriver-windows-32bit.exe | chromedriver-linux-32bit | pom.xml
Currently, six browsers are supported and they are Firefox, HTMLUnit, Chrome, Internet Explorer, Safari, and PhantomJS
The primary goals of this project are to...
- Take advantage of method chaining, to create a fluent interface.
- Abstract the programmer from bloated scripts resulting from using too many css selectors, and too much code.
- Provide a quick and easy framework in Selenium 2 using Java, to get started writing scripts.
- Provide a free to use framework for any starting enterprise, or individual programmer.
- Utilize the power of CSS!
You can perform any action that you could possibly do, using the inline actions.
This is one of the most important features that I want to accentuate.
All of these methods are able to be called in-line, and fluently without ever having to break your tests.
Another nice feature that is offered, is the simplicity of window switching in Selenium.
All of these functions take a regular expression argument, and match either the url or title of the window that you want to interact with.
In addition to the Selenium 2 implicit waiting, the
AutomationTest class extends on this concept by implenting a sort of
waitFor functionality which ensures that an object appears before interacting with it. This rids of most
ElementNotFound exceptions that Selenium will cough up.
See a working example of what a test script written using this framework might look like.
If you have an idea for the framework, fork it and submit a pull-request!