In some pages of the UI, the UI tests failed because parts of the UI which should be visible were being reported as not visible by the Selenium PhantomJS driver. On investigation, it turns out that PhantomJS uses a very narrow default window. This meant that some parts of the UI were being clipped and were thus not "visible" to the driver, causing test failures (specifically, on the new custom image page). Ensure that the window is maximized before running tests to prevent this happening. (Bitbake rev: 3f61bef9359926211be7a3177a2071963726ead5) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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
Alternatively, if you used pip to install the libraries required by Toaster, selenium will already be installed.
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