swift/tools/playbooks/cors/install_selenium.yaml
Tim Burke c5152ed4d3 Add some functional CORS tests
If you've got selenium installed (and working), the whole thing can be
automated pretty well; run main.py, wait while some windows pop up (or
use xvfb-run to run things on a virtual display), then check out what
tests were run on which browsers and whether any of them failed. Exit
code is the number of failed tests.

Includes tests against:
- Account
- Containers, with various ACLs/CORS settings
- Objects
- /info
- SLOs
- DLOs
- Symlinks

Include a gate job that runs the tests in firefox.

Areas for future work:

- Install chromium and chromedriver in the gate; tests should
  automatically pick up on the fact that it's available
- Capture the web browser's console logs, too, so we can get
  more info when things go wrong

Change-Id: Ic1d3a062419f1133c6e2f00a598867d567358c9f
2021-03-01 10:09:03 -08:00

31 lines
824 B
YAML

- hosts: all
become: true
tasks:
- name: install virtual frame buffer
yum:
name: xorg-x11-server-Xvfb
state: present
- name: install selenium
pip:
name: selenium
state: present
- name: install firefox
yum:
name: firefox
state: present
- name: fetch firefox driver
get_url:
url: https://github.com/mozilla/geckodriver/releases/download/v0.26.0/geckodriver-v0.26.0-linux64.tar.gz
dest: /tmp/geckodriver.tar.gz
- name: unpack firefox driver
unarchive:
src: /tmp/geckodriver.tar.gz
dest: /usr/local/bin
remote_src: true
- name: check firefox version
command: firefox --version
#- name: install chromium
# yum:
# name: chromium-headless
# state: present