def test_drag_and_drop_element(self): with patch('genie.webdriver.wait.Wait') as wait: with patch('genie.webdriver.interact.ActionChains') as ac: interact = Interactions(driver=self.driver, timeout=10) interact.drag_and_drop_element('abc', 'def') ac().drag_and_drop.assert_called_with('abc', 'def') ac().drag_and_drop().perform.assert_called_with()
def test_click_on_svg_element(self): with patch('genie.webdriver.wait.Wait') as wait: interact = Interactions(driver=self.driver, timeout=10) interact.click_on_svg_element(css='boomshakalala') self.driver.execute_script.assert_called_with( '''var ev = document.createEvent("SVGEvents"); ev.initEvent("click",true,true); var target = $("boomshakalala").get(0); target.dispatchEvent(ev);''')
def test_drag_and_drop(self): with patch('genie.webdriver.wait.Wait') as wait: with patch('genie.webdriver.interact.ActionChains') as ac: interact = Interactions(driver=self.driver, timeout=10) interact.drag_and_drop('abc', 'def') self.assertEqual( wait().until.visibility_of_element_located.call_count, 2) ac().drag_and_drop().perform.assert_called_with()
def test_select_from_drop_down(self): with patch('genie.webdriver.wait.Wait') as wait: wait().until.visibility_of_element_located.return_value = ( By.ID, 'tomhanks') with patch('genie.webdriver.interact.Select') as sel: interact = Interactions(driver=self.driver, timeout=10) interact.select_from_drop_down('abc', id='tomhanks') sel.assert_called_with((By.ID, 'tomhanks')) sel().select_by_visible_text.assert_called_with('abc')
def test_init(self): with patch('genie.webdriver.wait.Wait') as wait: interact = Interactions(driver=self.driver, timeout=10) self.assertEqual(interact.timeout, 10) self.assertIs(interact.driver, self.driver) wait.assert_called_with(self.driver, 10) interact = Interactions(driver=self.driver, timeout=10) from genie.webdriver.wait import Wait self.assertTrue(isinstance(interact.wait, Wait))
def test_send_tab(self): with patch('genie.webdriver.wait.Wait') as wait: interact = Interactions(driver=self.driver, timeout=10) interact.send_tab(id='100') wait().until.visibility_of_element_located.assert_called_with( (By.ID, '100')) wait().until.visibility_of_element_located().send_keys.\ assert_called_with(Keys.TAB) with patch('genie.webdriver.wait.Wait') as wait: interact = Interactions(driver=self.driver, timeout=10) interact.send_tab(locator='100') wait().until.visibility_of_element_located.assert_called_with( '100') wait().until.visibility_of_element_located().send_keys.\ assert_called_with(Keys.TAB)
def test_type_and_enter(self): with patch('genie.webdriver.wait.Wait') as wait: interact = Interactions(driver=self.driver, timeout=10) interact.type_and_enter(value='boomshakalala', id='100') wait().until.visibility_of_element_located.assert_called_with( (By.ID, '100')) wait().until.visibility_of_element_located().send_keys.\ assert_called_with('boomshakalala', Keys.RETURN) with patch('genie.webdriver.wait.Wait') as wait: interact = Interactions(driver=self.driver, timeout=10) interact.type_and_enter(locator='100', value='boomshakalala') wait().until.visibility_of_element_located.assert_called_with( '100') wait().until.visibility_of_element_located().send_keys.\ assert_called_with('boomshakalala', Keys.RETURN)
def test_double_click(self): with patch('genie.webdriver.wait.Wait') as wait: with patch('genie.webdriver.interact.ActionChains') as ac: interact = Interactions(driver=self.driver, timeout=10) interact.double_click(object) ac.assert_called_with(self.driver) ac().double_click.assert_called_with(object) ac().double_click().perform.assert_called_with() with patch('genie.webdriver.wait.Wait') as wait: with patch('genie.webdriver.interact.ActionChains') as ac: self.driver.find_element.return_value = 'boomyeah!' interact = Interactions(driver=self.driver, timeout=10) interact.double_click(id='tomhanks') self.driver.find_element.assert_called_with( (By.ID, 'tomhanks')) ac.assert_called_with(self.driver) ac().double_click.assert_called_with('boomyeah!') ac().double_click().perform.assert_called_with()
def test_hover(self): with patch('genie.webdriver.wait.Wait') as wait: with patch('genie.webdriver.interact.ActionChains') as ac: interact = Interactions(driver=self.driver, timeout=10) interact.hover(object) ac.assert_called_with(self.driver) ac().move_to_element.assert_called_with(object) ac().move_to_element().perform.assert_called_with() with patch('genie.webdriver.wait.Wait') as wait: with patch('genie.webdriver.interact.ActionChains') as ac: interact = Interactions(driver=self.driver, timeout=10) interact.hover(object, x_offset=1, y_offset=2) ac.assert_called_with(self.driver) ac().move_to_element_with_offset.assert_called_with( object, 1, 2) ac().move_to_element_with_offset().perform.assert_called_with() with patch('genie.webdriver.wait.Wait') as wait: with patch('genie.webdriver.interact.ActionChains') as ac: self.driver.find_element.return_value = 'boomyeah!' interact = Interactions(driver=self.driver, timeout=10) interact.hover(id='tomhanks') self.driver.find_element.assert_called_with( (By.ID, 'tomhanks')) ac.assert_called_with(self.driver) ac().move_to_element.assert_called_with('boomyeah!') ac().move_to_element().perform.assert_called_with()
def test_type_in_active_input_element(self): with patch('genie.webdriver.wait.Wait') as wait: interact = Interactions(driver=self.driver, timeout=10) interact.type_in_active_input_element("iamgenius") self.driver.switch_to.active_element.send_keys.assert_called_with( 'iamgenius' + Keys.RETURN)
def test_click_link_with_text(self): with patch('genie.webdriver.wait.Wait') as wait: interact = Interactions(driver=self.driver, timeout=10) interact.click_link_with_text(text='kaboom') self.driver.find_element_by_link_text.assert_called_with('kaboom') self.driver.find_element_by_link_text().click.assert_called_with()
def test_click_button_with_text(self): with patch('genie.webdriver.wait.Wait') as wait: interact = Interactions(driver=self.driver, timeout=10) interact.click_button_with_text(text='boomshakalala') self.driver.execute_script.assert_called_with( '''return $('button:contains("boomshakalala")').click()''')
def test_jquery_click(self): with patch('genie.webdriver.wait.Wait') as wait: interact = Interactions(driver=self.driver, timeout=10) interact.jquery_click(css='boomshakalala') self.driver.execute_script.assert_called_with( "$('boomshakalala').click()")
def test_scroll_into_view(self): with patch('genie.webdriver.wait.Wait') as wait: wait().until.visibility_of_element_located.return_value = 'lalala' interact = Interactions(driver=self.driver, timeout=10) interact.scroll_into_view(css='boomshakalala') self.driver.execute_script.assert_called_with( "arguments[0].scrollIntoView(true);", 'lalala') with patch('genie.webdriver.wait.Wait') as wait: interact = Interactions(driver=self.driver, timeout=10) interact.scroll_into_view(element='boomshakalala') self.driver.execute_script.assert_called_with( "arguments[0].scrollIntoView(true);", 'boomshakalala') with patch('genie.webdriver.wait.Wait') as wait: wait().until.visibility_of_element_located.return_value = 'jb' interact = Interactions(driver=self.driver, timeout=10) interact.scroll_into_view(locator=object) self.driver.execute_script.assert_called_with( "arguments[0].scrollIntoView(true);", 'jb')