def _1_Test(self): with apiritif.smart_transaction('Test'): apiritif.external_log('start: go(http://blazedemo.com/)') go('http://blazedemo.com/') apiritif.external_log('end: go(http://blazedemo.com/)') apiritif.external_log('start: log(leaving blazedemo)') apiritif.external_log('leaving blazedemo') apiritif.external_log('end: log(leaving blazedemo)')
def _1_(self): with apiritif.smart_transaction('/'): go('http://blazedemo.com/') wait_for('present', [{'xpath': "//input[@type='submit']"}], 3.5) self.assertEqual(self.driver.title, 'BlazeDemo') body = self.driver.page_source re_pattern = re.compile('contained_text') self.assertEqual(0, len(re.findall(re_pattern, body)), "Assertion: 'contained_text' found in BODY")
def _1_Conditions_test(self): with apiritif.smart_transaction('Conditions test'): go('http://blazedemo.com') test = self.driver.execute_script('return document.getElementsByName("fromPort")[0].length > 0;') if test: var_loc_keys = get_locator([{'id': 'wrong_id'}, {'xpath': '/html/body/div[3]/form/div/input'}]) self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).click() check_opened_new_window() sleep(1.0) test = self.driver.execute_script('return document.getElementsByClassName("table")[0].rows.length > 5;') if test: var_loc_keys = get_locator([{'xpath': '/html/body/div[2]/table/tbody/tr[5]/td[1]/input'}]) self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).click() check_opened_new_window() test = self.driver.execute_script('return document.getElementById("{}").value === \'\';'.format(self.vars['input_name_id'])) if test: var_loc_keys = get_locator([{'id': self.vars['input_name_id']}]) self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).clear() self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).send_keys('John Doe') else: var_loc_keys = get_locator([{'id': self.vars['input_name_id']}]) self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).clear() self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).send_keys('Jack Green') var_loc_keys = get_locator([{'xpath': '/html/body/div[2]/form/div[11]/div/input'}]) self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).click() check_opened_new_window() sleep(5.0) else: test = self.driver.execute_script('return document.getElementsByClassName("table")[0].rows.length > 5;') if test: var_loc_keys = get_locator([{'id': self.vars['elem2_id']}]) self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).clear() self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).send_keys('my text') test = self.driver.execute_script('return window.screen.width > 1000;') if test: self.driver.save_screenshot('file_1000') else: self.driver.save_screenshot('file') else: var_loc_keys = get_locator([{'xpath': '/html/body/div[3]/input'}]) self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).click() check_opened_new_window()
def _1_Test_V2(self): with apiritif.smart_transaction('Test V2'): go('http://blazedemo.com') self.driver.set_window_size('750', '750') switch_window(0) var_loc_chain = get_locator([{'id': 'invalid_id'}, {'xpath': self.vars['my_xpath_locator']}]) ActionChains(self.driver).click_and_hold(self.driver.find_element( var_loc_chain[0], var_loc_chain[1])).perform() var_loc_chain = get_locator([{'id': 'id_123'}]) ActionChains(self.driver).move_to_element_with_offset(self.driver.find_element( var_loc_chain[0], var_loc_chain[1]), -10, -10).perform() var_loc_chain = get_locator([{'name': 'name_123'}]) ActionChains(self.driver).move_to_element(self.driver.find_element( var_loc_chain[0], var_loc_chain[1])).perform() source = get_locator([{'name': 'invalid_name'}, {'xpath': '/html/body/div[2]/div/p[2]/a'}]) target = get_locator([{'css': 'invalid_css'}, {'xpath': '/html/body/div[3]/form/div'}]) ActionChains(self.driver).drag_and_drop(self.driver.find_element( source[0], source[1]), self.driver.find_element( target[0], target[1])).perform() var_loc_as = get_locator([{'css': 'myclass'}, {'xpath': '/html/body/div[3]/h2'}]) self.assertEqual(self.driver.find_element( var_loc_as[0], var_loc_as[1]).get_attribute('innerText').strip(), 'Choose your departure city:'.strip()) var_loc_as = get_locator([{'css': 'myclass'}, {'xpath': '/html/body/div[3]/form/div/input'}]) self.assertEqual(self.driver.find_element( var_loc_as[0], var_loc_as[1]).get_attribute('value').strip(), 'Find Flights'.strip()) self.assertEqual(self.driver.title, 'BlazeDemo') self.vars['hEaDeR'] = self.driver.title self.vars['final_var'] = 'test_text' var_loc_as = get_locator([{'xpath': '/html/body/div[3]/h2'}]) self.vars['Basic'] = self.driver.find_element( var_loc_as[0], var_loc_as[1]).get_attribute('innerText') self.assertTrue(self.driver.execute_script('return 10 === 2*5;'), '10 === 2*5') self.vars['var_eval'] = self.driver.execute_script('return 0 == false;') var_loc_keys = get_locator([{'xpath': '/wrong/one'}, {'xpath': '/html/body/div[3]/form/div/input'}]) self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).click() check_opened_new_window() var_loc_keys = get_locator([{'xpath': '/doc/abc'}, {'css': 'body > div.container > table > tbody > tr:nth-child(1) > td:nth-child(2) > input'}]) self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).send_keys(Keys.ENTER) var_loc_keys = get_locator([{'id': 'fjkafjk'}, {'css': 'testCss'}]) self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).clear() self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).send_keys('myusername') var_loc_select = get_locator([{'css': 'myclass'}, {'xpath': '//*[@id="cardType"]'}]) Select(self.driver.find_element( var_loc_select[0], var_loc_select[1])).select_by_visible_text('American Express') self.driver.execute_script('window.scrollTo(0, document.body.scrollHeight);') for i in range(10): if ((i % 2) == 0): print(i) print(self.vars['red_pill']) sleep(4.6) self.driver.delete_all_cookies() self.driver.save_screenshot('screen.png') filename = os.path.join(os.getenv('TAURUS_ARTIFACTS_DIR'), ('screenshot-%d.png' % (time() * 1000))) self.driver.save_screenshot(filename) wait_for('visible', [{'css': 'invalid_css'}, {'name': 'inputName'}], 3.5) wait_for('visible', [{'css': 'invalid_css'}, {'name': 'inputName'}], 9020.0) var_edit_content = get_locator([{'id': 'editor'}]) if self.driver.find_element( var_edit_content[0], var_edit_content[1]).get_attribute('contenteditable'): self.driver.execute_script(("arguments[0].innerHTML = '%s';" % 'lo-la-lu'), self.driver.find_element( var_edit_content[0], var_edit_content[1])) else: raise NoSuchElementException(('The element (%s: %r) is not a contenteditable element' % ( var_edit_content[0], var_edit_content[1]))) sleep(4.6) self.driver.delete_all_cookies() self.driver.save_screenshot('screen.png') filename = os.path.join(os.getenv('TAURUS_ARTIFACTS_DIR'), ('screenshot-%d.png' % (time() * 1000))) self.driver.save_screenshot(filename) open_window('vacation.html') self.driver.maximize_window() switch_frame('index=1') switch_frame('relative=parent') switch_frame(self.driver.find_element(By.NAME, 'my_frame')) close_window() dialogs_answer_on_next_prompt('my input') dialogs_answer_on_next_confirm('#Ok') dialogs_answer_on_next_alert('#Ok') dialog = dialogs_get_next_alert() self.assertIsNotNone(dialog, 'No dialog of type alert appeared') self.assertEqual(dialog, 'Exception occurred!', "Dialog message didn't match") dialog = dialogs_get_next_confirm() self.assertIsNotNone(dialog, 'No dialog of type confirm appeared') self.assertEqual(dialog, 'Are you sure?', "Dialog message didn't match") dialog = dialogs_get_next_prompt() self.assertIsNotNone(dialog, 'No dialog of type prompt appeared') self.assertEqual(dialog, 'What is your age?', "Dialog message didn't match")
def _1_(self): with apiritif.smart_transaction('/'): go('http://blazedemo.com/') wait_for('present', [{'xpath': "//input[@type='submit']"}], 3.5) wait_for('present', [{'xpath': "//input[@name='test,name']"}], 80.0) self.assertEqual(self.driver.title, 'BlazeDemo') var_loc_chain = get_locator([{'xpath': '/html/body/div[2]/div/p[2]/a'}]) ActionChains(self.driver).move_to_element(self.driver.find_element( var_loc_chain[0], var_loc_chain[1])).perform() var_loc_chain = get_locator([{'xpath': '/html/body/div[3]/h2'}]) ActionChains(self.driver).double_click(self.driver.find_element( var_loc_chain[0], var_loc_chain[1])).perform() var_loc_chain = get_locator([{'xpath': '/html/body/div[3]/form/select[1]'}]) ActionChains(self.driver).context_click(self.driver.find_element( var_loc_chain[0], var_loc_chain[1])).perform() var_loc_chain = get_locator([{'xpath': '/html/body/div[3]/form/select[1]'}]) ActionChains(self.driver).click_and_hold(self.driver.find_element( var_loc_chain[0], var_loc_chain[1])).perform() var_loc_chain = get_locator([{'xpath': '/html/body/div[3]/form/select[1]/option[6]'}]) ActionChains(self.driver).release(self.driver.find_element( var_loc_chain[0], var_loc_chain[1])).perform() var_loc_select = get_locator([{'name': 'toPort'}]) Select(self.driver.find_element( var_loc_select[0], var_loc_select[1])).select_by_visible_text('London') var_loc_keys = get_locator([{'css': 'body input.btn.btn-primary'}]) self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).send_keys(Keys.ENTER) var_loc_as = get_locator([{'id': 'address'}]) self.assertEqual(self.driver.find_element( var_loc_as[0], var_loc_as[1]).get_attribute('value').strip(), '123 Beautiful st.'.strip()) var_loc_as = get_locator([{'xpath': '/html/body/div[2]/form/div[1]/label'}]) self.assertEqual(self.driver.find_element( var_loc_as[0], var_loc_as[1]).get_attribute('innerText').strip(), self.vars['name'].strip()) wait_for('visible', [{'name': 'toPort'}], 3.5) var_loc_keys = get_locator([{'name': 'toPort'}]) self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).send_keys('B') var_loc_keys = get_locator([{'name': 'toPort'}]) self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).clear() self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).send_keys('B') var_loc_keys = get_locator([{'name': 'toPort'}]) self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).send_keys(Keys.ENTER) var_loc_keys = get_locator([{'name': 'toPort'}]) self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).clear() self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).send_keys(Keys.ENTER) var_loc_keys = get_locator([{'xpath': '//div[3]/form/select[1]//option[3]'}]) self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).click() check_opened_new_window() var_loc_keys = get_locator([{'xpath': '//div[3]/form/select[2]//option[6]'}]) self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).click() check_opened_new_window() switch_window('0') open_window('some.url') switch_window('win_ser_local') switch_window('win_ser_1') switch_window('that_window') close_window('1') close_window('win_ser_local') close_window('win_ser_1') close_window('that_window') var_loc_keys = get_locator([{'name': 'toPort'}]) self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).submit() self.driver.execute_script("alert('This is Sparta');") for i in range(10): if ((i % 2) == 0): print(i) source = get_locator([{'id': 'address'}]) target = get_locator([{'name': 'toPort'}]) ActionChains(self.driver).drag_and_drop(self.driver.find_element( source[0], source[1]), self.driver.find_element( target[0], target[1])).perform() switch_frame(self.driver.find_element(By.NAME, 'my_frame')) switch_frame(self.driver.find_element(By.NAME, 'top_frame')) switch_frame(self.driver.find_element(By.XPATH, "//*[@id='result']")) switch_frame(self.driver.find_element(By.CSS_SELECTOR, '.my_class')) switch_frame(self.driver.find_element(By.ID, 'frame_id')) switch_frame('index=1') switch_frame('relative=parent') var_edit_content = get_locator([{'id': 'editor'}]) if self.driver.find_element( var_edit_content[0], var_edit_content[1]).get_attribute('contenteditable'): self.driver.execute_script(("arguments[0].innerHTML = '%s';" % 'lo-la-lu'), self.driver.find_element( var_edit_content[0], var_edit_content[1])) else: raise NoSuchElementException(('The element (%s: %r) is not a contenteditable element' % ( var_edit_content[0], var_edit_content[1]))) sleep(3.5) self.driver.delete_all_cookies() var_loc_keys = get_locator([{'linktext': 'destination of the week! The Beach!'}]) self.driver.find_element( var_loc_keys[0], var_loc_keys[1]).click() check_opened_new_window() self.vars['Title'] = self.driver.title var_loc_as = get_locator([{'xpath': "//*[@id='basics']/h2"}]) self.vars['Basic'] = self.driver.find_element( var_loc_as[0], var_loc_as[1]).get_attribute('innerText') var_loc_as = get_locator([{'xpath': "//*[@id='basics']/h1"}]) self.vars['World'] = self.driver.find_element( var_loc_as[0], var_loc_as[1]).get_attribute('value') self.vars['Final'] = '{} {} by {}'.format(self.vars['Title'], self.vars['Basic'], self.vars['By']) self.vars['var_eval'] = self.driver.execute_script('return 0 == false;') self.assertTrue(self.driver.execute_script('return 10 === 2*5;'), '10 === 2*5') go('http:\\blazemeter.com') dialog = dialogs_get_next_alert() self.assertIsNotNone(dialog, 'No dialog of type alert appeared') self.assertEqual(dialog, 'Alert Message', "Dialog message didn't match") dialog = dialogs_get_next_prompt() self.assertIsNotNone(dialog, 'No dialog of type prompt appeared') self.assertEqual(dialog, 'Enter value', "Dialog message didn't match") dialog = dialogs_get_next_confirm() self.assertIsNotNone(dialog, 'No dialog of type confirm appeared') self.assertEqual(dialog, 'Are you sure?', "Dialog message didn't match") dialogs_answer_on_next_prompt('myvalue') dialogs_answer_on_next_confirm('#Ok') dialogs_answer_on_next_alert('#Ok') print(self.vars['red_pill']) self.driver.save_screenshot('screen.png') filename = os.path.join(os.getenv('TAURUS_ARTIFACTS_DIR'), ('screenshot-%d.png' % (time() * 1000))) self.driver.save_screenshot(filename) body = self.driver.page_source re_pattern = re.compile('contained_text') self.assertEqual(0, len(re.findall(re_pattern, body)), "Assertion: 'contained_text' found in BODY")