def test_login_success(self,start_app): # WebDriverWait(start_app,30).until(EC.visibility_of_element_located(lc.my_image_locator)) LoginPage(start_app).login_before() LoginPage(start_app).login(login_data_success['user'], login_data_success['password']) res = LoginPage(start_app).get_element_text(lc.login_success_my_schedue) print(res) assert res == login_data_success["check"]
def test_search_customer_by_name(self, setup): self.logger.info("***** SearchCustomerByName_005 *****") self.driver = setup self.driver.get(self.baseURL) self.driver.maximize_window() self.lp = LoginPage(self.driver) self.lp.set_username(self.username) self.lp.set_password(self.password) self.lp.click_login() self.logger.info("***** Login successful *****") self.logger.info("***** Starting Search Customer By Name *****") self.add_cst = AddCustomer(self.driver) self.add_cst.click_on_customers_menu() self.add_cst.click_on_customers_menu_item() self.logger.info("***** searching customer by name *****") search_cst = SearchCustomer(self.driver) search_cst.set_first_name("Victoria") search_cst.set_last_name("Terces") search_cst.click_search() time.sleep(5) status = search_cst.search_customer_by_name("Victoria Terces") self.driver.close() self.logger.info("***** TC_SearchCustomerByName_005 Finished *****") assert status is True
def test__create_a_board_is_available(driver, cli_credentials): login_page = LoginPage(driver) main_page = login_page.sign_in() create_board_page = main_page.create_board() assert create_board_page.get_current_url() == 'https://sprintboards.io/boards/create' assert create_board_page.get_page_title() == 'Create a Board'
def test_login_failed(self,data,start_app): # WebDriverWait(start_app,30).until(EC.visibility_of_element_located(lc.my_image_locator)) LoginPage(start_app).login_before() LoginPage(start_app).login(data['user'],data['password']) res=LoginPage(start_app).get_toast_text(lc.toast_loc) print(res) assert res==data["check"]
def test_search_customer_by_email(self, setup): self.logger.info("***** SearchCustomerByEmail_004 *****") self.driver = setup self.driver.get(self.baseURL) self.driver.maximize_window() self.lp = LoginPage(self.driver) self.lp.set_username(self.username) self.lp.set_password(self.password) self.lp.click_login() self.logger.info("***** Login successful *****") self.logger.info("***** Starting Search Customer By Email *****") self.add_cst = AddCustomer(self.driver) self.add_cst.click_on_customers_menu() self.add_cst.click_on_customers_menu_item() self.logger.info("***** Searching customer by emailID *****") search_cst = SearchCustomer(self.driver) search_cst.set_email("*****@*****.**") search_cst.click_search() time.sleep(5) status = search_cst.search_customer_by_email( "*****@*****.**") self.driver.close() self.logger.info("***** TC_SearchCustomerByEmail_004 Finished *****") assert status is True
def board_page(driver, cli_credentials) -> BoardPage: login_page = LoginPage(driver) main_page = login_page.sign_in() create_board_page = main_page.create_board() return (create_board_page.set_session_name( 'My first board').choose_owner_is_sender().create_board())
def test_login_fail_no_pwd(self, init_func_test, data=datas.fail_data['error_data_no_password']): # 登陆页面登陆操作 lp = LoginPage(init_func_test[0], init_func_test[1]) lp.login(data[0], data[1]) # 查看登陆页面密码是否提示该字段不能为空 elem = lp.get_error_pwd_info() assert elem != None
def test_login_fail_user_low(self, init_func_test, data=datas.fail_data['error_data_user_low']): # 登陆页面登陆操作 lp = LoginPage(init_func_test[0], init_func_test[1]) lp.login(data[0], data[1]) # 查看登陆页面用户名下是否提示该字段不能为空 elem = lp.get_error_auth_info() assert elem != None
def test_login_fail_pwd_long( self, init_func_test, data=datas.fail_data['error_data_password_long']): # 登陆页面登陆操作 lp = LoginPage(init_func_test[0], init_func_test[1]) lp.login(data[0], data[1]) elem = lp.get_error_auth_info() assert elem != None
def test_user_is_authorized_if_credentials_are_valid(self, driver): user_login = '******' user_password = '******' login_page = LoginPage(driver).open() sut = login_page.login_as(user_login, user_password) assertTrue(sut.is_it_home_page, self._DEFAULT_ERROR_MESSAGE)
def test_user_is_not_authorized_if_credentials_are_not_valid(self, driver): fake = Faker() user_login = fake.pystr() user_password = fake.pystr() login_page = LoginPage(driver).open() sut = login_page.login_as_expecting_error(user_login, user_password) assertTrue(sut.is_it_login_page, self._DEFAULT_ERROR_MESSAGE)
def init_test_quit_element_func(): global driver, log yield driver, log driver.get(data.base_url) driver.maximize_window() Base(driver, log).wait_element(login_loc.username_loc) lp = LoginPage(driver, log) lp.login("13133334444", "123456") time.sleep(3) driver.refresh()
def test_login_ddt(self, setup): self.logger.info("***Test_002_DDT_Login***") self.logger.info("***Verifying Login DDT test***") self.driver = setup self.driver.get(self.baseURL) self.lp = LoginPage(self.driver) self.rows = excel_utils.get_row_count(self.path_to_excel_data, 'Лист1') print('Number of Rows i a Excel: ', self.rows) status_list = [] for row in range(2, self.rows + 1): self.user = excel_utils.read_data(self.path_to_excel_data, 'Лист1', row, 1) self.password = excel_utils.read_data(self.path_to_excel_data, 'Лист1', row, 2) self.exp = excel_utils.read_data(self.path_to_excel_data, 'Лист1', row, 3) self.lp.set_user_name(self.user) self.lp.set_password(self.password) self.lp.click_login_button() time.sleep(2) actual_title = self.driver.title expected_title = "Dashboard / nopCommerce administration" if actual_title == expected_title: if self.exp == 'Pass': self.logger.info('*** Passed ***') self.lp.click_logout_button() status_list.append('Pass') elif self.exp == 'Fail': self.logger.error('*** Failed ***') self.lp.click_logout_button() status_list.append('Fail') elif actual_title != expected_title: if self.exp == 'Pass': self.logger.error('*** Failed ***') status_list.append('Fail') elif self.exp == 'Fail': self.logger.info('*** Passed ***') status_list.append('Pass') if 'Fail' not in status_list: self.logger.info('*** Login DDT test is passed ***') self.driver.close() assert True else: self.logger.error('*** Login DDT test is failed ***') self.driver.close() assert False self.logger.info('*** End of Login DDT Test ***') self.logger.info('\n')
def test_ui_login_to_jira(self, login, passwd, res): self.driver.get(global_url_ui) login_page = LoginPage(self.driver) login_page.fill_login(login) login_page.fill_passwd(passwd) login_page.press_loginbtn() assert res in login_page.wait_for_result(res)
def test__a_board_is_created(driver, cli_credentials): login_page = LoginPage(driver) main_page = login_page.sign_in() create_board_page = main_page.create_board() board_page = (create_board_page .set_session_name('My first board') .choose_owner_is_sender() .create_board()) assert create_board_page.created_pop_up_is_appeared() assert 'https://sprintboards.io/boards' in board_page.get_current_url()
def init_test_user_center_class(): global driver, log driver = webdriver.Chrome() driver.get(data.base_url) driver.maximize_window() Base(driver, log).wait_element(login_loc.username_loc) lp = LoginPage(driver, log) lp.login("13133334444", "123456") time.sleep(3) driver.refresh() yield driver.quit()
def test_email_and_password_are_required_fields(self, driver): login_page = LoginPage(driver).open() sut = login_page.submit_login_expecting_failure() assertTrue(sut.is_it_login_page, self._DEFAULT_ERROR_MESSAGE) assertTrue( sut.is_email_message_error_appeared, "Can not find an error message about required password field.") assertTrue( sut.is_password_message_error_appeared, "Can not find an error message about required email field.")
def test_add_customer(self, setup): self.logger.info("***** Test_003_AddCustomer *****") self.driver = setup self.driver.get(self.base_url) self.driver.maximize_window() self.lp = LoginPage(self.driver) self.lp.set_username(self.username) self.lp.set_password(self.password) self.lp.click_login() self.logger.info("***** Login successful *****") self.logger.info("***** Starting Add Customer Test *****") self.add_cust = AddCustomer(self.driver) self.add_cust.click_on_customers_menu() self.add_cust.click_on_customers_menu_item() self.add_cust.click_on_add_new() self.logger.info("***** Providing customer info *****") self.email = random_generator() + "@gmail.com" self.add_cust.set_email(self.email) self.add_cust.set_password("test123") self.add_cust.set_customer_roles("Guests") self.add_cust.set_manager_of_vendor("Vendor 2") self.add_cust.set_gender("Male") self.add_cust.set_first_name("Vlad") self.add_cust.set_last_name("Nire") self.add_cust.set_dob("7/05/1989") # Format: D / MM / YYYY self.add_cust.set_company_name("QA") self.add_cust.set_admin_content("This is for testing.") self.add_cust.click_on_save() self.logger.info("***** Saving customer info *****") self.logger.info("***** Add customer validation started *****") self.msg = self.driver.find_element_by_tag_name("body").text #print(self.msg) if 'customer has been added successfully.' in self.msg: self.logger.info("***** Add customer Test Passed *****") assert True else: self.driver.save_screenshot(".\\Screenshots\\" + "test_add_customer_scr.png") self.logger.error("***** Add customer Test Failed *****") assert False self.driver.close() self.logger.info("***** Ending Add customer test *****")
def test_login_dtt(self, setup): self.logger.info("***** Test_002_DTT_Login *****") self.logger.info("***** Verifying Login DTT *****") self.driver = setup self.driver.get(self.base_url) self.lp = LoginPage(self.driver) # Get data from excel file self.rows = excel_utils.get_row_count(self.path, 'Sheet1') print(f"Number of rows in Excel: {self.rows}") status_list = [] for r in range(2, self.rows + 1): self.username = excel_utils.read_data(self.path, 'Sheet1', r, 1) self.password = excel_utils.read_data(self.path, 'Sheet1', r, 2) self.expected = excel_utils.read_data(self.path, 'Sheet1', r, 3) self.lp.set_username(self.username) self.lp.set_password(self.password) self.lp.click_login() time.sleep(5) actual_title = self.driver.title exp_title = "Dashboard / nopCommerce administration" if actual_title == exp_title: if self.expected == "Passed": self.logger.info("***** Test Passed *****") status_list.append("Passed") elif self.expected == "Failed": self.logger.info("***** Test Failed *****") status_list.append("Failed") self.lp.click_logout() elif actual_title != exp_title: if self.expected == "Passed": self.logger.info("***** Test Failed *****") status_list.append("Failed") elif self.expected == "Failed": self.logger.info("***** Test Passed *****") status_list.append("Passed") if "Failed" in status_list: self.logger.info("***** Login DTT Failed *****") self.driver.close() assert False else: self.logger.info("***** Login DTT Passed *****") self.driver.close() assert True self.logger.info("***** End of Login DTT Test *****")
def test_email_is_required_field(self, driver): fake = Faker() user_password = fake.pystr() login_page = LoginPage(driver).open() login_page.type_password(user_password) sut = login_page.submit_login_expecting_failure() assertTrue(sut.is_it_login_page, self._DEFAULT_ERROR_MESSAGE) assertTrue( sut.is_email_message_error_appeared, "Can not find an error message about required email field.")
def test_success_project_creation(self): user = get_property_file_value('user') password = get_property_file_value('password') project_name = self.faker.name() issue_tracking = True time_tracking = True login_po = LoginPage(self.driver) home_po = login_po.login_with(user, password) project_po = home_po.go_to_projects_module() project_po.go_to_create_new_project_form() project_po.fill_project_name(project_name) project_po.set_project_modules(issue_tracking, time_tracking) project_po.create_project_and_continue() assert project_po.is_project_created(project_name)
def init_driver(init): # 继承同级目录 conf_test 里面的init # 登录 LoginPage(init).login(CD.user, CD.password) # 初始化 LoginPage 方便调用 slp = SendLetterPage(init) # yield 返回值, 修改成字典格式 yield {'driver': init, 'slp': slp}
def set_up(): driver = webdriver.Chrome() driver.get(CommonData.login_url) driver.maximize_window() lp = LoginPage(driver) yield driver, lp driver.quit()
def init_driver(init): # 继承同级目录 conf_test 里面的init # 登录 LoginPage(init).login(CD.user, CD.password) # 初始化 LoginPage 方便调用 cp = CoursePage(init) # yield 返回值, 修改成字典格式 yield {'driver': init, 'cp': cp}
def setUpClass(cls): cls.driver = webdriver.Chrome( executable_path="drivers/chromedriver.exe") cls.driver.get( "https://opensource-demo.orangehrmlive.com/index.php/dashboard") #cls.driver.maximize_window() cls.login_page = LoginPage(driver=cls.driver)
def __init__(self, driver): self.driver = driver self.login = LoginPage(self) self.main = MainPage(self) self.product = ProductPage(self) self.order = OrderPage(self) self.report = ReportPage(self)
def test_login_success(self, data, init_driver): # 用例 = 登陆页的登陆功能 - 首页的 检查用户昵称存在的功能 # 步骤 LoginPage(init_driver).login_action(data["user"], data["pwd"]) # 断言 assert IndexPage(init_driver).get_user_name() == data["username"]
def test_login_success(self, init_func_test, success_data): # 登陆页面登陆操作 LoginPage(init_func_test[0], init_func_test[1]).login(success_data[0], success_data[1]) # 首页特定元素是否存在 quit_elem_status = IndexPage(init_func_test[0], init_func_test[1]).quit_elem_exists() assert quit_elem_status != None
def init_driver(init): # 继承同级目录 conf_test 里面的init # 登录 LoginPage(init).login(CD.user, CD.password) # 进入班级 CoursePage(init).enter_course() # 初始化 LoginPage 方便调用 uj = JobPage(init) # yield 返回值, 修改成字典格式 yield {'driver': init, 'uj': uj}
def test_login(self, setup): self.logger.info("***Verifying Login test***") self.driver = setup self.driver.get(self.baseURL) self.lp = LoginPage(self.driver) self.lp.set_user_name(self.username) self.lp.set_password(self.password) self.lp.click_login_button() actual_title = self.driver.title if actual_title == "Dashboard / nopCommerce administration": self.logger.info("*** Login test is passed ***") self.driver.close() assert True else: path_to_failed_login_test = os.path.join(self.path_to_screenshots, 'test_login_failed.png') self.driver.save_screenshot(path_to_failed_login_test) self.logger.error("*** Login test is failed ***") self.driver.close() assert False
def I_am_on_the_login_page(context): login_page = LoginPage(context.driver) login_page.navigate(context.base_url) context.current_page = login_page