POC of Java based framework for E2E UI testing of http://demos.telerik.com/kendo-ui/websushi/ website.
This project is meant for educational purposes only.
selenium = "2.49.0"
assertj = "3.6.1"
jbehave = "4.0.5"
junit = "4.11"
jehaveWebSelenium = "3.5.5"
sauceRest = "1.0.35"
- Java 8
- Gradle
- Chrome browser
-
Make sure Java 8 SDK is installed and configured (path to Java bin folder is added to PATH environment variable on Windows)
-
Download dependencies:
- Download Gradle
- Download the latest version of ChromeDriver
For Mac users:
- Install Gradle with Homebrew (for MacOS)
$ brew install gradle
- Install ChromeDriver with Homebrew:
$ brew install chromedriver
-
Store Sauce Labs credentials:
- In the terminal, export your Sauce Labs credentials as environmental variables:
$ export SAUCE_USERNAME=<your Sauce Labs username> $ export SAUCE_ACCESS_KEY=<your Sauce Labs access key>
- or add two new Environment Variables if you using Windows (restart required).
-
Local ChromeDriver configuration:
For running tests locally on Windows based environment:
- Under 'utils' folder create a new directory, with name that match your ChromeDriver version (e.g. "2.27")
- Copy ChromeDriver executable to created folder.
- Update ChromeDriverVersion in test.properties file:
ChromeDriverVersion = 2.27
On Mac:
- Feel free to use ChromeDriver installed by Homebrew. However, if you need specific ChromeDriver version, remove Chromedriver installed by Homebrew and follow set-up instruction for Windows.
$ brew remove chromedriver
$ gradle clean e2e
Use --info flag for observing the test output in console:
$ gradle clean e2e --info
Use flag --debug-jvm for running gradle task, then attach your IDE to process at address 5005:
$ gradle clean e2e --debug-jvm
This code is provided on an "AS-IS” basis without warranty of any kind, either express or implied, including without limitation any implied warranties of condition, uninterrupted use, merchantability, fitness for a particular purpose, or non-infringement. Your tests and testing environments may require you to modify this framework. Issues regarding this framework should be submitted through GitHub.