class Test_SearchCustomerByEmail_004: baseURL = readconfig.getURL() username = readconfig.getuseremail() password = readconfig.getuserpassword() 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 = Login(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("*****@*****.**") self.driver.close() assert True==status self.logger.info("*************** TC_SearchCustomerByEmail_004 Finished *********** ")
class Test_002_DDT_Login(): baseURL = readconfig.getURL() 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 = Login(self.driver) self.rows = ExcelUtils.getRowCount(self.path, 'Sheet1') print('Number of rows...', self.rows) lst_status = [] 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.exp = ExcelUtils.readData(self.path, 'Sheet1', r, 3) self.lp.setusername(self.user) self.lp.setpassword(self.password) time.sleep(3) self.lp.clicklogin() time.sleep(3) 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_003_AddCustomer: baseURL = readconfig.getURL() username = readconfig.getuseremail() password = readconfig.getuserpassword() logger = LogGen.loggen() @pytest.mark.sanity def test_addcustomer(self, setup): self.logger.info("*********Test_003_AddCustomer ************") self.driver = setup self.driver.get(self.baseURL) self.lp = Login(self.driver) self.lp.setusername(self.username) self.lp.setpassword(self.password) self.lp.clicklogin() self.logger.info("*****Login Successfull***********") 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("Ayushree") self.addcust.setLastName("Tagde") self.addcust.setGender("Female") self.addcust.setDob("7/05/1985") # Format: D / MM / YYY self.addcust.setCompanyName("busyQA") # self.addcust.setNewsletter("Test store 2") # newsletter is similar to roles, but not executed yet bcz of inc xpath # (will do later) 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 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 False self.driver.close() self.logger.info("******* Ending Add customer test **********")
class Test_001_Login: baseURL = readconfig.getURL() username = readconfig.getuseremail() password = readconfig.getuserpassword() # baseURL = "https://admin-demo.nopcommerce.com" # username = "******" # password = "******" logger = LogGen.loggen() @pytest.mark.regression @allure.severity(allure.severity_level.MINOR) def test_homepageTitle(self, setup): self.logger.info("******** Test_001 Login ******") self.logger.info("******* Verifying home page title ********") # self.driver=webdriver.Chrome() self.driver = setup self.driver.get(self.baseURL) act_title = self.driver.title if act_title == "Your store. Login": assert True self.driver.close() self.logger.info( "********* home page title test is passed ********") else: allure.attach(self.driver.get_screenshot_as_png(), name="testhomepagetitle", attachment_type=AttachmentType.PNG) self.driver.close() self.logger.error("***** home page title test is failed ******") assert False @pytest.mark.sanity @pytest.mark.regression @allure.severity(allure.severity_level.BLOCKER) def test_login(self, setup): self.logger.info("********** Verifying Login test ***********") self.driver = setup self.driver.get(self.baseURL) # now need to create object of ba # se class (means we call the Login) self.lp = Login(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 administration13": assert True self.driver.close() self.logger.info("****** Login test is passed ******") else: # self.driver.save_screenshot(".\\Screenshots\\" + "test_login.png") allure.attach(self.driver.get_screenshot_as_png(), name="testloginpage", attachment_type=AttachmentType.PNG) self.driver.close() self.logger.error("********* Login test is failed **********") assert False