def test_send_keys_to_element_without_args(self, fail): mock_desk = MagicMock() webdriver.Remote = WebdriverRemoteMock ActionChains.send_keys = MagicMock() DesktopLibrary.open_application(mock_desk, 'remote_url') DesktopLibrary.send_keys_to_element(mock_desk, 'some_locator') fail.assert_called_with('No key arguments specified.')
def test_open_application_splash_catch(self): dl = DesktopLibrary() os.startfile = MagicMock(return_value=True) webdriver.Remote = WebdriverRemoteMock self.assertFalse(dl._cache.current) dl.open_application('remote_url', window_name='test', app='testApp') self.assertTrue(dl._cache.current)
def test_open_application_splash_catch(self): dl = DesktopLibrary() subprocess.Popen = MagicMock() webdriver.Remote = WebdriverRemoteMock self.assertFalse(dl._cache.current) dl.open_application('remote_url', window_name='test', app='testApp', splash_delay=1) self.assertTrue(dl._cache.current)
def test_drag_and_drop(self): mock_desk = MagicMock() webdriver.Remote = WebdriverRemoteMock ActionChains.drag_and_drop = MagicMock() DesktopLibrary.open_application(mock_desk, 'remote_url') DesktopLibrary.drag_and_drop(mock_desk, "some_locator", "some_other_locator")
def test_context_click_a_point_with_offset(self, click, move): mock_desk = MagicMock() DesktopLibrary.context_click_a_point(mock_desk, x_offset=-400, y_offset=-400) move.assert_called_with(-400, -400) click.assert_called_with()
def test_is_element_present_by_image(self): mock_desk = MagicMock() mock_desk._parse_locator = MagicMock( return_value=['image', 'file.png']) DesktopLibrary._is_element_present(mock_desk, "image='file.png") mock_desk._current_application( ).find_elements_by_image.assert_called_with('file.png')
def test_is_element_present_by_xpath(self): mock_desk = MagicMock() mock_desk._parse_locator = MagicMock(return_value=['xpath', 'Capture']) DesktopLibrary._is_element_present( mock_desk, "xpath=//TreeItem[@Name='Capture']") mock_desk._current_application( ).find_elements_by_xpath.assert_called_with('Capture')
def test_mouse_over_and_context_click_text(self): mock_desk = MagicMock() webdriver.Remote = WebdriverRemoteMock ActionChains.move_to_element_with_offset = MagicMock(return_value=True) DesktopLibrary.open_application(mock_desk, 'remote_url') DesktopLibrary.mouse_over_and_context_click_text( mock_desk, "some_text")
def test_maximize_window_successful(self): dl = DesktopLibrary() webdriver.Remote = WebdriverRemoteMock self.assertFalse(dl._cache.current) dl.open_application('remote_url') self.assertTrue(dl._cache.current) self.assertTrue(dl.maximize_window())
def test_wait_until_element_is_disabled(self): mock_desk = MagicMock() webdriver.Remote = WebdriverRemoteMock DesktopLibrary.open_application(mock_desk, 'remote_url') DesktopLibrary.wait_until_element_is_disabled(mock_desk, "some_locator", 'test_text')
def test_select_from_combobox_retry_desktop(self): mock_desk = MagicMock() mock_desk.click_element = MagicMock( side_effect=[True, NoSuchElementException, True]) DesktopLibrary.select_element_from_combobox(mock_desk, 'some_locator', 'another_locator', True) mock_desk.click_element.assert_called_with('another_locator')
def test_wait_until_page_contains_element_private(self): mock_desk = MagicMock() DesktopLibrary._wait_until_page_contains_element( mock_desk, 'some_element', 5) mock_desk._wait_until.assert_called_with( 5, "Element 'some_element' did not appear in " "<TIMEOUT>", unittest.mock.ANY, 'some_element')
def test_capture_page_screenshot_else_case(self): mock_desk = MagicMock() mock_desk._get_screenshot_paths = MagicMock( return_value=['path', 'link']) del mock_desk._current_application().get_screenshot_as_file DesktopLibrary.capture_page_screenshot(mock_desk, 'filename') mock_desk._get_screenshot_paths.assert_called_with('filename')
def test_select_from_combobox_with_desktop(self): mock_desk = MagicMock() mock_desk.click_element = MagicMock( side_effect=[True, ValueError, True]) DesktopLibrary.select_element_from_combobox(mock_desk, 'some_locator', 'another_locator') mock_desk.click_element.assert_called_with('another_locator')
def test_element_should_be_enabled_current_element_set(self): mock_desk = MagicMock() mock_desk._check_for_cached_element().is_enabled = MagicMock( return_value=True) DesktopLibrary.element_should_be_enabled(mock_desk, mock_desk.current_element) mock_desk._check_for_cached_element().is_enabled.assert_called_with()
def test_drag_and_drop_with_offset(self, drag): mock_desk = MagicMock() DesktopLibrary.drag_and_drop_by_offset(mock_desk, "some_locator", x_offset=100, y_offset=100) drag.assert_called_with(unittest.mock.ANY, 100, 100)
def test_mouse_over_and_click_element(self): mock_desk = MagicMock() DesktopLibrary.mouse_over_and_click_element(mock_desk, "some_locator") mock_desk.mouse_over_element.assert_called_with("some_locator", x_offset=0, y_offset=0) mock_desk.click_a_point.assert_called_with(double_click=False)
def test_scroll_from_element_current_element_set(self, scroll_from_element): mock_desk = MagicMock() mock_desk.current_element = MagicMock() DesktopLibrary.scroll_from_element(mock_desk, mock_desk.current_element, 50, 100) scroll_from_element.assert_called_with(unittest.mock.ANY, 50, 100)
def test_wait_for_and_flick_from_element(self): mock_desk = MagicMock() DesktopLibrary.wait_for_and_flick_from_element(mock_desk, "some_locator", 50, 100, 10) mock_desk.flick_from_element.assert_called_with( unittest.mock.ANY, 50, 100, 10)
def test_wait_for_and_mouse_over_element_with_offset(self): mock_desk = MagicMock() DesktopLibrary.wait_for_and_mouse_over_element(mock_desk, "some_locator", x_offset=100, y_offset=100) mock_desk.mouse_over_element.assert_called_with( "some_locator", 100, 100)
def test_context_click_a_point_with_offset(self): mock_desk = MagicMock() webdriver.Remote = WebdriverRemoteMock ActionChains.move_by_offset = MagicMock(return_value=True) DesktopLibrary.open_application(mock_desk, 'remote_url') DesktopLibrary.context_click_a_point(mock_desk, x_offset=-400, y_offset=-400)
def test_wait_for_and_mouse_over_and_click_text_with_offset(self): mock_desk = MagicMock() webdriver.Remote = WebdriverRemoteMock DesktopLibrary.open_application(mock_desk, 'remote_url') DesktopLibrary.wait_for_and_mouse_over_and_click_text(mock_desk, "some_text", x_offset=100, y_offset=100)
def test_select_elements_from_context_menu_retry_desktop(self): mock_desk = MagicMock() mock_desk.mouse_over_and_context_click_element = MagicMock( side_effect=[NoSuchElementException, True, True]) DesktopLibrary.select_elements_from_context_menu( mock_desk, 'some_locator', 'another_locator') mock_desk.click_element.mouse_over_and_context_click('some_locator') mock_desk.click_element.assert_called_with('another_locator')
def test_is_element_present_list_greater_than_0(self): mock_desk = MagicMock() mock_desk._parse_locator = MagicMock(return_value=['name', 'Capture']) mock_desk._current_application().find_elements_by_name = \ MagicMock(return_value=[MagicMock(), MagicMock()]) DesktopLibrary._is_element_present(mock_desk, "Name='Capture'") mock_desk._current_application( ).find_elements_by_name.assert_called_with('Capture')
def test_send_keys_to_element(self): mock_desk = MagicMock() webdriver.Remote = WebdriverRemoteMock ActionChains.move_to_element = MagicMock() ActionChains.send_keys = MagicMock() DesktopLibrary.open_application(mock_desk, 'remote_url') DesktopLibrary.send_keys_to_element(mock_desk, 'some_element', 'test', '\ue007')
def test_switch_application_failure(self): dl = DesktopLibrary() dl._run_on_failure = MagicMock() webdriver.Remote = WebdriverRemoteMock webdriver.Remote.find_element_by_name = MagicMock(side_effect=[WebDriverException, WebDriverException]) self.assertRaisesRegex(AssertionError, 'Error finding window "test" in the desktop session. Is it a top level ' 'window handle?.', dl.switch_application_by_name, 'remote_url', window_name='test')
def test_mouse_over_and_click_text(self): mock_desk = MagicMock() DesktopLibrary.mouse_over_and_click_text(mock_desk, "some_text") mock_desk.mouse_over_text.assert_called_with("some_text", exact_match=False, x_offset=0, y_offset=0) mock_desk.click_a_point.assert_called_with(double_click=False)
def test_open_application_window_name_non_exact(self): dl = DesktopLibrary() subprocess.Popen = MagicMock() webdriver.Remote = WebdriverRemoteMock webdriver.Remote.find_element_by_xpath = MagicMock() self.assertFalse(dl._cache.current) dl.open_application('remote_url', window_name='test', app='testApp', exact_match=False) self.assertTrue(dl._cache.current)
def test_elements_find_by_accessibility_id(self): mock_desk = MagicMock() mock_desk._parse_locator = MagicMock( return_value=['accessibility_id', 'Capture']) DesktopLibrary._element_find(mock_desk, "accessibility_id='Capture'", False, True) mock_desk._current_application( ).find_elements_by_accessibility_id.assert_called_with('Capture')
def test_wait_for_and_mouse_over_and_click_text_with_offset(self): mock_desk = MagicMock() DesktopLibrary.wait_for_and_mouse_over_and_click_text(mock_desk, "some_text", x_offset=100, y_offset=100) mock_desk.mouse_over_and_click_text.assert_called_with( "some_text", False, False, 100, 100)