Aníbal Limón 1bf1e2c208 bitbake: toaster-tests: add class SeleniumTestCaseBase for browser tests
In order to reuse the Selenium helper outside a Django
environment (for functional testing), add a new module
containing the base class SeleniumTestCaseBase, which only
inherits unittest.TestCase

Add a class SeleniumTestCase with multiple inheritance of
StaticLiveServerTestCase and SeleniumTestCaseBase to prevent
existing tests from breaking.

(Bitbake rev: 1177b3f368d8b7f8557eb649adb2e327b6df801c)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-20 10:38:52 +01:00
..

# Running Toaster's browser-based test suite

These tests require Selenium to be installed in your Python environment.

The simplest way to install this is via pip:

  pip install selenium==2.53.2

Note that if you use other versions of Selenium, some of the tests (such as
tests.browser.test_js_unit_tests.TestJsUnitTests) may fail, as these rely on
a Selenium test report with a version-specific format.

To run tests against Chrome:

* Download chromedriver for your host OS from
  https://code.google.com/p/chromedriver/downloads/list
* On *nix systems, put chromedriver on PATH
* On Windows, put chromedriver.exe in the same directory as chrome.exe

To run tests against PhantomJS (headless):

* Download and install PhantomJS:
  http://phantomjs.org/download.html
* On *nix systems, put phantomjs on PATH
* Not tested on Windows

Firefox should work without requiring additional software to be installed.

The test case will instantiate a Selenium driver set by the
TOASTER_TESTS_BROWSER environment variable, or Chrome if this is not specified.

Available drivers:

* chrome (default)
* firefox
* ie
* phantomjs

e.g. to run the test suite with phantomjs where you have phantomjs installed
in /home/me/apps/phantomjs:

PATH=/home/me/apps/phantomjs/bin:$PATH TOASTER_TESTS_BROWSER=phantomjs manage.py test tests.browser