summaryrefslogtreecommitdiffstats
path: root/tests/selenium/qunit_test.py
blob: f6afa4a0f1de4fdf67443aeb689fe8c9023d17ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/env python
# -*- coding: UTF-8 -*-

import unittest

import pbtest

from selenium.common.exceptions import TimeoutException


class QUnitTest(pbtest.PBSeleniumTest):

    def test_run_qunit_tests(self):
        self.load_url(self.test_url)

        try:
            # this text appears when tests finish running
            self.txt_by_css(
                "#qunit-testresult-display > span.total",
                timeout=120
            )
        except TimeoutException as exc:
            self.fail("Cannot find the results of QUnit tests %s" % exc)

        print("\nQUnit summary:")
        print(self.txt_by_css("#qunit-testresult-display"))

        failed_test_els = self.driver.find_elements_by_css_selector(
            ".fail .test-name"
        )
        fail_msg = "The following QUnit tests failed:\n  * {}".format(
            "\n  * ".join([el.text for el in failed_test_els])
        )

        self.assertTrue(len(failed_test_els) == 0, msg=fail_msg)

if __name__ == "__main__":
    unittest.main()