コード例 #1
0
 def test_start_stop_timer(self):
     page = testingwebpages.MyComplexPage(self.driver)
     start_time = page.start_timer()
     time.sleep(0.5)
     end_time = page.stop_timer()
     duration = page.get_duration()
     self.timer_assertions(start_time, end_time, duration)
コード例 #2
0
 def test_get_element_attr_dict(self):
     page = testingwebpages.MyComplexPage(self.driver)
     elements = page.get_element_attr(result_type=dict)
     assert len(elements) == 3, 'Expecting 3 elements'
     assert 'regular_element' in elements
     assert 'invisible_element' in elements
     assert 'not_checked_element' in elements
コード例 #3
0
 def test_start_stop_timer(self):
     page = testingwebpages.MyComplexPage(self.driver)
     page_start_time = page.start_timer(type="page")
     time.sleep(0.5)
     page_end_time = page.stop_timer(type="page")
     duration = page.get_duration(type="page")
     self.timer_assertions(page_start_time, page_end_time, duration)
コード例 #4
0
    def test_access_element_defined_indirectly_on_webpage(self):
        page = testingwebpages.MyComplexPage(self.driver)

        # None of these should throw an AttributeError
        page.regular_element
        page.invisible_element
        page.not_checked_element
コード例 #5
0
 def test_get_split_after_reset_timer(self):
     page = testingwebpages.MyComplexPage(self.driver)
     page_start_time = page.start_timer(type="page")
     assert hasattr(self.driver, "page_start_time")
     assert self.driver.page_start_time == page_start_time, "Expecting the page_start_time = {} - actual: {}".format(
         page_start_time, self.driver.page_start_time)
     page.reset_timer(type="page")
     split_time = page.get_split_time(type="page")
     assert split_time == 0, "Expecting the split time to be 0 if I haven't started a timer"
コード例 #6
0
 def test_get_element_attr_dict_with_iframe(self):
     page = testingwebpages.MyComplexPage(self.driver)
     visible_iframe = testingwebpages.MyComplexIframe(
         self.driver, Locator.by_xpath("//iframe"))
     page.visible_iframe = visible_iframe
     elements = page.get_element_attr(result_type=dict)
     assert len(elements) == 4, 'Expecting 4 elements'
     assert 'regular_element' in elements
     assert 'invisible_element' in elements
     assert 'not_checked_element' in elements
     assert 'visible_iframe' in elements
コード例 #7
0
 def test_complex_page(self):
     page = testingwebpages.MyComplexPage(self.driver)
     elements = page.get_element_attr()
     meta_data = self.calculate_meta(elements)
     assert len(
         elements
     ) == 3, "Expecting there to be 3 elements in this test complex page"
     assert meta_data['types'][
         'element'] == 3, "Expecting there to be 3 Element types"
     assert meta_data['visible'] == 1, "Expecting there to be 1 visible"
     assert meta_data['invisible'] == 1, "Expecting there to be 1 invisible"
     assert meta_data[
         'do-not-check'] == 1, "Expecting there to be 1 do-not-check"
コード例 #8
0
 def test_complex_page_with_multiple_iframes(self):
     page = testingwebpages.MyComplexPage(self.driver)
     visible_widget = testingwebpages.MyComplexWidget(
         self.driver, Locator.by_xpath("//widget"))
     visible_widget.visible_iframe = testingwebpages.MyComplexIframe(
         self.driver, Locator.by_xpath("//iframe1"))
     page.visible_widget = visible_widget
     page.visible_iframe = testingwebpages.MyComplexIframe(
         self.driver, Locator.by_xpath("//iframe2"))
     try:
         page.get_element_attr()
         assert False, "Expecting to throw an AttributeError because 2 iframes were defined on a page"
     except AttributeError:
         pass
コード例 #9
0
    def test_access_element_not_defined_directly_on_webpage(self):
        page = testingwebpages.MyComplexPage(self.driver)
        visible_widget = testingwebpages.MyComplexWidget(
            self.driver, Locator.by_xpath("//widget"))
        page.visible_widget = visible_widget

        # None of these should throw an AttributeError
        page.regular_element
        page.invisible_element
        page.not_checked_element
        page.visible_widget
        page.regular_element_on_widget
        page.invisible_element_on_widget
        page.not_checked_element_on_widget
コード例 #10
0
    def test_access_element_not_definedy_on_webpage(self):
        page = testingwebpages.MyComplexPage(self.driver)
        visible_iframe = testingwebpages.MyComplexIframe(
            self.driver, Locator.by_xpath("//iframe"))
        visible_widget = testingwebpages.MyComplexWidget(
            self.driver, Locator.by_xpath("//widget"))
        page.visible_iframe = visible_iframe
        page.visible_widget = visible_widget

        try:
            page.foobar
            assert False, "Expecting page.foobar to throw an AttributeError!"
        except AttributeError:
            pass
コード例 #11
0
 def test_get_element_attr_dict_with_expanded_widget(self):
     page = testingwebpages.MyComplexPage(self.driver)
     visible_widget = testingwebpages.MyComplexWidget(
         self.driver, Locator.by_xpath("//widget"))
     page.visible_widget = visible_widget
     elements = page.get_element_attr(result_type=dict)
     assert len(elements) == 7, 'Expecting 7 elements'
     assert 'regular_element' in elements
     assert 'invisible_element' in elements
     assert 'not_checked_element' in elements
     assert 'visible_widget' in elements
     assert 'regular_element_on_widget' in elements
     assert 'invisible_element_on_widget' in elements
     assert 'not_checked_element_on_widget' in elements
コード例 #12
0
 def test_start_get_duration_multiple_times_timer(self):
     page = testingwebpages.MyComplexPage(self.driver)
     start_time = page.start_timer()
     time.sleep(0.5)
     duration = page.get_duration()
     end_time = self.driver.end_time
     time.sleep(0.5)
     actual_duration = page.get_duration()
     assert str(actual_duration) == str(duration), "Expecting duration to be the same - actual: {} - expected: {}".format(
         actual_duration, duration)
     time.sleep(0.5)
     actual_duration = page.get_duration()
     assert str(actual_duration) == str(duration), "Expecting duration to be the same - actual: {} - expected: {}".format(
         actual_duration, duration)
     self.timer_assertions(start_time, end_time, duration)
コード例 #13
0
 def test_start_stop_split_timer(self):
     page = testingwebpages.MyComplexPage(self.driver)
     start_time = page.start_timer()
     time.sleep(0.5)
     split_time = page.get_split_time()
     assert split_time > 0
     assert not hasattr(self.driver, "end_time") or self.driver.end_time == 0
     time.sleep(0.5)
     split_time = page.get_split_time()
     assert not hasattr(self.driver, "end_time") or self.driver.end_time == 0
     assert split_time > 0
     time.sleep(0.5)
     end_time = page.stop_timer()
     duration = page.get_duration()
     assert duration > split_time
     self.timer_assertions(start_time, end_time, duration)
コード例 #14
0
 def test_complex_page_with_do_not_check_widget(self):
     page = testingwebpages.MyComplexPage(self.driver)
     page.visible_widget = testingwebpages.MyComplexWidget(
         self.driver, Locator.by_xpath("//widget")).mark_do_not_check()
     elements = page.get_element_attr()
     meta_data = self.calculate_meta(elements)
     assert len(
         elements
     ) == 4, "Expecting there to be 4 elements in this test complex page"
     assert meta_data['types'][
         'element'] == 3, "Expecting there to be 3 Element types"
     assert meta_data['types'][
         'widget'] == 1, "Expecting there to be 1 Widget types"
     assert meta_data['visible'] == 1, "Expecting there to be 1 visible"
     assert meta_data['invisible'] == 1, "Expecting there to be 1 invisible"
     assert meta_data[
         'do-not-check'] == 2, "Expecting there to be 2 do-not-check"
コード例 #15
0
 def test_complex_page_with_iframe(self):
     page = testingwebpages.MyComplexPage(self.driver)
     page.visible_iframe = testingwebpages.MyComplexIframe(
         self.driver, Locator.by_xpath("//iframe"))
     elements = page.get_element_attr()
     meta_data = self.calculate_meta(elements)
     assert len(
         elements
     ) == 4, "Expecting there to be 4 elements in this test complex page"
     assert meta_data['types'][
         'element'] == 3, "Expecting there to be 3 Element types"
     assert meta_data['types'][
         'iframe'] == 1, "Expecting there to be 1 IFrame types"
     assert meta_data['visible'] == 2, "Expecting there to be 2 visible"
     assert meta_data['invisible'] == 1, "Expecting there to be 1 invisible"
     assert meta_data[
         'do-not-check'] == 1, "Expecting there to be 1 do-not-check"
コード例 #16
0
 def test_start_stop_split_timer(self):
     page = testingwebpages.MyComplexPage(self.driver)
     page_start_time = page.start_timer(type="page")
     time.sleep(0.5)
     split_time = page.get_split_time(type="page")
     assert split_time > 0
     assert not hasattr(self.driver,
                        "page_end_time") or self.driver.page_end_time == 0
     time.sleep(0.5)
     split_time = page.get_split_time(type="page")
     assert not hasattr(self.driver,
                        "page_end_time") or self.driver.page_end_time == 0
     assert split_time > 0
     time.sleep(0.5)
     page_end_time = page.stop_timer(type="page")
     duration = page.get_duration(type="page")
     assert duration > split_time
     self.timer_assertions(page_start_time, page_end_time, duration)
コード例 #17
0
 def test_complex_page_with_widget_do_not_check_panel(self):
     page = testingwebpages.MyComplexPage(self.driver)
     visible_widget = testingwebpages.MyComplexWidget(
         self.driver, Locator.by_xpath("//widget"))
     visible_widget.do_not_check_panel = testingwebpages.MyComplexPanel(
         self.driver, Locator.by_xpath("//panel")).mark_do_not_check()
     page.visible_widget = visible_widget
     elements = page.get_element_attr()
     meta_data = self.calculate_meta(elements)
     assert len(
         elements
     ) == 8, "Expecting there to be 8 elements in this test complex page"
     assert meta_data['types'][
         'element'] == 6, "Expecting there to be 6 Element types"
     assert meta_data['types'][
         'widget'] == 1, "Expecting there to be 1 Widget types"
     assert meta_data['types'][
         'panel'] == 1, "Expecting there to be 1 Panel types"
     assert meta_data['visible'] == 3, "Expecting there to be 3 visible"
     assert meta_data['invisible'] == 2, "Expecting there to be 2 invisible"
     assert meta_data[
         'do-not-check'] == 3, "Expecting there to be 3 do-not-check"
コード例 #18
0
 def test_complex_page_with_widget_iframe(self):
     page = testingwebpages.MyComplexPage(self.driver)
     visible_widget = testingwebpages.MyComplexWidget(
         self.driver, Locator.by_xpath("//widget"))
     visible_widget.visible_iframe = testingwebpages.MyComplexIframe(
         self.driver, Locator.by_xpath("//iframe"))
     page.visible_widget = visible_widget
     elements = page.get_element_attr()
     meta_data = self.calculate_meta(elements)
     assert len(
         elements
     ) == 8, "Expecting there to be 8 elements in this test complex page"
     assert meta_data['types'][
         'element'] == 6, "Expecting there to be 6 Element types"
     assert meta_data['types'][
         'widget'] == 1, "Expecting there to be 1 Widget types"
     assert meta_data['types'][
         'iframe'] == 1, "Expecting there to be 1 IFrame types"
     assert meta_data['visible'] == 4, "Expecting there to be 4 visible"
     assert meta_data['invisible'] == 2, "Expecting there to be 2 invisible"
     assert meta_data[
         'do-not-check'] == 2, "Expecting there to be 2 do-not-check"
コード例 #19
0
 def test_get_split_timer(self):
     page = testingwebpages.MyComplexPage(self.driver)
     split_time = page.get_split_time(type="page")
     assert split_time == 0, "Expecting the split time to be 0 if I haven't started a timer"
コード例 #20
0
 def test_start_timer(self):
     page = testingwebpages.MyComplexPage(self.driver)
     page_start_time = page.start_timer(type="page")
     assert hasattr(self.driver, "page_start_time")
     assert self.driver.page_start_time == page_start_time, "Expecting the page_start_time = {} - actual: {}".format(
         page_start_time, self.driver.page_start_time)
コード例 #21
0
 def test_start_timer(self):
     page = testingwebpages.MyComplexPage(self.driver)
     start_time = page.start_timer()
     assert hasattr(self.driver, "start_time")
     assert self.driver.start_time == start_time, "Expecting the start_time = {} - actual: {}".format(
         start_time, self.driver.start_time)