Skip to content

jonsoini/Selenium-UI-testing-with-AWS-Lambda-Layers

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

Selenium UI testing with AWS Lambda Layers

This is an example of set up Selenium testing with AWS lambda layers Python3.6

File Structure

  • seleniumLayer - Selenium
  • lambda
── /seleniumLayer/  # lambda layers
  ├── /selenium  lambda layer of selenium lib
  │  └──/python/      # python libs
  │   └── /lib/    
  │     └── /python3.6/*    
  ├── /chromedriver/    # lambda layer of headless Chrome 
  │ ├── /chromedriver   # chrome driver
  │ └── /headless-chromium # headless chrome binary
  └── /serverless.yaml     
── /lambda/            # lambda function
  ├── /handler.py      # source code of lambda function 
  └── /serverless.yaml # serverless config

Stack

Install

Go to root directory of project

# download Selenium 2.37
$ pip3.6 install -t seleniumLayer/selenium/python/lib/python3.6/site-packages selenium=2.37

# download chrome driver
$ cd seleniumLayer
$ mkdir chromedriver
$ cd chromedriver
$ curl -SL https://chromedriver.storage.googleapis.com/2.37/chromedriver_linux64.zip > chromedriver.zip
$ unzip chromedriver.zip
$ rm chromedriver.zip

# download chrome binary
$ curl -SL https://github.com/adieuadieu/serverless-chrome/releases/download/v1.0.0-41/stable-headless-chromium-amazonlinux-2017-03.zip > headless-chromium.zip
$ unzip headless-chromium.zip
$ rm headless-chromium.zip

Install serverless command

Do this if you don't have serverless in your machine yet

npm config set prefix /usr/local
and then,
npm i -g serverless

Deploy Lambda Layers

Go to root directory of project

$ cd seleniumLayer
$ sls deploy 

Deploy Lambda Function

Go to root directory of project

$ cd lambda
$ sls deploy 

Start Testing

Go to root directory of project

$ cd lambda
$ sls invoke --function hello

About

Selenium UI testing with AWS Lambda Layers

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Python 100.0%