1234567891011121314151617181920212223242526272829303132333435363738 |
- #!/bin/bash
- # This script does a one-shot creation of screenshots, creating needed
- # docker containers and removing them afterwards. During development,
- # it might be desirable to avoid the overhead for starting and
- # stopping the containers. Developers are encouraged to manage
- # suitable containers themselves, calling the screenshotter.js script
- # directly.
- cleanup() {
- [[ "${container}" ]] \
- && docker stop "${container}" >/dev/null \
- && docker rm "${container}" >/dev/null
- container=
- }
- container=
- trap cleanup EXIT
- status=0
- for browserTag in firefox:2.48.2 chrome:2.48.2; do
- browser=${browserTag%:*}
- image=selenium/standalone-${browserTag}
- echo "Starting container for ${image}"
- container=$(docker run -d -P ${image})
- [[ ${container} ]] || continue
- echo "Container ${container:0:12} started, creating screenshots..."
- if node "$(dirname "$0")"/screenshotter.js \
- --browser="${browser}" --container="${container}" "$@"; then
- res=Done
- else
- res=Failed
- status=1
- fi
- echo "${res} taking screenshots, stopping and removing ${container:0:12}"
- cleanup
- done
- exit ${status}
|