def test_get_value_from_cookie_with_correct_value(): finder = Finder("driver", "logger") test_interrogator = Interrogator(MockDriver(), finder, "logger") name = "cookie-consent" result = test_interrogator.get_value_from_cookie(name) assert_that(result, equal_to("%7B%22preferences%22%3Atrue%7D"), f"Incorrect cookie value when searching for name: '{name}'")
def test_get_value_from_cookie_with_wrong_key_value(): finder = Finder("driver", "logger") test_interrogator = Interrogator(MockDriver(), finder, "logger") name = "nhsuk-consent" result = test_interrogator.get_value_from_cookie(name) assert_that(result, equal_to(""), f"Incorrect cookie value when searching for name: '{name}'")
def test_is_element_or_parent_visible_no_elements_found(): mock_finder = MagicMock() mock_finder.elements.return_value = [] interrogate = Interrogator(None, mock_finder, None) result = interrogate.is_element_or_parent_visible(default_page_element) assert_that(result, equal_to(False), "No elements should have been found")
def test_is_element_or_parent_visible_parent_visible(): mock_finder = MagicMock() mock_finder.elements.return_value = [MockElement(False, False, True)] interrogate = Interrogator(None, mock_finder, None) result = interrogate.is_element_or_parent_visible(default_page_element) assert_that(result, equal_to(True), "Element's parent should be visible")
def test_get_number_of_elements(): mock_finder = MagicMock() mock_finder.elements.return_value = ["element_1", "element_2", "element_3"] interrogate = Interrogator(None, mock_finder, None) result = interrogate.get_number_of_elements(default_page_element) assert_that(result, equal_to(3), "Incorrect number of elements found")
def test_get_current_url(): mock_driver = MagicMock() mock_driver.current_url = "test/url" interrogate = Interrogator(mock_driver, None, None) result = interrogate.get_current_url() assert_that(result, equal_to("test/url"), "The correct URL was not found")
def test_get_attribute_no_element_found(): mock_finder = MagicMock() mock_finder.elements.return_value = [] interrogate = Interrogator(None, mock_finder, None) result = interrogate.get_attribute(default_page_element, "test_attr") assert_that(result, equal_to(""), "No elements should have been found")
def test_is_element_visible(): elements = [MockElement("true")] finder = MockFinder(list_of_elements_to_return=elements) test_interrogator = Interrogator("", finder, "logger") test_interrogator.is_element_visible(PageElement(By.ID, "some_id")) assert_that(elements[0].is_displayed_called, is_(1), "is_displayed was not called the expected amount of times")
def test_element_has_class_no_elements_found(): mock_finder = MagicMock() mock_finder.elements.return_value = [] interrogate = Interrogator(None, mock_finder, None) result = interrogate.element_has_class(default_page_element, "test_class") assert_that(result, equal_to(False), "No elements should have been found")
def test_is_element_enabled_no_element_found(): mock_finder = MagicMock() mock_finder.elements.return_value = [] interrogate = Interrogator(None, mock_finder, None) result = interrogate.is_element_enabled(default_page_element) assert_that(result, equal_to(False), "Element should not be found")
def test_get_number_of_elements_with_background_url_no_elements_found(): mock_finder = MagicMock() mock_finder.elements.return_value = [] interrogate = Interrogator(None, mock_finder, None) result = interrogate.get_number_of_elements_with_background_url( default_page_element) assert_that(result, equal_to(0), "No elements should have been found")
def test_table_is_not_empty_handles_table_body_not_found(): mock_finder = MagicMock() mock_finder.element.return_value = None interrogate = Interrogator(None, mock_finder, MagicMock(name="logger")) result = interrogate.table_is_not_empty(default_page_element) assert_that(result, equal_to(False), "Empty table body should have been handled")
def test_is_element_visible_and_contains_text_no_elements_found(): mock_finder = MagicMock() mock_finder.visible_elements.return_value = [] interrogate = Interrogator(None, mock_finder, None) result = interrogate.is_element_visible_and_contains_text( default_page_element, "test-text") assert_that(result, equal_to(False), "No elements should be found")
def test_get_text(): mock_element = MagicMock() mock_element.text = "text_content" mock_finder = MagicMock() mock_finder.element.return_value = mock_element interrogate = Interrogator(None, mock_finder, None) result = interrogate.get_text(default_page_element) assert_that(result, equal_to("text_content"), "Text not found correctly")
def test_is_element_enabled(): mock_element = MagicMock() mock_element.is_enabled.return_value = True mock_finder = MagicMock() mock_finder.elements.return_value = [mock_element] interrogate = Interrogator(None, mock_finder, None) result = interrogate.is_element_enabled(default_page_element) assert_that(result, equal_to(True), "Element should not be enabled")
def test_element_contains_link_incorrect_link(): mock_finder = MagicMock() mock_finder.elements.return_value = [MockElement(True)] interrogate = Interrogator(None, mock_finder, None) result = interrogate.element_contains_link(default_page_element, "test_url_2") assert_that(result, equal_to(False), "Element should not have been found with the incorrect link")
def test_element_parent_has_class(): mock_finder = MagicMock() mock_finder.elements.return_value = [MockElement(True, False, True)] interrogate = Interrogator(None, mock_finder, None) result = interrogate.element_parent_has_class(default_page_element, "test_class") assert_that(result, equal_to(True), "Parent should have been found with the expected class")
def test_element_sibling_has_class_incorrect_class(): mock_finder = MagicMock() mock_finder.elements.return_value = [MockElement(True)] interrogate = Interrogator(None, mock_finder, None) result = interrogate.element_sibling_has_class(default_page_element, "test_class_2") assert_that(result, equal_to(False), "Sibling should not have been found with the incorrect class")
def test_get_all_cookies(): driver = MagicMock() driver.get_cookies.return_value = "test_cookie" interrogate = Interrogator(driver, None, None) cookies = interrogate.get_all_cookies() driver.get_cookies.assert_called_once() assert_that(cookies, equal_to("test_cookie"), "Cookies not returned correctly")
def test_table_is_not_empty(mock_get_table_row_count): mock_finder = MagicMock() mock_finder.element.return_value = [ "element_1", "element_2", "element_3", "element_4", "element_5" ] interrogate = Interrogator(None, mock_finder, MagicMock(name="logger")) result = interrogate.table_is_not_empty(default_page_element) check_mocked_functions_called(mock_get_table_row_count) assert_that(result, equal_to(True), "Empty table should have been handled")
def test_is_image_visible_by_checking_src_no_src_url(): interrogate = Interrogator(None, None, None) mock_get_attribute = MagicMock(return_value=None) interrogate.get_attribute = mock_get_attribute result = interrogate.is_image_visible_by_checking_src(default_page_element) mock_get_attribute.assert_called_once_with(default_page_element, "src") assert_that( result, equal_to(True), "The image should be considered visible if it has no source URL")
def test_element_has_class_incorrect_class(): mock_element = MagicMock() mock_element.is_displayed.return_value = True mock_element.get_attribute.return_value = "class1 class2" mock_finder = MagicMock() mock_finder.elements.return_value = [mock_element] interrogate = Interrogator(None, mock_finder, None) result = interrogate.element_has_class(default_page_element, "test_class") assert_that(result, equal_to(False), "The class should not match")
def test_get_attribute(): mock_element = MagicMock() mock_element.get_attribute.return_value = "test_attr_val" mock_finder = MagicMock() mock_finder.elements.return_value = [mock_element] interrogate = Interrogator(None, mock_finder, None) result = interrogate.get_attribute(default_page_element, "test_attr") assert_that(result, equal_to("test_attr_val"), "Element attribute not returned correctly")
def test_is_checkbox_selected(): mock_element = MagicMock() mock_element.is_selected.return_value = "result of is_selected" mock_finder = MagicMock() mock_finder.element.return_value = mock_element interrogate = Interrogator(None, mock_finder, None) result = interrogate.is_checkbox_selected(default_page_element) assert_that(result, equal_to("result of is_selected"), "Selection of checkbox should be inspected")
def test_is_element_visible(): mock_driver = MagicMock() elements = [MockElement("true")] finder = MockFinder(list_of_elements_to_return=elements) wait_time = 10 test_interrogator = Interrogator(mock_driver, finder, wait_time, "logger") test_interrogator.is_element_visible(PageElement(By.ID, "some_id")) assert_that(mock_driver.implicitly_wait.call_count, equal_to(2), "Expected two calls to implicitly_wait") assert_that(elements[0].is_displayed_called, is_(1), "is_displayed was not called the expected amount of times")
def test_is_checkbox_visible(): mock_is_element_or_parent_visible = MagicMock( return_value="result of is_displayed") interrogate = Interrogator(None, None, None) interrogate.is_element_or_parent_visible = mock_is_element_or_parent_visible result = interrogate.is_checkbox_visible(default_page_element) mock_is_element_or_parent_visible.assert_called_once_with( default_page_element) assert_that(result, equal_to("result of is_displayed"), "Result not returned correctly")
def test_are_elements_visible_one_not_displayed(): elements = [ MockElement(True, False), MockElement(True, False), MockElement(False, False) ] mock_finder = MagicMock() mock_finder.elements.return_value = elements interrogate = Interrogator(None, mock_finder, None) result = interrogate.are_elements_visible(default_page_element) assert_that(result, equal_to(False), "One element should not be visible")
def test_get_table_row_count(): mock_element = MagicMock() mock_element.find_elements_by_tag_name.return_value = [ "element_1", "element_2" ] mock_finder = MagicMock() mock_finder.element.return_value = mock_element interrogate = Interrogator(None, mock_finder, None) result = interrogate.get_table_row_count(default_page_element) mock_element.find_elements_by_tag_name.assert_called_once_with("tr") assert_that(result, equal_to(2), "Incorrect number of rows found")
def test_are_elements_visible_one_aria_hidden(): elements = [ MockElement(True, False), MockElement(True, False), MockElement(True, True) ] mock_finder = MagicMock() mock_finder.elements.return_value = elements interrogate = Interrogator(None, mock_finder, None) result = interrogate.are_elements_visible(default_page_element) assert_that(result, equal_to(False), "One element should be aria hidden")
def test_get_number_of_elements_with_background_url_no_backgrounds(): mock_element_1 = MagicMock() mock_element_2 = MagicMock() mock_element_1.value_of_css_property.return_value = "1234" mock_element_2.value_of_css_property.return_value = "abcd" mock_finder = MagicMock() mock_finder.elements.return_value = [mock_element_1, mock_element_2] interrogate = Interrogator(None, mock_finder, None) result = interrogate.get_number_of_elements_with_background_url( default_page_element) assert_that(result, equal_to(0), "No elements should have been found")