|
1 |
| -vscode-docker |
| 1 | +Immutable Test Automation Environment |
2 | 2 | ======================
|
| 3 | +Gauge (https://gauge.org/) is an open source automation framework, specificially geared for acceptance tests. Our test automation teams rely on Gauge to build variety of tests using Gauge. |
3 | 4 |
|
4 |
| -Docker image for vscode |
| 5 | +At the core, Gauge allows writing tests in plain and simple markdown documents. This means anybody in the team could write acceptance test cases with test automation teams developing the building blocks (steps) in code. To begin with, we have started on-boarding Product Analysts, Product Managers and Manual Testers to test automation. As these teams are typically non-technical, we don't want to burden them with setting up their environments with installing all needed software, VS Code, extensions etc. and configure them all to work. |
| 6 | + |
| 7 | +While there are many options, we wanted to build a fully browser based environment that doesn't require any installation or needing to know how to work with Git to create branches, checkouts and pull requests. We wanted to bring a better flow that can work for even non-technical teams to colloborate. |
| 8 | + |
| 9 | +This is our **first step** in that direction. This container will help teams to bring immutability to test automation environments and manage a consistent environment across teams. |
| 10 | + |
| 11 | +## Benefits using this container |
| 12 | + |
| 13 | +- Immutable infrasturucture for test environments |
| 14 | +- Everything needed to write and run tests with Gauge are included |
| 15 | +- No more **it runs fine on my local** for test automation |
| 16 | +- Use the same container in CI/CD environments as well |
| 17 | +- Manage consistency and versioning of your test automation environments |
| 18 | + |
| 19 | +## Included in the container |
| 20 | + |
| 21 | +- Gauge |
| 22 | +- Gauge for Java |
| 23 | +- Gauge for Node.js |
| 24 | +- VSCode |
| 25 | +- VSCode extension for Gauge |
5 | 26 |
|
6 | 27 | Installation
|
7 | 28 | ------------
|
8 | 29 |
|
9 |
| -If you are using linux, install docker: http://docs.docker.com/linux/step_one/ |
10 |
| -On mac and windows, install docker desktop: https://www.docker.com/products/docker-desktop |
| 30 | +## Docker |
| 31 | +- If you are using linux, install docker: http://docs.docker.com/linux/step_one/ |
| 32 | +- On mac and windows, install docker desktop: https://www.docker.com/products/docker-desktop |
11 | 33 |
|
12 | 34 | ## Setting up
|
13 |
| - |
14 |
| -### Git: |
| 35 | +```bash |
15 | 36 | # Clone this repo
|
16 |
| - |
17 | 37 | https://github.com/softrams/automation-toolset.git
|
18 | 38 |
|
19 |
| - # Change directories into the cloned folder |
20 |
| - |
| 39 | + # Change directory into the cloned folder |
21 | 40 | cd automation-toolset
|
22 | 41 |
|
23 |
| -### Docker Compose: |
24 |
| - |
| 42 | + # Bring up the environment |
25 | 43 | docker-compose up -d
|
26 | 44 |
|
27 |
| - # to bring it down |
28 |
| - |
| 45 | + # Access VSCode in browser |
| 46 | + open http://localhost:8080 |
| 47 | + |
| 48 | + # to Shutdown the environment |
29 | 49 | docker-compose down
|
| 50 | +``` |
| 51 | +## Mount Local Workspace |
| 52 | +When container is launched, it creates a folder in user's home directory, called "automation-home". |
| 53 | +You can change this by modifying docker-compose to any folder of your choice. |
30 | 54 |
|
31 |
| -## Accessing |
| 55 | +- Container: /home/seluser |
| 56 | +- Host: ~/automation-home |
32 | 57 |
|
33 |
| - Once launched browse to http://localhost:8080 |
34 |
| - Links between host and container will be |
35 |
| - - Container: /home/seluser |
36 |
| - - Host: ~/automation-home |
37 |
| - |
38 |
| -## Tests |
39 |
| -### Steps to run tests: |
| 58 | +Now, go ahead and clone your test automation repo to ~/automation-home or create symlinks to open |
| 59 | +from browser and start building. |
| 60 | + |
| 61 | +## Thanks to these amazing projects |
| 62 | +- Gauge Framework (https://gauge.org/) |
| 63 | +- VSCode (https://code.visualstudio.com/) |
| 64 | +- VSCode in browser (https://github.com/cdr/code-server) |
| 65 | +- Docker (https://www.docker.com/) |
40 | 66 |
|
41 |
| - make sure you clone your repo containing your automation code. (This can be done locally or from vscode) |
42 |
| - using the terminal window in vscode, change directories to where you cloned your automation code. |
43 |
| - try running |
| 67 | +## Contributing |
| 68 | +Welcome PRs with suggestions and improvements towards bringing full test environments to browser. |
44 | 69 |
|
45 |
| - #example: |
46 |
| - mvn test-compile gauge:execute -DspecsDir="specs/signin" -Denv="dev-headless" |
47 | 70 |
|
0 commit comments