UI-level acceptance test framework
Latest commit 0103401 Nov 20, 2018



PyPI Travis Codecov Documentation Supported Python versions License

UI-level acceptance test framework. Full documentation available on ReadTheDocs.


A Python framework for writing robust Selenium tests.


As Bok Choy is a Python framework, you first need to install Python. If you’re running Linux or Mac OS X, you probably already have it installed. We recommend that you use pip to install your Python packages:

pip install bok_choy

Running Tests

To run the test suite for bok-choy itself:

  • Install Firefox; as of this writing, the current version 59.0.1 works with the latest selenium Python package (3.11.0)
  • Install phantomjs
  • Create a virtualenv which uses Python 2.7, 3.5, or 3.6
  • With that virtualenv activated, run pip install -r requirements/tox.txt to install the tox testing tool and its dependencies
  • Run tox -e py27 (or tox -e py35, etc.). If you want to run the tests in parallel, add the desired number of worker processes like tox -e py27 -- -n 5 or tox -e py35 -- -n auto.
  • To test and build the documentation, run tox -e doc
  • To run an individual test, run py.test tests/<test file>::<test class>::<test name>


The code in this repository is licensed under the Apache License, Version 2.0, unless otherwise noted.

Please see LICENSE.txt for details.

How to Contribute

Contributions are very welcome. The easiest way is to fork this repo, and then make a pull request from your fork. The first time you make a pull request, you may be asked to sign a Contributor Agreement.

Reporting Security Issues

Please do not report security issues in public. Please email security@edx.org

Mailing List and IRC Channel

You can discuss this code on the edx-code Google Group or in the testing channel on the Open edX Slack.