πŸ“Š UI tests for Redash
ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ
Raphael Pierzina 86a142eb7a Break long lines in .github/CODE_OF_CONDUCT.md 2018-05-14 11:15:28 +02:00
.github Break long lines in .github/CODE_OF_CONDUCT.md 2018-05-14 11:15:28 +02:00
pages Add page object model for the login page 2018-04-26 18:26:24 +02:00
tests Implement first UI tests for login 2018-04-26 18:49:22 +02:00
.dockerignore Add .dockerignore 2018-04-26 17:09:52 +02:00
.gitignore Initial commit 2018-03-13 17:44:20 +01:00
Dockerfile Create Dockerfile 2018-04-26 18:49:42 +02:00
LICENSE Initial commit 2018-03-13 17:44:20 +01:00
Makefile Automate docker tasks in Makefile 2018-04-26 18:50:12 +02:00
Pipfile Add pipenv files for Python dependencies 2018-04-26 18:24:26 +02:00
Pipfile.lock Add pipenv files for Python dependencies 2018-04-26 18:24:26 +02:00
README.md Create .github/CONTRIBUTING.md placeholder 2018-05-14 11:07:40 +02:00
variables.json Add users to variables.json 2018-04-26 18:48:32 +02:00

README.md

redash-ui-tests

πŸ“Š UI tests for Redash

Description

Redash is a open source web-application for working with data. Users can query data from different sources, create visualizations and dashboards, and share them in their organization. Please check out the knowledge base for more info about the Redash project.

The redash-ui-tests project is a community effort to develop automated UI tests for Redash. We want to be able to automatically detect UI regressions in release candidates and reduce the time spent on manual testing. We will gradually add more UI tests for functionality, that is important to our users. Check out the tests issue label to get an idea about test cases that we are planning to automate.

Contributing

Are you interested in developing UI tests in Python, or helping us improve our documentation, or have ideas for how to improve redash-ui-tests?

Please read our contributing guide and make sure to follow our [code of conduct][coc] when interacting with fellow community members.

Check out the good first issue label for tasks, that are good candidates for your first contribution to redash-ui-tests. Your contributions greatly appreciated! Every little bit helps, and credit will always be given!

Project organization

We use GitHub features to organize our work on redash-ui-tests:

  • issues for keeping track of tasks, enhancements, and bugs
  • labels for categorizing issues and pull requests
  • milestones for associating issues with project phases
  • project boards for tracking the progress of our work

Development

We use Selenium for interacting with Firefox and the Redash web UI. Tests are developed in Python 3.6 using the pytest testing framework.

We run the UI tests inside a Docker container with Ubuntu. Please install Docker to run the UI tests on your local machine.

Running the tests

Clone the git repository:

git clone git@github.com:hackebrot/redash-ui-tests.git

Navigate to the project:

cd redash-ui-tests

Build the Docker image:

docker build -t "redash-ui-tests" .

Next you want to run the tests in a new container. You need a URL pointing to a running Redash server instance, which could either be a hosted version or a local development instance.

Replace <REDASH_SERVER_URL> in the following command with the URL to Redash, for example: http://localhost:5000.

docker run \
    --net="host" \
    --env REDASH_SERVER_URL="<REDASH_SERVER_URL>" \
    --mount type=bind,source="$(pwd)",target=/home/user/src \
    "redash-ui-tests"

We also maintain a Makefile for these commands:

bash       Run bash in container as user
build      Build Docker image
clean      Delete pyc files
tests      Run tests in container