Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/casecommons/cbp-selenium-grid-infrastructure

Script to setup and deploy selenium grid
https://github.com/casecommons/cbp-selenium-grid-infrastructure

Last synced: about 2 months ago
JSON representation

Script to setup and deploy selenium grid

Awesome Lists containing this project

README

        

TerraformFargateSeleniumGrid
============================

This project provides `terraform` code to deploy an autoscaling `selenium grid` running on `AWS Fargate` platform inside AWS VPC.

![Scheme](images/architecture.png)

## Prereqs
----------
#### Tools
* aws cli installed
* aws cli credentials configured
* terraform cli >= 1.0

#### Existing resources
* AWS VPC
* S3 bucket (for storing the terraform state)

#### Update `terraform/terraform.tfvars`
```
state_s3_bucket = ""
app_name = ""
vpc_id = ""
subnet_ids_nodes = ["",""]
subnet_ids_hub = ["",""]
subnet_ids_elb = ["",""]
```

## Deploy
---------

Open a terminal, enter the root of this repo and execute:
```shell

# deploy the resources
cd terraform
sh terraform_init.sh
```

Note the outputs
```
Outputs:

selenium_grid_console_url = "http://internal-selenium-1111111111.us-east-1.elb.amazonaws.com/grid/console"
selenium_grid_test_url = "http://internal-selenium-blog-1111111111.us-east-1.elb.amazonaws.com/wd/hub"
```

## Test
------------

There is a simple test in `smashtest\main.smash`

`selenium_grid_test_url` is one of the outputs from the `terraform apply` command in the Deploy section

To run the test, open a terminal, change to the `smashtest\` directory and run:

```shell
npm install smashtest

npx smashtest --test-server=[selenium_grid_test_url] --max-parallel=6
```

## Clean up
------------

To remove the deployed resources :
```shell
terraform -chdir=terraform destroy
```