class Test_001_Login: # config 파일에서 URL, ID, PW 정보를 가져옴 baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUseremail() password = ReadConfig.getPassword() # Log 생성을 위한 인스턴스 logger = LogGen.loggen() # Title 확인하는 Test @pytest.mark.regression def test_homePageTitle(self, setup): self.logger.info("********** Test_001_Login **********") self.logger.info("********** verifying home page title **********") self.driver = setup self.driver.get(self.baseURL) # 현재 탭의 타이틀 정보를 가져옴 act_title = self.driver.title # 타이틀 정보를 이용해서 로그인 페이지가 정상적으로 열렸는지 검증 if act_title == "로그인 - SK open API": assert True self.driver.close() self.logger.info( "********** Login page title test is passed **********") else: self.driver.save_screenshot(".\\screenshots\\" + "test_homePageTitle.png") self.driver.close() self.logger.error( "********** Login page title test is failed **********") assert False @pytest.mark.sanity @pytest.mark.regression def test_login(self, setup): self.logger.info("********** verifying login test **********") self.driver = setup self.driver.get(self.baseURL) self.driver.maximize_window() self.lp = LoginPage(self.driver) # ID, PW 입력 self.lp.setUserName(self.username) self.lp.setPassword(self.password) # 로긴 버튼 클릭 self.lp.clickLogin() # 대기시간 2초 설정 time.sleep(2) # 로긴 후 타이틀 정보 저장 act_title = self.driver.title member = self.driver.find_element_by_xpath( '//*[@id="tempHide"]/div[2]/ul/li[2]/div/a/span[2]').text if act_title == "SK open API" and member == self.username: assert True self.logger.info("********** login test is passed **********") self.driver.close() else: self.driver.save_screenshot(".\\screenshots\\" + "test_login.png") self.driver.close() self.logger.error("********** login test is failed **********") assert False
class Test_SearchCustomerByEmail_004: baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUseremail() password = ReadConfig.getPassword() logger = LogGen.loggen() # Logger @pytest.mark.regression def test_searchCustomerByEmail(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.setUserName(self.username) self.lp.setPassword(self.password) self.lp.clickLogin() self.logger.info("************* Login succesful **********") self.logger.info("******* Starting Search Customer By Email **********") self.addcust = AddCustomer(self.driver) self.addcust.clickOnCustomersMenu() self.addcust.clickOnCustomersMenuItem() self.logger.info("************* searching customer by emailID **********") searchcust = SearchCustomer(self.driver) searchcust.setEmail("*****@*****.**") searchcust.clickSearch() time.sleep(5) status=searchcust.searchCustomerByEmail("*****@*****.**") time.sleep(2) self.driver.close() assert True==status self.logger.info("*************** TC_SearchCustomerByEmail_004 Finished *********** ")
class Test_004_SearchCutomerByEmail: baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUserEmail() password = ReadConfig.getUserPassword() logger = LogGen.loggen() @pytest.mark.regression def test_searchcutomerbyemail(self, setup): self.logger.info("********SearchCustomerByEmail_004 Started*********") self.driver = setup self.driver.get(self.baseURL) self.lp = LoginPage(self.driver) self.lp.setUsername(self.username) self.lp.setPassword(self.password) self.lp.clickLogin() time.sleep(3) self.logger.info("************Login Successful***************") self.logger.info("************Start Searching by Email***************") self.addcust = AddCustomer(self.driver) self.addcust.clickOnCustomerMenu() time.sleep(2) self.addcust.clickonCustomerMenuItem() self.logger.info("************Searching customer by Email***************") searchcust = SearchCustomer(self.driver) searchcust.setSearchEmail("*****@*****.**") searchcust.clickSearch() time.sleep(5) status = searchcust.searchCustomerByEmail("*****@*****.**") assert True == status self.logger.info("************TC Search customer by Email Finished***************") self.driver.close()
class Test_001_Login: logger=LogGen.loggen() baseUrl=configure.getUrl() company=configure.getCompany() username=configure.getUsername() @pytest.mark.function def test_homePageTitle(self,setup): self.logger.info("**********Begin testcase: Test for good logging***********") self.driver=setup self.logger.info("Go to Treasury page") self.driver.get(self.baseUrl) self.driver.maximize_window() self.lp=Login(self.driver) self.logger.info("Enter company name:") self.lp.setCompany(self.company) #time.sleep(2) self.logger.info("Enter username:"******"Click Login button:") self.lp.clickLogin() #time.sleep(1) if self.driver.title=="Trace & Treasury": self.logger.info("Goed loging") assert True,"Succesfully Login Tresury" self.driver.quit() else: self.logger.info("Wrong username or companyname") self.driver.quit() assert False,"Wrong CompanyName or UserName"
class Test_SearchCustomerByEmail_004: baseURL = ReadConfig.getApplicationURL() userName = ReadConfig.getUserName() password = ReadConfig.getPassword() logger = LogGen.loggen() @pytest.mark.regression def test_searchCustomerByEmail(self, setup): self.logger.info( "***************SearchCustomerByEmail_004*************") self.driver = setup self.driver.get(self.baseURL) self.driver.maximize_window() self.lp = Login(self.driver) self.lp.setUserName() self.lp.setPassword() self.lp.clickLogin() self.logger.info( "***********Starting Search Customer By Email**********") self.addCust = AddCustomer(self.driver) self.addCust.clickCustomersMenu() self.addCust.clickCustomersMenuItem() self.logger.info("************Seach Customer By Email Id********") searchCust = SearchCustomer(self.driver) searchCust.setEmail("*****@*****.**") searchCust.clickSearchButton() time.sleep(5) status = searchCust.searchCustomerByEmail("*****@*****.**") assert True == status self.logger.info( "********** TC_SearchCustomerByEmail_004 Finished ************") self.driver.close
class Test_SearchCustomerByName_005: baseURL = "https://admin-demo.nopcommerce.com/" username = "******" password = "******" logger = LogGen.loggen() # Logger @pytest.mark.regression def test_searchCustomerByName(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.setUserName(self.username) self.lp.setPassword(self.password) self.lp.clickLogin() self.logger.info("************* Login succesful **********") self.logger.info("******* Starting Search Customer By Name **********") self.addcust = AddCustomer(self.driver) self.addcust.clickOnCustomersMenu() self.addcust.clickOnCustomersMenuItem() self.logger.info("************* searching customer by emailID **********") searchcust = SearchCustomer(self.driver) searchcust.setFirstName("Victoria") searchcust.setLastName("Terces") searchcust.clickSearch() time.sleep(5) status=searchcust.searchCustomerByName("Victoria Terces") assert True==status self.logger.info("*************** TC_SearchCustomerByName_005 Finished *********** ") self.driver.close();
class Test_005_SearchCustomerByName: baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUserEmail() password = ReadConfig.getPassword() logger = LogGen.loggen() @pytest.mark.regression def test_searchCustomerByName(self, setup): self.logger.info("***** ***** TEST_005 Search Customer By Name ***** *****") self.driver = setup self.driver.get(self.baseURL) self.driver.maximize_window() self.lp = Login(self.driver) self.lp.setUserName(self.username) self.lp.setPassword(self.password) self.lp.clickLogin() self.logger.info("***** Login Successful *****") self.logger.info("***** Starting Search Customer By Name *****") self.adcust = AddCustomer(self.driver) self.adcust.clickOnCustomersMenu() self.adcust.clickOnCustomersMenuItem() searchcust = SearchCustomer(self.driver) searchcust.setFirstName("Victoria") searchcust.setLastName("Terces") searchcust.clickSearch() time.sleep(5) status = searchcust.searchCustomerByName("Victoria Terces") assert status == True self.logger.info("***** ***** TEST_005 Search Customer By Name Finished ***** *****") self.driver.close()
class Test_002_DDT_Login: baseURL = ReadConfig.getApplicationURL() path = ".//testData/LoginData.xlsx" logger = LogGen.loggen() @pytest.mark.regression def test_login_ddt(self, setup): self.logger.info("**********Test_002_DDT_Login**********") self.logger.info("*****Verifying Login Test*****") self.driver = setup self.driver.get(self.baseURL) self.lp = Login(self.driver) self.rows = XLUtils.getRowCount(self.path, 'Sheet1') print("Number of rows in EXcel:", self.rows) lst_status = [] for row in range(2, self.rows + 1): self.user = XLUtils.readData(self.path, 'Sheet1', row, 1) self.password = XLUtils.readData(self.path, 'Sheet1', row, 2) self.exp = XLUtils.readData(self.path, 'Sheet1', row, 3) self.lp.setUserName(self.user) self.lp.setPassword(self.password) self.lp.clickLogin() time.sleep(5) act_title = self.driver.title exp_title = "Dashboard / nopCommerce administration" if act_title == exp_title: if self.exp == "Pass": self.logger.info("**Passed**") self.lp.clickLogout() lst_status.append("Pass") elif self.exp == "Fail": self.logger.info("**Failed**") self.lp.clickLogout() lst_status.append("fail") elif act_title != exp_title: if self.exp == "Pass": self.driver.save_screenshot(".\\screenshots\\" + "test_login_ddt.png") self.logger.info("**Failed**") lst_status.append("Fail") elif self.exp == "Fail": self.logger.info("**Passed**") lst_status.append("Pass") if "Fail" not in lst_status: self.logger.info("Login DDT test Passed.......") self.driver.close() assert True else: self.logger.error("Login DDT test Failed.......") self.driver.close() assert False self.logger.info("***** End of Login DDT Test *****") self.logger.info("***** ***** Completed TC_LoginDDT_002 ***** *****")
class Test_002_SearchIphone5: logger = LogGen.loggen() def test_searchIphone(self, setup): self.logger.info("***** Test Test_002_SearchIphone11 Start *****") self.driver = setup time.sleep(9) self.logger.info("***** Login Begins *****") # Create a variable to access LoginPage.py self.lp = LoginPage(self.driver) time.sleep(9) self.lp.clickButtonLanguage() time.sleep(9) self.lp.clickButtonContinue() time.sleep(9) self.lp.clickX() time.sleep(9) # create variable to access SearchIphonePage.py self.logger.info("***** Iphone Search begins *****") self.si = SearchIphone(self.driver) time.sleep(13) self.si.iphoneSearchBox('iphone 11') time.sleep(13) self.logger.info("***** Search Iphone *****") self.si.clickIcon() time.sleep(13) self.si.clickAlert() time.sleep(13) self.logger.info("***** Click Alert Message *****") self.logger.info("***** Ending Search Iphone 11 *****") self.logger.info("***** Test Test_002_SearchIphone11 Completed *****")
class Test_searchProductsByName_007: baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUserEmail() password = ReadConfig.getPassword() logger = LogGen.loggen() # Logger product_name = "Nike" # Variable for product you want to search def testSearchProductsByName(self, setup): self.logger.info( "************* TC_searchProductsByName_007 **********") self.driver = setup self.driver.get(self.baseURL) self.driver.maximize_window() self.lp = LoginPage(self.driver) self.lp.setUserName(self.username) self.lp.setPassword(self.password) self.lp.clickLogin() self.logger.info("************* Login successful **********") self.logger.info( "************* Navigating to Products Page **********") self.pp = PageProducts(self.driver) self.pp.clickCatalog() self.driver.implicitly_wait(2) self.pp.clickProducts() self.pp.setProductName(self.product_name) self.pp.clickSearch() self.logger.info("************* Search for product **********") flag = self.pp.searchProductByName(self.product_name) assert flag self.driver.close() self.logger.info( "************* TC_searchProductsByName_007 Finished **********")
class TestSearch_004(BaseClass): baseURL = ReadConfig.getApplicationURL() Email = ReadConfig.getEmail() Password = ReadConfig.getPassword() searchEmail = ReadConfig.getsearchEmail() logger = LogGen.loggen() def test_searchgCustomer(self, setup): self.lp = Login(self.driver) self.lp.doLogin(self.Email, self.Password) self.addCust = addCustomer(self.driver) self.addCust.clickCustomers() self.addCust.clickCustomersMenu() self.search = searchCustomer(self.driver) self.search.setEmail(self.searchEmail) self.search.clickSearch() getEmail = self.search.searchByEmail(self.searchEmail) assert self.searchEmail == getEmail
class Test_case_002_ddt_Login: base_url = Readconfig.get_application_url() path = ".//TestData/LoginData.xlsx" logger = LogGen.loggen() def test_login(self, setup): self.logger.info("**** Test case 002 DDT Login ****") self.logger.info("**** verifying test login ****") self.driver = setup self.driver.get(self.base_url) self.lp = LoginPage(self.driver) #must obtain data from .xlsx self.rows = XLUtils.get_row_count(self.path, "Hoja 1") print("Number of rows in the Excel: ", self.rows) list_status = [] for r in range(2, self.rows + 1): self.user = XLUtils.read_data(self.path, 'Hoja 1', r, 1) self.password = XLUtils.read_data(self.path, 'Hoja 1', r, 2) self.exp = XLUtils.read_data(self.path, 'Hoja 1', r, 3) self.lp.setUsername(self.user) self.lp.setPassword(self.password) self.lp.clickLogin() time.sleep(5) 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.clickLogout() list_status.append("Pass") elif self.exp == "Fail": self.logger.info("*** FAILED ***") self.lp.clickLogout() list_status.append("Fail") elif actual_title != expected_title: if self.exp == "Pass": self.logger.info("*** FAILED ***") list_status.append("Fail") elif self.exp == "Fail": self.logger.info("*** PASSED ***") list_status.append("Pass") if "Fail" not in list_status: self.logger.info("**** LOGIN DDT TEST PASSED") self.driver.close() assert True else: self.logger.info("**** LOGIN DDT TEST FAILED") self.driver.close() assert False self.logger.info("**** END OF Test case 002 DDT Login ****") self.logger.info("**** Test case 002 DDT Login COMPLETED ****")
class Test_002_DDT_Login: baseURL = ReadConfig.getApplicationURL() path = ".//TestData/LoginData.xlsx" logger = LogGen.loggen() @pytest.mark.regression def test_login_ddt(self, setup): self.logger.info(" ************* Test__002__DDT__Login*********** ") self.logger.info(" ******************** Veryfying after login ddt test title *************** ") self.driver = setup self.driver.get(self.baseURL) self.lp = LoginPage(self.driver) self.rows = XLUtils.getRowCount(self.path, 'Sheet1') print("Number of rows in excel file:", self.rows) lst_status = [] #empty list variable for r in range(2, self.rows+1): self.user = XLUtils.readData(self.path, 'Sheet1', r,1) self.password = XLUtils.readData(self.path, 'Sheet1', r, 2) self.exp = XLUtils.readData(self.path, 'Sheet1', r, 3) self.lp.setUserName(self.user) self.lp.setPassword(self.password) self.lp.clickLogin() time.sleep(5) act_title = self.driver.title exp_title = "Dashboard / nopCommerce administration" if act_title == exp_title: if self.exp == "Pass": self.logger.info(" ****** Passed *********") self.lp.clickLogout() lst_status.append("Pass") elif self.exp == "Fail": self.logger.info(" ****** Failed *******") self.lp.clickLogout() lst_status.append("Fail") elif act_title != exp_title: if self.exp == 'Pass': self.logger.info(" ***** Failed ****** ") lst_status.append("Fail") elif self.exp == "Fail": self.logger.info("******* Passed *******") lst_status.append("Pass") if "Fail" not in lst_status: self.logger.info("****** Login DDT test passed ********") self.driver.close() assert True else: self.logger.info("**** Login DDT test failed ******") self.driver.close() assert False self.logger.info(" ********* End of Login DDT Test *********") self.logger.info(" ******************* Completed TC_LOGINDDT_002 Test ********")
class Test_002_DDT_Login: baseURL = ReadConfig.getApplicationURL() dataPath = ".//TestData/LoginData.xlsx" logger = LogGen.loggen() @pytest.mark.regression def test_login(self, setup): self.logger.info("************** Test_002_DDT_Login **************") self.logger.info("************** Verifying test_login **************") self.driver = setup self.driver.get(self.baseURL) self.lp = LoginPage(self.driver) self.numOfTests = XLUtils.gerRowCount(self.dataPath, "Sheet1") test_status_lst = [] for data in range(2,self.numOfTests+1): self.user = XLUtils.readData(self.dataPath, "Sheet1", data, 1) self.pwd = XLUtils.readData(self.dataPath, "Sheet1", data, 2) self.exp = XLUtils.readData(self.dataPath, "Sheet1", data, 3) self.lp.setUsername(self.user) self.lp.setPassword(self.pwd) self.lp.clickLogin() time.sleep(5) act_title = self.driver.title exp_title = "Dashboard / nopCommerce administration" print("Data %: % %", data, self.user, self.pwd) if act_title == exp_title: if self.exp == "Pass": self.logger.info("*** PASSED ***") test_status_lst.append("Pass") self.lp.clickLogout() elif self.exp == "Fail": self.logger.info("*** FAILED ***") test_status_lst.append("Fail") self.lp.clickLogout() if act_title != exp_title: if self.exp == "Pass": self.logger.info("*** FAILED ***") test_status_lst.append("Fail") elif self.exp == "Pass": self.logger.info("*** PASSED ***") test_status_lst.append("Pass") if "Fail" not in test_status_lst: self.logger.info("DDT Test is Pass") self.driver.close() assert True else: self.logger.info("DDT Test is Fail") self.driver.close() assert False self.logger.info(" ********** End of Login DDT Test **********") self.logger.info(" *************** Completed TC_LoginDDT_002 **************")
class Test_001_Login: # Config.ini -> Utilities -> Read common properties # If config info is change, please update in config.ini file baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUseremail() password = ReadConfig.getPassword() logger = LogGen.loggen() @pytest.mark.regression def test_homePageTitle(self, setup): self.logger.info("**************** Test_001_Login ****************") self.logger.info( "**************** Verifying Home Page Title ****************") self.driver = setup self.logger.info("**** Opening URL ****") self.driver.get(self.baseURL) act_title = self.driver.title if act_title == "Your store. Login": self.logger.info( "**************** Home page title test is passed ****************" ) self.driver.close() assert True else: # Fail test case self.logger.error( "**************** Home page title test is failed ****************" ) self.driver.save_screenshot("./Screenshots/test_homePageTitle.png") self.driver.close() assert False @pytest.mark.sanity @pytest.mark.regression 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.setUserName(self.username) self.lp.setPassword(self.password) self.lp.clickLogin() act_title = self.driver.title if act_title == "Dashboard / nopCommerce administration": self.logger.info( "**************** Login test is passed ****************") self.driver.close() assert True else: # Fail test case self.logger.error( "**************** Login test is failed ****************") self.driver.save_screenshot("./Screenshots/test_login.png") self.driver.close() assert False
class Test_002_DDT_Login(): baseURL = ReadConfig.getApplicationURL() path = "TestData/LoginData.xlsx" logger = LogGen.loggen() # Logger @pytest.mark.regression def test_login_ddt(self,setup): self.logger.info("******* Starting Test_002_DDT_Login Test **********") self.logger.info("******* Starting Login DDT Test **********") self.driver = setup self.driver.get(self.baseURL) self.driver.maximize_window() self.lp = LoginPage(self.driver) self.rows = XLUtils.getRowCount(self.path, 'Sheet1') print('Number of rows...',self.rows) lst_status=[] for r in range(2,self.rows+1): self.user=XLUtils.readData(self.path,'Sheet1',r,1) self.password = XLUtils.readData(self.path, 'Sheet1', r, 2) self.exp = XLUtils.readData(self.path, 'Sheet1', r, 3) self.lp.setUserName(self.user) self.lp.setPassword(self.password) self.lp.clickLogin() time.sleep(5) act_title=self.driver.title exp_title="Dashboard / nopCommerce administration" if act_title==exp_title: if self.exp=='Pass': self.logger.info("**** passed ****") self.lp.clickLogout() lst_status.append("Pass") elif self.exp=='Fail': self.logger.info("**** failed ****") self.lp.clickLogout() lst_status.append("Fail") elif act_title!=exp_title: if self.exp == 'Pass': self.logger.info("**** failed ****") lst_status.append("Fail") elif self.exp == 'Fail': self.logger.info("**** passed ****") lst_status.append("Pass") print(lst_status) if "Fail" not in lst_status: self.logger.info("******* DDT Login test passed **********") self.driver.close() assert True else: self.logger.error("******* DDT Login test failed **********") self.driver.close() assert False self.logger.info("******* End of Login DDT Test **********") self.logger.info("**************** Completed TC_LoginDDT_002 ************* ")
class Test_005_Customer_Search: baseURL = ReadConfig.get_base_url() username = ReadConfig.get_username() password = ReadConfig.get_password() logger = LogGen.loggen() @pytest.mark.regression def test_customer_email_search(self, setup): self.driver = setup self.driver.get(self.baseURL) login_page_obj = LoginPage(self.driver) login_page_obj.set_login_username(self.username) login_page_obj.set_login_password(self.password) login_page_obj.click_login_button() self.customer_page_obj = AddCustomer(self.driver) self.customer_page_obj.click_menu_link_customers() self.customer_page_obj.click_menu_item_link_customers() self.customer_search_obj = CustomerSearch(self.driver) self.customer_search_obj.set_email("*****@*****.**") self.customer_search_obj.search_email( "*****@*****.**") self.customer_search_obj.set_first_name("Victoria") self.customer_search_obj.set_last_name("Terces") self.customer_search_obj.search_first_name("Victoria Terces")
class Test_004_SearchCustomer: base_url = ReadConfig.getApplicationUrl() user_name = ReadConfig.getuseremail() password = ReadConfig.getpassword() logger = LogGen.loggen() @pytest.mark.regression def test_searchcustomer(self, setup): # self.logger.info("******Test_004_SearchCustomer Started*******") # self.logger.info("*****Login Home Page*****") self.driver = setup self.driver.get(self.base_url) self.driver.maximize_window() self.lp = LoginPage(self.driver) self.lp.setusername(self.user_name) self.lp.setpassword(self.password) self.lp.clicklogin() # self.logger.info("*****Login HomePage Successfully*****") self.addcust = AddCustomer(self.driver) self.addcust.clickOnCustomersMenu() self.addcust.clickOnCustomersMenuItem() # self.logger.info("*****Search Customer Started******") self.search_cust = SearchCustomer(self.driver) self.search_cust.setfirstname("brenda") self.search_cust.setlastname("lindgren") self.search_cust.clickonsearch() time.sleep(5) status = self.search_cust.searchbyname("Brenda Lindgren") assert True == status self.logger.info("******Test_004_SearchCustomer End*******") self.driver.close()
class Test_1: base_url = siteconfig.getsiteURl() base_xpath = siteconfig.getfooterXPATH() logger = LogGen.loggen() def test_footer_links(self, setup): self.logger.info("*************** footer links test started **************") driver = setup driver.get(self.base_url) driver.maximize_window() time.sleep(3) footers = Footer(driver) footer_xpath = footers.footer_links_xpath(self.base_xpath) time.sleep(3) df = { "S.no": [], "Link_name": [], "XPATH": [], "URL": [], "Directed URL": [], "Validation": [] } result = [] for n, i in enumerate(footer_xpath): footer = driver.find_element_by_xpath(i) footer.location_once_scrolled_into_view href = footer.get_attribute("href") text = footer.get_attribute("text") try: footer.click() except ElementNotInteractableException as e: self.logger.info("**************** {} ************".format(e)) self.logger.info("************ {} footer failed *********".format(text)) df["Validation"].append("failed") result.append("failed") else: current_url = driver.current_url time.sleep(1) driver.back() df["Validation"].append("passed") self.logger.info("************ {} footer passed *********".format(text)) result.append("passed") finally: df["S.no"].append(n + 1) df["Link_name"].append(text) df["URL"].append(href) df["Directed URL"].append(current_url) df["XPATH"].append(i) Data = pd.DataFrame(df, index=df["S.no"]) output = pd.ExcelWriter(".//reports/footers_links_validation.xlsx") Data.to_excel(output) output.save() if "failed" not in result: assert True else: assert False driver.close()
class Test_004_SearchcustomerbyEmail: baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUserEmail() password = ReadConfig.getPassword() logger = LogGen.loggen() @pytest.mark.regression def test_searchcustomerbyemail(self, setUp): self.logger.info("SearchCustomer") self.driver = setUp self.driver.get(self.baseURL) self.driver.maximize_window() self.lp = LoginPage(self.driver) self.lp.setUserName(self.username) self.lp.setPassword(self.password) self.lp.clickLogin() self.logger.info("Login successful") self.logger.info("Search Customer by Email") self.addcust = AddCustomer(self.driver) self.addcust.clickOnCustomersMenu() self.addcust.clickOnCustomerMenuItem() searchcust = SearchCustomer(self.driver) searchcust.setEmail("*****@*****.**") searchcust.clickSearch() time.sleep(5) status = searchcust.searchCustomerByEmail("*****@*****.**") assert True == status self.logger.info("End of search customer by email test case ") self.driver.close()
class Test_001_Search_Customer: logger = LogGen.loggen() @pytest.mark.regression def test_search_customer(self, setup): self.driver = setup self.driver.get(ConfigReader.get_application_url()) self.lg = Login(self.driver) self.lg.set_username(ConfigReader.get_login_username()) self.lg.set_password(ConfigReader.get_login_password()) self.lg.click_login() self.logger.info("Login Successful") self.logger.info("starting search customer test") self.go_to_customer_page = AddCustomerTest(self.driver) self.go_to_customer_page.click_on_customer_main_manu() self.go_to_customer_page.click_on_customer_mainItem() self.searchCustomer = SearchCustomer(self.driver) flag = self.searchCustomer.search_customer_by_attribute( attribute=ConfigReader.getArrtibute()) assert flag self.logger.info("Test search customer pass") self.driver.close()
class Test_002_DDT_Login: baseURL = ReadConfig.getApplicationURL() path = "C:\\Users\\Luis\\Desktop\\Selenium-Hybrid-Framework\\TestData\\LoginData.xlsx" logger = LogGen.loggen() @pytest.mark.regression def test_Login(self, setup): self.logger.info("********Test_002_DDT_Login***************") self.logger.info("********Home Verifying Login Test *******") self.driver = setup self.driver.get(self.baseURL) self.lp = LoginPage(self.driver) self.rows = XLUtils.getRowCount(self.path, 'Hoja1') print("Number of Rows i a Excel:", self.rows) lst_status = [] #empaty list varaible for r in range(2, self.rows + 1): self.user = XLUtils.readData(self.path, 'Hoja1', r, 1) self.password = XLUtils.readData(self.path, 'Hoja1', r, 2) self.exp = XLUtils.readData(self.path, 'Hoja1', r, 3) self.lp.setUserName(self.user) self.lp.setPassword(self.password) self.lp.clickLogin() time.sleep(5) #self.lp.clickLogout() act_title = self.driver.title exp_title = "Dashboard / nopCommerce administration" if act_title == exp_title: if self.exp == "Pass": self.logger.info("***Passed***") self.lp.clickLogout() lst_status.append("Pass") elif self.exp == "Fail": self.logger.info("***Failed***") self.lp.clickLogout() lst_status.append("Fail") elif act_title != exp_title: if self.exp == "Pass": self.logger.info("***failed***") lst_status.append("Fail") elif self.exp == "Fail": self.logger.info("***passed***") lst_status.append("Fail") if "Fail" not in lst_status: self.logger.info("Login DDT test passed...") self.driver.close() assert True else: self.logger.info("Login DDT test failed...") self.driver.close() assert False self.logger.info("************* End of Login DDT Test *****") self.logger.info("************Completed TC_LoginDDT_002****")
class Test_003_AddCustomer: baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUserName() password = ReadConfig.getPassword() logger = LogGen.loggen() # Logger @pytest.mark.sanity def test_addCustomer(self, setup): self.logger.info("************* Test_003_AddCustomer **********") self.driver = setup self.driver.get(self.baseURL) self.driver.maximize_window() self.lp = Login(self.driver) self.lp.set_UserName(self.username) self.lp.set_Password(self.password) self.lp.click_Login() self.logger.info("************* Login succesful **********") self.logger.info("******* Starting Add Customer Test **********") self.addcust = AddCustomer(self.driver) self.addcust.clickOnCustomersMenu() self.addcust.clickOnCustomersMenuItem() self.addcust.clickOnAddnew() self.logger.info("************* Providing customer info **********") self.email = random_generator() + "@gmail.com" self.addcust.setEmail(self.email) self.addcust.setPassword("test123") self.addcust.setFirstName("Nitesh") self.addcust.setLastName("Kumar") self.addcust.setGender("Male") self.addcust.setDob("7/05/1985") # Format: D / MM / YYY self.addcust.setCompanyName("busyQA") self.addcust.setCustomerRoles("Guests") self.addcust.setManagerOfVendor("Vendor 2") self.addcust.setAdminContent("This is for testing.........") self.addcust.clickOnSave() 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: assert True == True self.logger.info("********* Add customer Test Passed *********") else: self.driver.save_screenshot( ".\\Screenshots\\" + "test_addCustomer_scr.png") # Screenshot self.logger.error( "********* Add customer Test Failed ************") assert True == False self.driver.close() self.logger.info("******* Ending Test_003_AddCustomer Test **********")
class TestSearchCustomerByName_005: baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUseremail() password = ReadConfig.getPassword() logger = LogGen.loggen() @pytest.mark.regression def test_searchCustomerByName(self, setup): self.logger.info( "*********** TestSearchCustomerByName_005 **************") self.driver = setup self.driver.get(self.baseURL) self.lp = LoginPage(self.driver) self.lp.SetUserName(self.username) self.lp.SetPassword(self.password) self.lp.ClickLogin() self.logger.info("********** Login Successful **********") self.logger.info( "********** Strating Search Customer By Name **********") self.addcust = AddCustomer(self.driver) self.addcust.ClickOnCustomersMenu() self.addcust.ClickOnCustomersMenuItem() self.logger.info("********** Search Customer By Name **********") searchcust = SearchCustomer(self.driver) searchcust.setFirstName("victoria") searchcust.setLastName("Terces") searchcust.ClickSearch() time.sleep(5) status = searchcust.searchCustomerByName("Victoria Terces") assert True == status self.logger.info("********** TC_SearchCustomerByName_005 **********") self.driver.close()
class Test_004_SearchCustomer: baseUrl = ReadConfig.getApplicationURL() username = ReadConfig.getUsername() password = ReadConfig.getPassword() logger = LogGen.loggen() @pytest.mark.regression def test_searchCustomer(self, setup): self.driver = setup self.driver.get(self.baseUrl) self.driver.maximize_window() self.lp = Login(self.driver) self.lp.setUserName(self.username) self.lp.setPassword(self.password) self.lp.clickLogin() self.addcust = AddCustomers(self.driver) self.addcust.clickOnCustomerMenu() self.addcust.clickOnCustomerMenuItem() searchCust = SearchCustomer(self.driver) searchCust.setFirstName("Victoria") searchCust.setLastName("Terces") searchCust.clickSearch() time.sleep(5) status = searchCust.searchCustomerByName("Victoria Terces") assert True == status self.driver.close()
class Test_TC002_Login: baseURL = ReadConfig.getApplicationURL() path = ".//testData//LoginData.xlsx" logger = LogGen.loggen() lst_status = [] exp = None @pytest.mark.regression def test_loginPageTitle_ddt(self, setup): self.logger.info( "******* Starting Test Login Page DDT Test **********") self.logger.info( "******* Starting Test 002 DDT LoginPage Title Test **********") self.driver = setup self.driver.maximize_window() self.driver.get(self.baseURL) self.lp = LoginPage(self.driver) self.rows = ExcelUtils.getRowCount(self.path, 'Sheet1') print('Number of Rows: ', self.rows) for r in range(2, self.rows + 1): self.user = ExcelUtils.readData(self.path, 'Sheet1', r, 1) self.password = ExcelUtils.readData(self.path, 'Sheet1', r, 2) self.status = ExcelUtils.readData(self.path, 'Sheet1', r, 3) self.lp.setUsername(self.user) self.lp.setPassword(self.password) self.lp.clickLogin() time.sleep(5) act_title = self.driver.title if act_title == 'Dashboard / nopCommerce administration': if self.status == 'Pass': self.logger.info("*** Passed ***") self.lp.clickLogout() self.lst_status.append("Pass") elif self.status == 'Fail': self.logger.info("*** Failed ***") self.lp.clickLogout() self.lst_status.append("Fail") elif act_title != 'Dashboard / nopCommerce administration': if self.status == 'Pass': self.logger.info("*** Failed ***") self.lst_status.append("Fail") elif self.status == 'Fail': self.logger.info("*** Passed ***") self.lst_status.append("Pass") if "Fail" not in self.lst_status: self.logger.info("***** Login DDT Passed *****") self.driver.close() assert True else: self.logger.info("***** Login DDT Failed *****") self.driver.close() assert False self.logger.info("******* Ending Test Login Page DDT Test **********") self.logger.info( "******* Completed Test 002 DDT LoginPage Title Test **********")
class Test_003_SearchPrd: baseURL = ReadConfig.getApplicationURL() logger = LogGen.loggen() @pytest.mark.sanity @pytest.mark.regression def test_searchPrd(self, setup): self.logger.info("***** Test_003_SearchPrd Started ****") self.driver = setup self.driver.get(self.baseURL) self.driver.maximize_window() time.sleep(5) # create a new variable self.logger.info("***** Search Product Started ****") self.srb = SearchPrd(self.driver) self.srb.setSearchPrd("Summer Dress") self.srb.clickSearch() # Validate title of the page self.logger.info("***** Validation Test Started ****") act_title = self.driver.title if act_title == "Search - My Store": self.logger.info("***** Validation Test Passed ****") assert True else: self.driver.save_screenshot("./Screenshots" + "Test_003_SearchPrd.png") self.logger.info("***** Validation Test Failed ****") assert False # sort by lowest price self.srb.setSortProduct("Price: Lowest first") self.logger.info("***** Test_003_SearchPrd Completed ****")
class Test_001_Login: logger = LogGen.loggen() @pytest.mark.regression def test_home_page_title(self, setup ): self.logger.info("Generating log") self.driver = setup self.driver.get ( ConfigReader.get_application_url () ) home_page_title = self.driver.title if home_page_title == "Your store. Login" : assert True self.driver.close () else : screenshot ( self.driver ) self.driver.close () assert False @pytest.mark.sanity @pytest.mark.regression def test_login ( self, setup ) : self.driver = setup self.driver.get ( ConfigReader.get_application_url () ) self.lg = Login ( self.driver ) self.lg.set_username ( ConfigReader.get_login_username () ) self.lg.set_password ( ConfigReader.get_login_password () ) self.lg.click_login () login_page_title = self.driver.title if login_page_title == "Dashboard / nopCommerce administration": assert True self.driver.close() else: screenshot(self.driver) self.driver.close() assert False
class Test_Tickets_Page: logger = LogGen.loggen() faker = Faker() baseURL = environment.dev_url username = user.dev_agent password = password.dev_password loginpagetitle = page.dev_loginpage_title loggedinpagetitle = page.page_title resetpagetitle = "Reset Password" @pytest.mark.regression @allure.severity(allure.severity_level.NORMAL) @allure.description("This test verifies the tickets page exist") # @allure.link('', name='Jira') # @allure.link('', name='TestRail ') def test_tickets_page_displays(self, setup): self.logger.info("**** Starting Test_Tickets_Page ****") self.logger.info("Starting test_tickets_page_displays") driver = setup driver.get(self.baseURL) lp = LoginPage(driver) lp.login() bp = BasePage(driver) bp.clickTickets() bp.assert_element_text(TicketPage.page_header_xpath, "tickets") self.logger.info("test_tickets_page_displays Test: PASSED") self.logger.info("**** Completed Test_Tickets_Page ****") driver.close()
class Test_002_loginDDT(BaseClass): logger = LogGen.loggen() @pytest.mark.parametrize("email, password", getData()) def test_login(self, email, password): self.logger.info("*********Login Test Test_002 Started***********") self.logger.info("********Verifying Logim Function***********") self.lp = Login(self.driver) self.lp.doLogin(email, password) actualTitle = self.lp.getTitle() userName = self.lp.getUserName() expTitle = "Dashboard / nopCommerce administration" assert actualTitle == expTitle assert userName == 'John Smith' self.logger.info("Login Test is passed")