/PhantomJsEnv

Docker image with PhantomJS installed

Primary LanguageShellMIT LicenseMIT

PhantomJsEnv

This is a Docker Image with PhantomJS headless browser installed. PhantomJsEnv was created to run Selenium tests on PhantomJs wihtout installing NodeJS and PhantomJS. PhantomJs is executed inside a container in ghostrdirver mode and connected from a host machine.

Installation

Grab prepacked image from a Docker Hub

docker pull davert/phantomjs-env

Or build image by yourself. Just clone this repo and run

docker build -t phantomjs-env .

Usage

PhantomJsEnv is able to connect to local or remote web sites.

Accessing Remote Website

Run the container and bind it to default Webdriver port 4444

docker run -i -t -p 4444:4444 davert/phantomjs-env 

Accessing Local Website by Port

In case you want to access local website from container you can do the following: if application is run on localhost (0.0.0.0) on a specific port, you can pass APP_PORT environment variable into it:

php -S 0.0.0.0:8000 & 
docker run -i -t -p 4444:4444 -e APP_PORT=8000 davert/phantomjs-env 

Accessing Local Website by Host

In case local web site is served by nginx or Apache, and is configured for a specific host, you can pass host name as environment variable:

docker run -i -t -p 4444:4444 -e APP_HOST=myapp davert/phantomjs-env 

Accessing Site with self-signed certificate

If you want to test site in local environment without proper SSL certificate, you can pass APP_ANY_PROTOCOL setting as environment variable:

docker run -i -t -p 4444:4444 -e APP_ANY_PROTOCOL=true davert/phantomjs-env