Skip to content
Snippets Groups Projects
To learn more about this project, read the wiki.

Tested on Ubuntu 16.04 with Docker version 18.09.2

Other Documentation

More documentation and docker tips are located in:

Build Images

  1. Clone the docker image repository:
    git clone https://systemvcs.math.uzh.ch/megger/qfq_docker.git

  2. Build images as explained in the README.md of the image repository. For the below scripts to work please name the images python-selenium and typo3-qfq respectively.

Run and Interact with Containers

Run qfq in docker container from scratch

  1. clone qfq git project

    git clone https://git.math.uzh.ch/typo3/qfq

  2. change to project directory (qfq)

  3. make bootstrap

  4. cd docker

  5. ./run_qfq_docker.sh

  6. open the newly generated file run_qfq_docker.output and copy the value of T3_PORT. In a browser go to 127.0.0.1:<T3_PORT>.

Deploy qfq extension changes to running container

Assumes you have run qfq in docker as explained above.

  1. change to docker directory
  2. ./deploy_to_container.sh

Dump QFQ and (truncated) Typo3 databases to docker directory

Assumes you have run qfq in docker as explained above.

  1. again from the docker directory run
    ./dump_databases.sh (this will overwrite the db_fixtrue_*.sql files)

Run Phpmyadmin

ATTENTION: Use Firefox if Phpmyadmin login does not work in Chrome!

Assumes you have run qfq in docker as explained above.

  1. change to docker directory and run ./run_phpmyadmin.sh
  2. open the file run_qfq_docker.output and copy the value of PMA_PORT. In a browser (Firefox) go to 127.0.0.1:<PMA_PORT>.

Run selenium tests on local machine (with visible browser)

Assumes you have run qfq in docker as explained above.

  1. Install selenium for python: python3 -m pip install --user selenium
  2. again from the docker directory run ./run_selenium_tests_local.sh

Run a single selenium test file on local machine

Assumes you have run qfq in docker as explained above.

  1. copy T3_PORT from docker/run_qfq_docker.output
  2. Export variables (replace <T3_PORT>):
    export SELENIUM_URL="http://127.0.0.1:<T3_PORT>" SELENIUM_HEADLESS="no"
  3. in extension/Tests/selenium run python <selenium test file>.py

Run selenium tests in docker container (test execution not visible)

Assumes you have run qfq in docker as explained above.

  1. from the docker directory run ./run_selenium_tests_docker.sh

Permanently remove all above created containers and their data

(only removes the containers listed in run_qfq_docker.output)

  1. from the docker directory run ./remove-containers.sh

TROUBLE SHOOT

WebDriverException: Message: 'chromedriver' executable needs to be in PATH

  1. Download Chromedriver:
    wget -O /tmp/chromedriver.zip http://chromedriver.storage.googleapis.com/`curl -sS chromedriver.storage.googleapis.com/LATEST_RELEASE`/chromedriver_linux64.zip

  2. Unzip chromedriver to current working directory
    unzip /tmp/chromedriver.zip chromedriver

  3. export chromedriver path environment variable before running selenium tests locally
    export CHROMEDRIVER_PATH=<absolute path to chromedriver>/chromedriver