Serverless – Automated Tests of web apps in the Cloud world
summary
Uses AWS Lambda and lambda layers to run browserized Selenium tests in parallel, decompressing Chrome into /tmp at runtime and storing results in DynamoDB; a proof of concept runs 500 Selenium tests reduced from ~3 hours to ~30–40 seconds by invoking hundreds of functions concurrently, pays about $0.17 for that run, and handles limits by switching request/response to event invocation; implementation notes: Python 3.7 handler, compressed binaries, 30s API sync limit, 15m async limit.
AI-written summary · about
chapters (15)
- 0:00Start
- 0:54Why do we execute E2E regression tests?
- 2:07Solution: automation
- 2:32Execution speed?
- 3:26Automated build process
- 6:20More compute resources?
- 8:04Real solution: Cloud
- 8:22Parallel test execution
- 10:22AWS Lambda initial concurrency: 500-3000
- 10:49Lambda Layers
- 27:44Limitations?
- 28:19Lambda invoke: event
- 28:39Test execution state storage
- 29:24Migration of existing tests
- 31:52DevOps Methodology
related talks
46mServerless - how to speed up tests over 300 times?
40mScaling Selenium to infinity using AWS Lambda
02h 37mServerless Deep Dive
54mContainerless in the cloud with AWS Lambda
01h 00mServerless - reality or BS - notes from the trenches
54mServerless beyond Functions
50mAutomated Serverless Security Testing: Delivering secure apps continuously
47mServerless Microservices
