class Test_006_AddDiscount: baseurl = ReadConfig.getApplicationURL() username = ReadConfig.getUsername() password = ReadConfig.getpasswordL() logger = logGen.loggen() @pytest.mark.regression def test_AddDiscount(self, setup): self.logger.info("******** Test_006_AddDiscount *********") self.logger.info( "****************** Verifying Adding New Discount **********************" ) self.driver = setup self.driver.get(self.baseurl) self.driver.maximize_window() self.obj_log = Login(self.driver) self.obj_log.setUsername(self.username) self.obj_log.setpassword(self.password) self.obj_log.loginbutton() self.logger.info("************* Login succesful **********") self.logger.info("******* Starting Adding New Discount **********") self.obj_New_Discount = AddDiscountPage(self.driver) self.obj_New_Discount.clickonPromotion() self.obj_New_Discount.clickonDiscounts() self.obj_New_Discount.clickonAddnewButton() self.obj_New_Discount.enterName('TestOnceEcommerce') self.obj_New_Discount.selectDiscounttype('Assigned to products') self.obj_New_Discount.enterDiscountAmt('10') self.obj_New_Discount.enterStartDate('7/05/2019') self.obj_New_Discount.enterEndDate('7/05/2022') self.obj_New_Discount.selectDiscountLimit('Unlimited') self.obj_New_Discount.enterMaximumDiscountQuatity('5') self.obj_New_Discount.enterAdminComment('Adding comment') self.obj_New_Discount.clickSaveButton() self.succesMsg = self.driver.find_element_by_xpath( "//div[@class='alert alert-success alert-dismissable']").text expedtedSring = 'The new discount has been added successfully.' if self.succesMsg.find(expedtedSring) != -1: self.logger.info( '******* Added New Discount coupan sucessfully **********') self.logger.info('******* Test Case Passed **************') self.driver.save_screenshot(".\\Screenshots\\" + "test_AddDiscount_scr.png") assert True else: self.logger.info('******* Test Case Failed **************') self.driver.save_screenshot(".\\Screenshots\\" + "test_AddDiscount_scr.png") assert False self.obj_log.clickLogout() self.driver.close()
class Test_002_DDT_Login: baseurl = ReadConfig.getApplicationURL() path = ".\\TestData\\LoginTestData.xlsx" logger = logGen.loggen() @pytest.mark.regression def test_Login(self, setup): self.logger.info("****************** Test_002_DDT_Login **********************") self.logger.info("****************** Verifying Login Test **********************") self.driver = setup self.driver.get(self.baseurl) self.driver.maximize_window self.obj_log = Login(self.driver) self.rows = XLUtils.getRowCount(self.path, 'Sheet1') print(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.expected = XLUtils.readData(self.path, 'Sheet1', r, 3) self.obj_log.setUsername(self.user) self.obj_log.setpassword(self.password) self.obj_log.loginbutton() time.sleep(5) act_title = self.driver.title exp_title="Dashboard / nopCommerce administration" if act_title==exp_title: if self.expected=='Pass': self.logger.info("*** Passed ***") self.obj_log.clickLogout() lst_status.append("Pass") XLUtils.writeData(self.path, 'Sheet1', r, 4, 'Pass') elif self.expected=='Fail': self.logger.info("*** Failed ***") self.obj_log.clickLogout() lst_status.append("Fail") elif act_title!=exp_title: if self.expected=='Pass': self.logger.info("*** Failed ***") lst_status.append("Fail") XLUtils.writeData(self.path, 'Sheet1', r, 4, 'Fail') elif self.expected=='Fail': self.logger.info('*** Passed ***') lst_status.append("Pass") XLUtils.writeData(self.path, 'Sheet1', r, 4, 'Pass') if "Fail" not in lst_status: self.logger.info('*** Data Driven Test is Passed ***') self.driver.close assert True else: self.logger.info('*** Data Driven Test is Failed ***') self.driver.close assert False
class Test_003_AddCustomer: baseurl = ReadConfig.getApplicationURL() username = ReadConfig.getUsername() password = ReadConfig.getpasswordL() logger = logGen.loggen() @pytest.mark.sanity def test_AddCustomer(self, setup): self.logger.info("******** Test_003_AddCustomer *********") self.logger.info("****************** Verifying Adding New Customer **********************") self.driver = setup self.driver.get(self.baseurl) self.driver.maximize_window self.obj_log = Login(self.driver) self.obj_log.setUsername(self.username) self.obj_log.setpassword(self.password) self.obj_log.loginbutton() 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("******* Adding New Customer *******") self.email = random_generator() + '@gmail.com' self.addcust.setEmail(self.email) self.addcust.setPassword("test123") self.addcust.setCustomerRoles("Guests") self.addcust.setManagerOfVendor("Vendor 2") self.addcust.setGender("Male") self.addcust.setFirstName("Sai") self.addcust.setLastName("Kiran") self.addcust.setDob("7/05/1985") # Format: D / MM / YYY self.addcust.setCompanyName("busyQA") 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 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_addCustomer_scr.png") # Screenshot self.logger.error("********* Add customer Test Failed ************") assert False self.obj_log.clickLogout()
def testlogindatadriventest(self, web): self.logger.info("starting Login test") self.Openbrowser = web self.logger.info("starting browser") Loginobject = Login(self.Openbrowser) self.logger.info("starting browser") self.Openbrowser.get(self.Weburl) self.row = xlutils.getrowcount(self.datapath, 'Sheet1') self.column = xlutils.getcolumnount(self.datapath, 'Sheet1') for row in range(2, self.row + 1): self.username = xlutils.readfromxl(self.datapath, 'Sheet1', row, 1) self.password = xlutils.readfromxl(self.datapath, 'Sheet1', row, 2) self.expectedresult = xlutils.readfromxl(self.datapath, 'Sheet1', row, 3) print(self.username, self.password, self.expectedresult) Loginobject.setusername(self.username) Loginobject.setpassword(self.password) Loginobject.clicklogin() time.sleep(5) Title = self.Openbrowser.title Act_tile = "Dashboard / nopCommerce administration" self.logger.info("checking title after login") if Title == Act_tile: if self.expectedresult == "pass": self.logger.info("This test passed") self.status_list.append("pass") Loginobject.clicklogout() elif self.expectedresult == "fail": self.logger.info("This test passed") self.status_list.append("fail") Loginobject.clicklogout() elif Title != Act_tile: if self.expectedresult == "fail": self.logger.info("This test passed") self.status_list.append("pass") print(self.status_list) elif self.expectedresult == "pass": self.logger.info("This test passed") self.status_list.append("fail") print(self.status_list) if "fail" not in self.status_list: print("Overall test case passed") self.logger.info("Overall test passed") self.Openbrowser.close() assert True else: print("overall test failed") self.logger.info("Overall test failed") self.Openbrowser.close() assert False
class Test_004_SearchCustomerByEmail: baseurl = ReadConfig.getApplicationURL() username = ReadConfig.getUsername() password = ReadConfig.getpasswordL() logger = logGen.loggen() @pytest.mark.regression def test_searchCustomerByEmail(self, setup): self.logger.info( "****************** Test_004_SearchCustomerByEmail **********************" ) self.logger.info( "****************** Verifying Home Page Tittle **********************" ) self.driver = setup self.driver.get(self.baseurl) self.driver.maximize_window self.obj_log = Login(self.driver) self.obj_log.setUsername(self.username) self.obj_log.setpassword(self.password) self.obj_log.loginbutton() 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(4) status = searchcust.searchCustomerByEmail( "*****@*****.**") self.driver.close() if status == True: self.logger.info( "*************** Test_004_SearchCustomerByEmail Passed *********** " ) else: self.logger.info( "*************** Test_004_SearchCustomerByEmail Failed *********** " )
class Test_001_Login: baseurl = ReadConfig.getApplicationURL() username = ReadConfig.getUsername() password = ReadConfig.getpasswordL() logger = logGen.loggen() @pytest.mark.sanity def test_homePageTittle(self, setup): self.logger.info("****************** Test_001_Login **********************") self.logger.info("****************** Verifying Home Page Tittle **********************") self.driver = setup self.driver.get(self.baseurl) self.driver.maximize_window act_tittle = self.driver.title if act_tittle == "Your store. Login": self.driver.close() self.logger.info("****************** Home Page Tittle Test is Passed **********************") assert True else: self.driver.save_screenshot(".\\Screenshots\\" + "test_homePageTittle.png") self.driver.close() self.logger.error("****************** Home Page Tittle Test is Failed **********************") assert False @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.obj_log = Login(self.driver) self.obj_log.setUsername(self.username) self.obj_log.setpassword(self.password) self.obj_log.loginbutton() logTitle = self.driver.title if logTitle == "Dashboard / nopCommerce administration": self.logger.info("****************** Login Test is Passed **********************") self.driver.close() assert True else: self.driver.save_screenshot(".\\Screenshots" + "test_Login.png") self.driver.close() self.logger.error("****************** Login Test is Failed **********************") assert False
class Test_005_SearchCustomerByName: baseurl = ReadConfig.getApplicationURL() username = ReadConfig.getUsername() password = ReadConfig.getpasswordL() logger = logGen.loggen() @pytest.mark.regression def test_searchCustomerByName(self, setup): self.logger.info( "****************** Test_005_SearchCustomerByName **********************" ) self.logger.info( "****************** Verifying Home Page Tittle **********************" ) self.driver = setup self.driver.get(self.baseurl) self.driver.maximize_window self.obj_log = Login(self.driver) self.obj_log.setUsername(self.username) self.obj_log.setpassword(self.password) self.obj_log.loginbutton() 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.setFirstName("Victoria") searchcust.setLastName("Terces") searchcust.clickSearch() time.sleep(4) status = searchcust.searchCustomerByName("Victoria Terces") self.driver.quit assert True == status self.logger.info( "*************** Test_005_SearchCustomerByName Finished *********** " )
def testlogin(self, web): self.logger.info("starting Login test") self.Openbrowser = web self.logger.info("starting browser") Loginobject = Login(self.Openbrowser) self.logger.info("starting browser") self.Openbrowser.get(self.Weburl) Loginobject.setusername(self.username) Loginobject.setpassword(self.password) Loginobject.clicklogin() time.sleep(5) Title = self.Openbrowser.title self.logger.info("checking title after login") if Title == "Dashboard / nopCommerce administration": self.Openbrowser.close() assert True == True else: self.Openbrowser.save_screenshot( ".//Screenshots/Nop_testlogin.png") self.logger.info("Saving screenshot") self.Openbrowser.close() assert False
def testaddcustomer(self, web): self.Openbrowser = web Loginobject = Login(self.Openbrowser) self.Openbrowser.get(self.Weburl) self.logger.info("starting browser") self.Openbrowser.maximize_window() Loginobject.setusername(self.username) Loginobject.setpassword(self.password) Loginobject.clicklogin() self.logger.info("Login completed") self.row = xlutils.getrowcount(self.datapath, 'Sheet1') self.column = xlutils.getcolumnount(self.datapath, 'Sheet1') Addnewcust = Addcust(self.Openbrowser) Addnewcust.customermenuclick() self.pass_status = [] for row in range(2, self.row + 1): self.email = xlutils.readfromxl(self.datapath, 'Sheet1', row, 1) self.custpassword = xlutils.readfromxl(self.datapath, 'Sheet1', row, 2) self.firstname = xlutils.readfromxl(self.datapath, 'Sheet1', row, 3) self.lastname = xlutils.readfromxl(self.datapath, 'Sheet1', row, 4) self.gender = xlutils.readfromxl(self.datapath, 'Sheet1', row, 5) self.DOB = xlutils.readfromxl(self.datapath, 'Sheet1', row, 6) self.companyname = xlutils.readfromxl(self.datapath, 'Sheet1', row, 7) self.istaxexempt = xlutils.readfromxl(self.datapath, 'Sheet1', row, 8) self.yourstorename = xlutils.readfromxl(self.datapath, 'Sheet1', row, 9) self.teststore2 = xlutils.readfromxl(self.datapath, 'Sheet1', row, 10) self.customerrole = xlutils.readfromxl(self.datapath, 'Sheet1', row, 11) self.vendor = xlutils.readfromxl(self.datapath, 'Sheet1', row, 12) self.active = xlutils.readfromxl(self.datapath, 'Sheet1', row, 13) self.admincomment = xlutils.readfromxl(self.datapath, 'Sheet1', row, 14) time.sleep(3) Addnewcust.customersubmenuclick() self.logger.info("Customer page opening") time.sleep(3) Addnewcust.addnewclick() self.logger.info("Customer second page opening") time.sleep(3) Addnewcust.emailinput(self.email) Addnewcust.passwordinput(self.custpassword) Addnewcust.firstnameinput(self.firstname) Addnewcust.genderselect(self.gender) Addnewcust.lastnameinput(self.lastname) Addnewcust.dateofbirthinput(self.DOB) Addnewcust.companynameinput(self.companyname) Addnewcust.newletter1input(self.yourstorename) Addnewcust.newsletter2input(self.teststore2) Addnewcust.customerroleselection(self.customerrole) Addnewcust.vendortypeselect(self.vendor) Addnewcust.admincomment(self.admincomment) self.logger.info("All Input to the add page done") Addnewcust.savecustomer() message = self.Openbrowser.find_element_by_tag_name("body").text if "The new customer has been added successfully." in message: self.pass_status.append("Pass") else: self.pass_status.append("Fail") print(self.pass_status) if "Fail" not in self.pass_status: self.logger.info("All test passed") assert True else: self.logger.info("All/Some of the test failed") assert False