86a142eb7a | ||
---|---|---|
.github | ||
pages | ||
tests | ||
.dockerignore | ||
.gitignore | ||
Dockerfile | ||
LICENSE | ||
Makefile | ||
Pipfile | ||
Pipfile.lock | ||
README.md | ||
variables.json |
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