def test_complex_widget_with_multiple_iframes(self):
        widget = testingwebpages.MyComplexWidget(self.driver,
                                                 Locator.by_xpath("//widget"))
        visible_widget = testingwebpages.MyComplexWidget(
            self.driver, Locator.by_xpath("//widget"))
        visible_widget.visible_iframe = testingwebpages.MyComplexIframe(
            self.driver, Locator.by_xpath("//iframe1"))
        widget.visible_widget = visible_widget
        widget.visible_iframe = testingwebpages.MyComplexIframe(
            self.driver, Locator.by_xpath("//iframe2"))

        # Widgets currently do not have a check if there are multiple iframes defined
        widget.get_element_attr()
    def test_access_element_not_definedy_on_webpage(self):
        widget = testingwebpages.MyComplexWidget(self.driver,
                                                 Locator.by_xpath("//widget"))
        visible_iframe = testingwebpages.MyComplexIframe(
            self.driver, Locator.by_xpath("//iframe"))
        visible_widget = testingwebpages.MyComplexWidget(
            self.driver, Locator.by_xpath("//widget"))
        widget.visible_iframe = visible_iframe
        widget.visible_widget = visible_widget

        try:
            widget.foobar
            assert False, "Expecting widget.foobar to throw an AttributeError!"
        except AttributeError:
            pass
    def test_access_element_not_defined_directly_on_webpage(self):
        widget = testingwebpages.MyComplexWidget(self.driver,
                                                 Locator.by_xpath("//widget"))
        visible_widget = testingwebpages.MyComplexWidget(
            self.driver, Locator.by_xpath("//widget"))
        widget.visible_widget = visible_widget

        # None of these should throw an AttributeError
        widget.regular_element_on_widget
        widget.invisible_element_on_widget
        widget.not_checked_element_on_widget
        widget.visible_widget
        widget.visible_widget_regular_element_on_widget
        widget.visible_widget_invisible_element_on_widget
        widget.visible_widget_not_checked_element_on_widget
 def test_complex_widget_without_locator_get_webelement(self):
     widget = testingwebpages.MyComplexWidget(self.driver)
     try:
         widget.get_webelement()
         assert False, "Expecting an AttributeError to be thrown for a Widget with no locator"
     except AttributeError:
         pass
 def test_get_element_attr_dict_with_expanded_widget(self):
     widget = testingwebpages.MyComplexWidget(self.driver,
                                              Locator.by_xpath("//widget"))
     visible_widget = testingwebpages.MyComplexWidget(
         self.driver, Locator.by_xpath("//widget"))
     widget.visible_widget = visible_widget
     elements = widget.get_element_attr(result_type=dict)
     assert len(elements) == 8, 'Expecting 8 elements'
     assert '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
     assert 'visible_widget' in elements
     assert 'visible_widget_regular_element_on_widget' in elements
     assert 'visible_widget_invisible_element_on_widget' in elements
     assert 'visible_widget_not_checked_element_on_widget' in elements
 def test_complex_widget_with_widget(self):
     widget = testingwebpages.MyComplexWidget(self.driver,
                                              Locator.by_xpath("//widget"))
     widget.visible_widget = testingwebpages.MyComplexWidget(
         self.driver, Locator.by_xpath("//widget"))
     elements = widget.get_element_attr()
     meta_data = self.calculate_meta(elements)
     assert len(
         elements
     ) == 8, "Expecting there to be 8 elements in this test complex widget"
     assert meta_data['types'][
         'element'] == 6, "Expecting there to be 6 Element types"
     assert meta_data['types'][
         'widget'] == 2, "Expecting there to be 2 Widget 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"
 def test_complex_widget_without_locator(self):
     widget = testingwebpages.MyComplexWidget(self.driver)
     elements = widget.get_element_attr()
     meta_data = self.calculate_meta(elements)
     assert len(
         elements
     ) == 4, "Expecting there to be 4 elements in this test complex widget"
     assert meta_data['types'][
         'element'] == 3, "Expecting there to be 3 Element 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"
 def test_get_element_attr_dict_with_iframe(self):
     widget = testingwebpages.MyComplexWidget(self.driver,
                                              Locator.by_xpath("//widget"))
     visible_iframe = testingwebpages.MyComplexIframe(
         self.driver, Locator.by_xpath("//iframe"))
     widget.visible_iframe = visible_iframe
     elements = widget.get_element_attr(result_type=dict)
     assert len(elements) == 5, 'Expecting 5 elements'
     assert '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
     assert 'visible_iframe' in elements
 def test_complex_widget_with_widget_do_not_check_panel(self):
     widget = testingwebpages.MyComplexWidget(self.driver,
                                              Locator.by_xpath("//xpath"))
     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()
     widget.visible_widget = visible_widget
     elements = widget.get_element_attr()
     meta_data = self.calculate_meta(elements)
     assert len(
         elements
     ) == 9, "Expecting there to be 9 elements in this test complex widget"
     assert meta_data['types'][
         'element'] == 6, "Expecting there to be 6 Element types"
     assert meta_data['types'][
         'widget'] == 2, "Expecting there to be 2 Widget types"
     assert meta_data['types'][
         'panel'] == 1, "Expecting there to be 1 Panel 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'] == 3, "Expecting there to be 3 do-not-check"
示例#10
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
示例#11
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"
 def test_complex_widget_with_iframe(self):
     widget = testingwebpages.MyComplexWidget(self.driver,
                                              Locator.by_xpath("//widget"))
     widget.visible_iframe = testingwebpages.MyComplexIframe(
         self.driver, Locator.by_xpath("//iframe"))
     elements = widget.get_element_attr()
     meta_data = self.calculate_meta(elements)
     assert len(
         elements
     ) == 5, "Expecting there to be 5 elements in this test complex widget"
     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['types'][
         'iframe'] == 1, "Expecting there to be 1 IFrame types"
     assert meta_data['visible'] == 3, "Expecting there to be 3 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"
示例#13
0
    def test_access_element_not_defined_directly_on_webpage_with_duplicates(
            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

        # None of these should throw an AttributeError
        page.regular_element
        page.invisible_element
        page.not_checked_element
        page.visible_iframe
        page.visible_iframe_regular_element
        page.visible_iframe_invisible_element
        page.visible_iframe_not_checked_element
        page.visible_widget
        page.regular_element_on_widget
        page.invisible_element_on_widget
        page.not_checked_element_on_widget
示例#14
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"
示例#15
0
 def test_complex_page_with_widget_hidden_panel(self):
     page = testingwebpages.MyComplexPage(self.driver)
     visible_widget = testingwebpages.MyComplexWidget(
         self.driver, Locator.by_xpath("//widget"))
     visible_widget.invisible_panel = testingwebpages.MyComplexPanel(
         self.driver, Locator.by_xpath("//panel")).mark_invisible()
     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'] == 3, "Expecting there to be 3 invisible"
     assert meta_data[
         'do-not-check'] == 2, "Expecting there to be 2 do-not-check"