[Toaster] [PATCH 8/9] toaster-tests: fix tests for latest Selenium version
Michael Wood
michael.g.wood at intel.com
Tue Jun 7 03:47:19 PDT 2016
On 06/06/16 17:01, Ed Bartosh wrote:
> From: Elliot Smith <elliot.smith at intel.com>
>
> Previously, we didn't specify a specific version of Selenium.
> When upgrading to Python 3 and installing Selenium to work with it,
> the JS unit test broke, as the report format produced by Selenium
> had changed.
>
> Modify the test so that it works with the latest Selenium report
> format.
>
> Add a note to the README that the given Selenium version should
> be used to prevent unexpected test failures.
>
> Signed-off-by: Elliot Smith <elliot.smith at intel.com>
> Signed-off-by: Ed Bartosh <ed.bartosh at linux.intel.com>
> ---
> bitbake/lib/toaster/tests/browser/README | 7 ++++---
> bitbake/lib/toaster/tests/browser/test_js_unit_tests.py | 8 ++++----
> 2 files changed, 8 insertions(+), 7 deletions(-)
>
> diff --git a/bitbake/lib/toaster/tests/browser/README b/bitbake/lib/toaster/tests/browser/README
> index 63e8169..f57154e 100644
> --- a/bitbake/lib/toaster/tests/browser/README
> +++ b/bitbake/lib/toaster/tests/browser/README
> @@ -4,10 +4,11 @@ These tests require Selenium to be installed in your Python environment.
>
> The simplest way to install this is via pip:
>
> - pip install selenium
> + pip install selenium==2.53.2
>
> -Alternatively, if you used pip to install the libraries required by Toaster,
> -selenium will already be installed.
> +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:
>
> diff --git a/bitbake/lib/toaster/tests/browser/test_js_unit_tests.py b/bitbake/lib/toaster/tests/browser/test_js_unit_tests.py
> index e63da8e..3c0b962 100644
> --- a/bitbake/lib/toaster/tests/browser/test_js_unit_tests.py
> +++ b/bitbake/lib/toaster/tests/browser/test_js_unit_tests.py
> @@ -38,11 +38,11 @@ class TestJsUnitTests(SeleniumTestCase):
> def test_that_js_unit_tests_pass(self):
> url = reverse('js-unit-tests')
> self.get(url)
> - self.wait_until_present('#tests-failed')
> + self.wait_until_present('#qunit-testresult .failed')
>
> - failed = self.find("#tests-failed").text
> - passed = self.find("#tests-passed").text
> - total = self.find("#tests-total").text
If these elements are no longer needed, can you also remove them from
the jsunit test page (static/js/tests/tests.js) thanks
> + failed = self.find("#qunit-testresult .failed").text
> + passed = self.find("#qunit-testresult .passed").text
> + total = self.find("#qunit-testresult .total").text
>
> logger.info("Js unit tests completed %s out of %s passed, %s failed",
> passed,
More information about the toaster
mailing list