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}'")
Пример #2
0
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}'")
Пример #3
0
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")
Пример #4
0
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")
Пример #5
0
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")
Пример #6
0
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")
Пример #7
0
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")
Пример #8
0
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")
Пример #9
0
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")
Пример #10
0
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")
Пример #11
0
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")
Пример #12
0
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")
Пример #13
0
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")
Пример #14
0
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")
Пример #15
0
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")
Пример #16
0
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")
Пример #17
0
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")
Пример #18
0
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")
Пример #20
0
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")
Пример #21
0
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")
Пример #22
0
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")
Пример #23
0
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")
Пример #24
0
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")
Пример #26
0
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")
Пример #27
0
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")
Пример #28
0
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")
Пример #29
0
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")
Пример #30
0
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")