class Test_001_Login: baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUsername() password = ReadConfig.getPassword() logger = LogGen.getLogger() @pytest.mark.regression def test_homePageTitle(self, setup): self.logger.info("############## test_homePageTitle ####################") self.logger.info("############## Verify home page title ####################") 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("############## homePageTitle test is passed####################") else: self.driver.save_screenshot(".\\Screenshots\\" + "test_homePageTitle.png") self.driver.close() self.logger.error("############## homePageTitle 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.lp = LoginPage(self.driver) self.lp.setField(self.lp.email_id, self.username) self.lp.setField(self.lp.password_id, self.password) self.lp.clickOn(self.lp.login_xpath).click() home_title = self.driver.title if home_title == "Dashboard / nopCommerce administration": 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 TestCommerce_03_AddCustomer: baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUsername() password = ReadConfig.getPassword() logger = LogGen.getLogger() @pytest.mark.sanity def test_AddNewCustomer(self, setup): self.logger.info( "############## Verifying login test####################") self.driver = setup self.driver.get(self.baseURL) self.lp = LoginPage(self.driver) self.lp.setField(self.lp.email_id, self.username) self.lp.setField(self.lp.password_id, self.password) self.lp.clickOn(self.lp.login_xpath).click() home_title = self.driver.title self.logger.info(home_title) self.homePage = HomePage(self.driver) self.homePage.clickOn(self.homePage.customer_menu_xpath).click() self.homePage.clickOn(self.homePage.customerButton_xpath).click() self.homePage.clickOn(self.homePage.add_button_xpath).click() time.sleep(3) self.logger.info("********* Entered Add customer Page **** *****") self.email = random_generator() + "@gmail.com" self.homePage.setField(self.homePage.txtboxEmail_xpath, self.email) self.homePage.setField(self.homePage.txtboxPassword_xpath, "kushal@123") self.homePage.setField(self.homePage.txtboxFirstName_xpath, "vini") self.homePage.setField(self.homePage.txtboxLastName_xpath, "tp") self.homePage.setGender("Male") self.homePage.get_DatePicker("May", "2000", "25") # self.homePage.setDOB("3/1/2021") self.homePage.setField(self.homePage.txtboxCompany_xpath, "Tata Consultancy Services Limited") self.homePage.clickOn(self.homePage.cbTaxExempt_xpath).click() self.homePage.setField(self.homePage.txtAdminComment_xpath, "Kushal is our god") self.homePage.setManagerOfVender("Vendor 1") self.homePage.setCustomerRoles("Vendors") time.sleep(3) self.homePage.clickOn(self.homePage.btnSave_xpath).click() time.sleep(3) 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.driver.close() self.logger.info("********* Add customer Test Passed *********") else: self.driver.save_screenshot( ".\\Screenshots\\" + "test_addCustomer_scr.png") # Screenshot self.logger.info("********* Add customer Test Failed ************") self.driver.close() assert False self.logger.info("******* Ending Add customer test **********") def test_e2e(self, setup): self.driver = setup self.logger.info("New Login") self.loginPage = LoginPage(self.driver) self.logger.info("Entering into Green Kart website") self.logger.info(self.driver.title) self.driver.get(self.baseURL) self.loginPage = LoginPage(self.driver) self.loginPage.setField(self.loginPage.email_id, self.username) self.loginPage.setField(self.loginPage.password_id, self.password) self.loginPage.clickOn(self.loginPage.login_xpath).click() time.sleep(3) self.logger.info(self.driver.title) time.sleep(3) self.loginPage.click_logout() 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("******* 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 in a excel:', 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.setField(self.lp.email_id, self.user) self.lp.setField(self.lp.password_id, self.password) self.lp.clickOn(self.lp.login_xpath).click() 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.click_logout() lst_status.append("Pass") elif self.exp == 'Fail': self.logger.info("**** failed ****") self.lp.click_logout() 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 ************* ")