Casecommons / cbp-selenium-grid-infrastructure

Script to setup and deploy selenium grid

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TerraformFargateSeleniumGrid

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

Scheme

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:

# 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:

npm install smashtest

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

Clean up


To remove the deployed resources :

terraform -chdir=terraform destroy

About

Script to setup and deploy selenium grid


Languages

Language:HCL 96.9%Language:Shell 3.1%