]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
toaster-tests: fix tests for latest Selenium version
authorElliot Smith <elliot.smith@intel.com>
Tue, 7 Jun 2016 15:37:28 +0000 (16:37 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 14 Jun 2016 10:08:58 +0000 (11:08 +0100)
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@intel.com>
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
lib/toaster/tests/browser/README
lib/toaster/tests/browser/test_js_unit_tests.py
lib/toaster/toastergui/static/js/tests/test.js

index 63e8169c166f603318c63a647bf079a892586dac..f57154eda9f2f617ff067503995763e97ad85306 100644 (file)
@@ -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:
 
index e63da8e7a5f5720b45eb015295b2369774867c96..3c0b96252f5d4c89a8be5c0e5ae43d5dc24c8ace 100644 (file)
@@ -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
+        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,
index 2b62118d01b9278d2e9c06fae5a5bccf9a18b041..44b752277ce2a74ec785aeddcb65858a31af0877 100644 (file)
@@ -2,14 +2,6 @@
 /* Unit tests for Toaster's JS */
 
 /* libtoaster tests */
-QUnit.done(function(details){
-    /* Selenium test will look for these elements to get the results */
-  var body = $('body');
-  body.append("<span id='tests-failed'>"+details.failed+"</span>");
-  body.append("<span id='tests-passed'>"+details.passed+"</span>");
-  body.append("<span id='tests-total'>"+details.total+"</span>");
-});
-
 QUnit.test("Layer alert notification", function(assert) {
   var layer = {
     "layerdetailurl":"/toastergui/project/1/layer/22",