Git Product home page Git Product logo

wooodhead / docker-python-chromedriver Goto Github PK

View Code? Open in Web Editor NEW

This project forked from joyzoursky/docker-python-chromedriver

0.0 1.0 0.0 26 KB

Dockerfile for running Python Selenium in headless Chrome (Python 2.7 / 3.6 / 3.7 / 3.8 / Alpine based Python / Chromedriver / Selenium / Xvfb included in different versions)

Home Page: https://hub.docker.com/r/joyzoursky/python-chromedriver/

License: MIT License

Python 11.35% Dockerfile 88.65%

docker-python-chromedriver's Introduction

docker-python-chromedriver

Python with Chromedriver, for running automated tests

Quick Try:

$ git clone https://github.com/joyzoursky/docker-python-chromedriver.git
$ cd docker-python-chromedriver
$ docker run -it -w /usr/workspace -v $(pwd):/usr/workspace joyzoursky/python-chromedriver:3.7 bash
/usr/wrokspace# pip install selenium
/usr/wrokspace# python test_script.py

Includes:

  • Python
  • Google Chrome
  • Chromedriver
  • Selenium (in some versions)
  • Xvfb (in some versions)

Versions:

Python 3:

  • 3.8, latest (based on python:3.8, Dockerfile)
  • 3.8-selenium (based on python:3.8 with selenium installed, Dockerfile)
  • 3.8-alpine3.10 (based on python:3.8-alpine3.10, Dockerfile)
  • 3.8-alpine3.10-selenium (based on python:3.8-alpine3.10 with selenium installed, Dockerfile)
  • 3.7, latest (based on python:3.7, Dockerfile)
  • 3.7-selenium (based on python:3.7 with selenium installed, Dockerfile)
  • 3.7-alpine3.8 (based on python:3.7-alpine3.8, Dockerfile)
  • 3.7-alpine3.8-selenium (based on python:3.7-alpine3.8 with selenium installed, Dockerfile)
  • 3.6 (based on python:3.6, Dockerfile)
  • 3.6-selenium (based on python:3.6 with selenium installed, Dockerfile)
  • 3.6-alpine3.7 (based on python:3.6-alpine3.7, Dockerfile)
  • 3.6-alpine3.7-selenium (based on python:3.6-alpine3.7 with selenium installed, Dockerfile)
  • 3.6-xvfb (based on python:3.6 with xvfb installed, Dockerfile)
  • 3.6-xvfb-selenium (based on python:3.6 with xvfb and selenium installed, Dockerfile)

Python 2:

  • 2.7 (based on python:2.7, Dockerfile)
  • 2.7-selenium (based on python:2.7 with selenium installed, Dockerfile)
  • 2.7-alpine3.7 (based on python:2.7-alpine3.7, Dockerfile)
  • 2.7-alpine3.7-selenium (based on python:2.7-alpine3.7 with selenium installed, Dockerfile)
  • 2.7-xvfb (based on python:2.7 with xvfb installed, Dockerfile)
  • 2.7-xvfb-selenium (based on python:2.7 with xvfb and selenium installed, Dockerfile)

Usage:

For the following ubuntu based images:

  • latest
  • 3.8
  • 3.8-selenium
  • 3.7
  • 3.7-selenium
  • 3.6
  • 3.6-selenium
  • 3.6-xvfb
  • 3.6-xvfb-selenium
  • 2.7
  • 2.7-selenium
  • 2.7-xvfb
  • 2.7-xvfb-selenium

Run the followings in your terminal:

$ cd [your working directory]
$ docker run -it -w /usr/workspace -v $(pwd):/usr/workspace joyzoursky/python-chromedriver:[version] bash

For the following alpine based images:

  • 3.8-alpine3.10
  • 3.8-alpine3.10-selenium
  • 3.7-alpine3.8
  • 3.7-alpine3.8-selenium
  • 3.6-alpine3.7
  • 3.6-alpine3.7-selenium
  • 2.7-alpine3.7
  • 2.7-alpine3.7-selenium

Run the followings in your terminal:

$ cd [your working directory]
$ docker run -it -w /usr/workspace -v $(pwd):/usr/workspace joyzoursky/python-chromedriver:[version] sh

This will create a container from the image. Then you could starting running the commands in the container as in your working directory. The followings are some examples to run a selenium test.

Examples to run selenium test in the container:

You can download a selenium test example from here to quick start.

For the following images with selenium pre-installed:

  • 3.8-alpine3.10-selenium
  • 3.8-selenium
  • 3.7-alpine3.8-selenium
  • 3.7-selenium
  • 3.6-alpine3.7-selenium
  • 3.6-selenium
  • 2.7-alpine3.7-selenium
  • 2.7-selenium

You may run:

# python test_script.py

For the following images that do not have selenium pre-installed:

  • latest
  • 3.8-alpine3.10
  • 3.8
  • 3.7-alpine3.8
  • 3.7
  • 3.6-alpine3.7
  • 3.6
  • 2.7-alpine3.7
  • 2.7

You may run:

# pip install selenium
# python test_script.py

For 3.6-xvfb or 2.7-xvfb, you may run:

# pip install selenium
# xvfb-run --server-args="-screen 0 1024x768x24" python test_script.py

For 3.6-xvfb-selenium or 2.7-xvfb-selenium, you may run:

# xvfb-run --server-args="-screen 0 1024x768x24" python test_script.py

Then you should see the test result like this:

test_case_1 (__main__.TestTemplate)
Find and click top-right button ... ok
test_case_2 (__main__.TestTemplate)
Find and click Learn more button ... ok

----------------------------------------------------------------------
Ran 2 tests in 8.684s

OK

docker-python-chromedriver's People

Contributors

aallbrig avatar joyzoursky avatar sootysec avatar ukwksk avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.