You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.2 KiB
62 lines
1.2 KiB
# Example of End To End Testing Using Selenium Webdriver and Jasmine Tests With Istanbul Code Coverage
|
|
|
|
## Installation
|
|
|
|
### Global Installation
|
|
|
|
Firstly, install `grunt-cli` globally:
|
|
|
|
```
|
|
npm install -g grunt-cli
|
|
```
|
|
|
|
Next install `jasmine-node` test runner globally:
|
|
|
|
```
|
|
npm install -g jasmine-node
|
|
```
|
|
|
|
Now we'll download a browser driver that Selenium will use to control Firefox:
|
|
|
|
1. Download firefox webdriver: https://github.com/mozilla/geckodriver/releases/tag/v0.16.1
|
|
1. Put the driver somewhere in your PATH
|
|
- e.g. `/usr/local/bin`
|
|
|
|
### Local Installation
|
|
|
|
1. clone this repo somewhere on your computer
|
|
1. `cd` into the newly created directory for the locally cloned version of this repo
|
|
1. Install all necessary node packages:
|
|
|
|
```
|
|
npm install
|
|
```
|
|
|
|
## Running
|
|
|
|
Website code from `src/` into the `prod/` directory and instrument it:
|
|
|
|
```
|
|
grunt dev
|
|
```
|
|
|
|
Start a local static file web server in a different terminal window:
|
|
|
|
```
|
|
grunt server
|
|
```
|
|
|
|
Back in the previous terminal window, run the tests:
|
|
|
|
```
|
|
jasmine-node specs/test-spec.js
|
|
```
|
|
|
|
The tests have been run, and the coverage has been generated. Create human readble report:
|
|
|
|
```
|
|
grunt report
|
|
```
|
|
|
|
This will create an html report and put it in `coverage/lcov-report/index.html`
|