I need somebody who can:
1) Build a docker image which has Python, pyenv and various dependencies installed, and will execute a python script when the container starts. It must have some kind of healthcheck, so docker can restart any instances which are failing.
2) Assist with Python scripting to make simple requests from a command-and-control server via REST for testing tasks to do, which will comprise a piece of functionality to be tested and the security credentials required
3) Improve Selenium webdriver Python Web testing automation scripts to make them behave more 'randomised' and unpredictably - ideally to behave in a 'realistic humanlike' way.
4) Assist in writing setup scripts to set up new EC2 instances very quickly.
5) Ideally be able to write RESTful APIs using Python Flask, and persist data using Mongo or some other persistent datastore. Data stored will be stats about the testing - which users have been tested, which functionality they tested, how long the tests took etc. etc. Pretty basic stuff though - almost 100% GET request, with some data retrieved from DB and updated.
The finished project will be able to automate the testing of a website, simulating the action of many different users who behave in very different ways, but with realistic behaviour. It should be SCALABLE, so more & more EC2 instances running multiple docker containers can be added, to load test the website.
The essential skillset:
- Selenium web automation testing
- Bash/shell scripting
- Unix (Ubuntu)
- DB persistence (SQL or NoSQL - whatever your preference)