Deprecated UI-level acceptance test framework


License
Apache-2.0
Install
pip install bok-choy==2.0.2

Documentation

bok-choy

PyPI Github CI Codecov Documentation Supported Python versions License

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

⚠️ Deprecation Notice ⚠️

As of 2022-02-18, bok-choy is deprecated. All tests written using bok-choy have either been removed or are slated to be removed soon. Please do not write new tests using bok-choy! In the near future, this repository will be archived.

Overview

A Python framework for writing robust Selenium tests.

Installation

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

Note

On Ubuntu Linux 18.04 you might have to install firefox-geckodriver (for Firefox) and/or chromium-chomedriver (for Chromium), especially if you hit the following Error when running bok_choy:

bok_choy.promise.BrokenPromise: Promise not satisfied: Browser is instantiated successfully.

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 3.8
  • With that virtualenv activated, run pip install -r requirements/ci.txt to install the tox testing tool and its dependencies
  • Run tox -e py38. If you want to run the tests in parallel, add the desired number of worker processes like tox -e py38 -- -n 5 or tox -e py38 -- -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>

License

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.