Very simple example of configuration for headless web testing with RSpec, Capybara, Poltergeist and PhantomJS.
From nepalez/ruby (Ubuntu 14.04 + MRI Ruby 2.1.2 + Rubygems + Bundler), add RSpec, Capybara, Poltergeist and PhantomJS.
Start container interactively, execute "rspec test.rb" in the container and examine directory for output result.
For example, From a Docker-enabled platform, such as Ubuntu 14.04, you might do the following:
cd ~
git clone https://github.com/unigeek/petulant-octo-hipster
cd petulant-octo-hipster
sudo docker build -t demo .
sudo docker run -i -t demo
rspec test.rb
You now expect to see:
1 example, 0 failures
...and issuing ls -al
should expose a new screen capture named capture.png
with a recent timestamp. You can copy this to the host by doing the following..
-
In another terminal / shell, issue
sudo docker ps
which might show something like this..CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4686d8b1a5cc demo:latest bash 8 minutes ago Up 8 minutes goofy_sammet1
-
sudo docker cp 4686d8b1a5cc:/app/petulant-octo-hipster/capture.png ~