コード例 #1
0
def test_switch_to_default_content():
    mock_driver = MagicMock(name="driver")
    interact = Interactor(mock_driver, None, None, None, None)

    interact.switch_to_default_content()

    check_mocked_functions_called(mock_driver.switch_to.default_content)
コード例 #2
0
def test_clear_cookie_and_refresh_page_deletes_the_cookie():
    driver = MockDriver()
    interact = Interactor(driver, None, None, None, None)
    name = "Banner717"
    interact.clear_cookie_and_refresh_page(name)
    assert_that(driver.deleted_cookies, contains("Banner717"),
                "The cookie should be deleted")
コード例 #3
0
def test_clear_cookie_and_refresh_page_performs_a_refresh():
    driver = MockDriver()
    interact = Interactor(driver, None, None, None, None)
    name = "Banner717"
    interact.clear_cookie_and_refresh_page(name)
    assert_that(driver.refresh_count, equal_to(1),
                "The cookie should be refreshed once")
コード例 #4
0
def test_switch_to_original_window():
    mock_driver = MagicMock(name="driver")
    mock_driver.window_handles = ["window_0", "window_1"]
    interact = Interactor(mock_driver, None, None, None, None)

    interact.switch_to_original_window()

    mock_driver.switch_to_window.assert_called_once_with("window_0")
コード例 #5
0
def test_select_by_visible_text(mock_select_by_visible_text):
    find = MockFinder()
    interact = Interactor(None, find, None, None, None)
    page_element = PageElement(By.ID, "test-id")

    interact.select_by_visible_text(page_element, "text to check")

    mock_select_by_visible_text.assert_called_once_with("text to check")
コード例 #6
0
def test_select_by_index(mock_select_by_index):
    find = MockFinder()
    interact = Interactor(None, find, None, None, None)
    page_element = PageElement(By.ID, "test-id")

    interact.select_by_index(page_element, "index to check")

    mock_select_by_index.assert_called_once_with("index to check")
コード例 #7
0
def test_append_and_open_url():
    mock_driver = MagicMock(name="driver")
    mock_waiter = MagicMock(name="wait")
    interact = Interactor(mock_driver, None, MockInterrogator("test/url"),
                          mock_waiter, MagicMock(name="log"))

    interact.append_and_open_url("/extra")

    mock_driver.get.assert_called_once_with("test/url/extra")
コード例 #8
0
def test_send_keys():
    find = MockFinder()
    interact = Interactor(None, find, None, None, None)
    page_element = PageElement(By.ID, "test-id")

    interact.send_keys(page_element, Keys.ARROW_LEFT)

    assert_that(find.mock_element.text, equal_to(""),
                "Key not sent to element correctly")
コード例 #9
0
def test_enter_text():
    find = MockFinder()
    interact = Interactor(None, find, None, None, None)
    page_element = PageElement(By.ID, "test-id")

    interact.enter_text(page_element, "abcd", False)

    assert_that(find.mock_element.text, equal_to("abcd"),
                "Text not sent to element correctly")
コード例 #10
0
def test_close_current_window_with_one_window():
    mock_driver = MagicMock(name="driver")
    mock_driver.window_handles = ["window_0"]
    mock_driver.current_window_handle = "window_0"
    interact = Interactor(mock_driver, None, None, None, None)

    interact.close_current_window()

    mock_driver.close.assert_called_once()
    mock_driver.switch_to_window.assert_not_called()
コード例 #11
0
def test_close_current_window_switch_to_a_remaining_window():
    mock_driver = MagicMock(name="driver")
    mock_driver.window_handles = ["window_0", "window_1"]
    mock_driver.current_window_handle = "window_1"
    interact = Interactor(mock_driver, None, None, None, None)

    interact.close_current_window()

    mock_driver.close.assert_called_once()
    mock_driver.switch_to_window.assert_called_once_with("window_0")
コード例 #12
0
def test_open_url():
    mock_driver = MagicMock(name="driver")
    mock_waiter = MagicMock(name="wait")
    interact = Interactor(mock_driver, None, None, mock_waiter,
                          MagicMock(name="log"))

    interact.open_url("test/url")

    mock_driver.get.assert_called_once_with("test/url")
    mock_waiter.for_page_to_load.assert_called_once()
コード例 #13
0
def test_enter_text_clears_first():
    find = MockFinder()
    interact = Interactor(None, find, None, None, None)
    page_element = PageElement(By.ID, "test-id")
    find.mock_element.text = "1234"

    interact.enter_text(page_element, "abcd", True)

    assert_that(find.mock_element.text, equal_to("abcd"),
                "Text not cleared before sending")
コード例 #14
0
def test_scroll_into_view():
    mock_driver = MagicMock(name="driver")
    find = MockFinder()
    interact = Interactor(mock_driver, find, None, None, MagicMock(name="log"))
    page_element = PageElement(By.ID, "test-id")

    interact.scroll_into_view(page_element)

    mock_driver.execute_script.assert_called_once_with(
        "arguments[0].scrollIntoView();", find.mock_element)
コード例 #15
0
def test_execute_click_with_java_script():
    mock_driver = MagicMock(name="driver")
    find = MockFinder()
    interact = Interactor(mock_driver, find, None, None, None)
    page_element = PageElement(By.ID, "test-id")

    interact.execute_click_with_java_script(page_element)

    mock_driver.execute_script.assert_called_once_with("arguments[0].click();",
                                                       find.mock_element)
コード例 #16
0
def test_click_element():
    find = MockFinder()
    interact = Interactor(None, find, None, None, None)
    page_element = PageElement(By.ID, "test-id")

    interact.click_element(page_element)

    assert_that(len(find.mock_element.clicked_elements), equal_to(1),
                "The element should have been clicked once")
    assert_that(find.mock_element.clicked_elements[0], equal_to(page_element),
                "Incorrect element clicked")
コード例 #17
0
def test_accept_alert():
    mock_driver = MagicMock(name="driver")
    finder = Finder(mock_driver, "logger")
    interrogator = Interrogator(mock_driver, finder, "logger")
    waiter = Waiter(mock_driver, finder, "logger")
    test_interactor = Interactor(mock_driver, finder, interrogator, waiter,
                                 "logger")

    test_interactor.accept_alert()

    mock_driver.switch_to.alert.accept.assert_called_once()
コード例 #18
0
def test_enter_text_into_alert():
    mock_driver = MagicMock(name="driver")
    finder = Finder(mock_driver, "logger")
    interrogator = Interrogator(mock_driver, finder, "logger")
    waiter = Waiter(mock_driver, finder, "logger")
    test_interactor = Interactor(mock_driver, finder, interrogator, waiter,
                                 "logger")
    text = "my text value"

    test_interactor.enter_text_into_alert(text)

    mock_driver.switch_to.alert.send_keys.assert_called_once_with(text)
コード例 #19
0
def test_switch_to_frame():
    mock_driver = MagicMock(name="driver")
    finder = Finder(mock_driver, MagicMock(name="logger"))
    interrogator = Interrogator(mock_driver, finder, "logger")
    waiter = Waiter(mock_driver, finder, "logger")
    test_interactor = Interactor(mock_driver, finder, interrogator, waiter,
                                 "logger")
    frame_to_find = PageElement(By.ID, "frame_id")

    test_interactor.switch_to_frame(frame_to_find)

    mock_driver.switch_to.frame.assert_called_once_with(
        finder.element(frame_to_find))
コード例 #20
0
ファイル: page.py プロジェクト: talawson05/ui-test-core
 def __init__(self, driver, existing_logger=None, wait_time=10):
     """
     Default constructor which passes the control of webDriver to the current page
     :param driver: the Selenium web driver
     :param existing_logger: logger object used to save information to a log file, None by default
     :param wait_time: number of seconds as an Integer, defaults to 10
     """
     self.driver = driver
     self.logger = existing_logger or logging.getLogger(__name__)
     self.implicit_wait = wait_time
     self.find = Finder(driver, existing_logger)
     self.wait = Waiter(driver, self.find, wait_time, existing_logger)
     self.interrogate = Interrogator(driver, self.find, existing_logger)
     self.interact = Interactor(driver, self.find, self.interrogate,
                                self.wait, existing_logger)