class Test_002_Login: baseURL = ReadConfig.getApplicationURL() logger = LogGen.loggen() path = '.\\TestData\\OrangeLoginData.xlsx' lst_status = [] def test_login(self, setup): self.driver = setup self.logger.info("*********** Starting TEST_002_Login_DDT ***********") self.logger.info( "************ Opening OrangeHRM Application ************") self.driver.get(self.baseURL) self.driver.maximize_window() self.logger.info( "***** Checking the Login Functionality with multiple users *****") self.lp = LoginPage(self.driver) self.rows = ExcelUtils.getRowCount(self.path, "Sheet1") for r in range(2, self.rows + 1): self.logger.info("***** Entering " + str(r - 1) + " UserName *****") self.lp.setUserName(ExcelUtils.readData(self.path, "Sheet1", r, 1)) self.logger.info("***** Entering Password *****") self.lp.setPassword(ExcelUtils.readData(self.path, "Sheet1", r, 2)) self.logger.info("***** Clicking on Login Button *****") self.lp.clickLogin() time.sleep(2) act_url = self.driver.current_url self.expected_condition = ExcelUtils.readData( self.path, "Sheet1", r, 3) if act_url == "https://opensource-demo.orangehrmlive.com/index.php/dashboard": if self.expected_condition == "Pass": self.logger.info( "***** Expected Condition met successfully *****") self.lst_status.append("Pass") self.lp.clickLogout() elif self.expected_condition == "Fail": self.logger.info("***** Expected Condition not met *****") self.lst_status.append("Fail") self.lp.clickLogout() elif act_url != "https://opensource-demo.orangehrmlive.com/index.php/dashboard": if self.expected_condition == "Pass": self.logger.info("***** Failed *****") self.driver.save_screenshot( "C:\\Users\\Salim\\eclipse-workspace\\orangeHRM\\Screenshots\\" + "LoginFailed" + str(r - 1) + ".png") self.logger.info( "***** Login Failed, Please check the Screenshots Folder *****" ) self.lst_status.append("Fail") elif self.expected_condition == "Fail": self.logger.info( "***** Expected Condition met successfully *****") self.lst_status.append("Pass") if "Fail" not in self.lst_status: self.logger.info("***** Login DDT test passed *****") self.driver.close() self.logger.info("***** Closing Browser *****") assert True else: self.logger.info("***** Login DDT test failed *****") self.logger.info("***** Closing Browser *****") self.driver.close() assert False self.logger.info( "*********** Completed TEST_002_Login_DDT ***********") self.logger.info("***** End of TEST_002_Login_DDT *****")
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 Started *******") self.logger.info("************* Verifying test_login_ddt Test Case *******") self.driver=setup self.driver.get(self.baseURL) self.lp=LoginPage(self.driver) self.rows=XLUtils.getRowCount(self.path,'Sheet1') self.logger.info("The row counts is %s",self.rows) list_status=[] # Empty list variable for r in range (2,self.rows+1): self.username=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.logger.info('username is %s',self.username) self.logger.info('password is %s',self.password) self.logger.info('expected result is %s',self.exp) time.sleep(5) self.lp.setUserName(self.username) self.lp.setPassword(self.password) self.lp.clickLogin() time.sleep(5) actual_title=self.driver.title exp_title="Salesforce - Unlimited Edition" if actual_title==exp_title: self.logger.info("************* Login Is successful due to Correct credentials *******") if self.exp=="Pass": self.logger.info("*******Test Data sheet expected given as Pass So the test also passed *******") self.lp.clickLogout() list_status.append("Pass") elif self.exp=="Fail": self.logger.info("************* Test Data sheet expected given as Fail rather than Pass *******") self.lp.clickLogout() list_status.append("Fail") elif actual_title != exp_title: self.logger.info("************* Login Failed due to incorrect credentials *******") if self.exp=="Pass": self.logger.info("************* Test Data sheet expected given as Pass rather than Fail *******") list_status.append("Fail") elif self.exp=="Fail": self.logger.info("****** Test Data sheet expected given as Fail So the test also passed *******") list_status.append("Pass") self.logger.info("The status in the list are: ") for item in list_status: self.logger.info(item) if "Fail" not in list_status: self.logger.info("*** Login DDT test is passed ***") assert True else: self.logger.info("*** Login DDT test is Failed ***") assert False self.logger.info("*** End of Verifying test_login_ddt ***") self.logger.info("*** Completed Test_002_DDT_Login ***")
class Test_003_AddCustomer: baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUseremail() password = ReadConfig.getPassword() 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.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 Successfully *****") self.logger.info("***** Starting Add Customer Test *****") self.addcust = AddCustomer(self.driver) self.addcust.clickOnCustomerMenu() self.addcust.clickOnCustomerMenuItem() self.addcust.clickOnAddnew() self.logger.info("***** Providing Customer Details *****") self.email = random_generator() + "@gmail.com" self.addcust.setEmail(self.email) self.addcust.setPassword("smd@li9916") self.addcust.setFirstname("Mohammad") self.addcust.setLastname("Ali") self.addcust.setGender("Male") self.addcust.setDob("7/05/1987") self.addcust.setCompanyName("TechMahindra") #self.addcust.setNewsLetter("Test store 2") self.addcust.setCustomerRoles("Registered") self.addcust.setManagerOfVendor("Vendor 2") self.addcust.setAdminContent( "This is for Testing Requirement ---------") self.addcust.clickOnSave() self.logger.info("***** Saving Customer Details *****") self.logger.info("***** Add Customer Validation Details *****") 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 Pass *****") else: self.driver.save_screenshot(".\\Screenshots\\" + "test_addcustomer_scr.png") self.logger.error("***** Add Customer Test Failed *****") assert True == False self.driver.close() self.logger.info("***** Ending Test_003_AddCustomer Test *****")
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 ************* ") #pytest -v -s testCases\test_login_ddt.py
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 DDT Test ****************") self.driver = setup self.driver.get(self.baseURL) self.lp = LoginPage(self.driver) self.rows = XLUtils.getRowCount(self.path, 'Sheet1') print("Number of rows i a Excel:", self.rows) list_status = [] # Empty list variables 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() list_status.append("Pass") elif self.exp == "Fail": self.logger.info("*** Failed ***") self.lp.clickLogout() list_status.append("Fail") elif act_title != exp_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 passed ***") self.driver.close() assert False self.logger.info("******** End of Login DDT Test ********") self.logger.info("******** Completed Test_002_DDT_Login ********")
class Test_001_Login: baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUsername() password = ReadConfig.getPassword() logger = LogGen.loggen() def test_homePageTitle(self, setup): self.driver = setup self.logger.info("**********Starting Test_001_Login**********") self.logger.info("********** WebTitle Test Started ***********") self.logger.info("***** Launching Browser *****") self.driver.get(self.baseURL) self.driver.maximize_window() self.logger.info("***** Checking the Title of the WebPage *****") act_title = self.driver.title if act_title == "OrangeHRM": self.logger.info( "***** Congrats!! Title is matching, Closing Browser *****") self.driver.close() assert True else: self.driver.save_screenshot( "C:\\Users\\Salim\\eclipse-workspace\\orangeHRM\\Screenshots\\" + "test_homePageTitle.png") self.logger.info( "***** OOPS!! Title is not matching, Closing Browser *****") self.driver.close() assert False def test_login(self, setup): self.driver = setup self.logger.info( "************ Opening OrangeHRM Application ************") self.driver.get(self.baseURL) self.driver.maximize_window() self.logger.info("***** Checking the Login Functionality *****") self.lp = LoginPage(self.driver) time.sleep(2) self.logger.info("***** Entering UserName *****") self.lp.setUserName(self.username) self.logger.info("***** Entering Password *****") self.lp.setPassword(self.password) self.logger.info("***** Clicking on Login Button *****") self.lp.clickLogin() act_url = self.driver.current_url if act_url == "https://opensource-demo.orangehrmlive.com/index.php/dashboard": self.logger.info("***** Logged in Successfully *****") self.lp.clickLogout() self.logger.info("***** Closing Browser *****") self.driver.close() assert True else: self.driver.save_screenshot( "C:\\Users\\Salim\\eclipse-workspace\\orangeHRM\\Screenshots\\" + "LoginFailed.png") self.logger.info( "***** Login Failed, Please check the Screenshots Folder *****" ) self.driver.close() self.logger.info("***** Closing Browser *****") assert False
class Test_002_DDT_Login: baseurl = ReadConfig.getAppURL() path = ".//testData/LoginData.xlsx" logger = LogGen.loggen() @pytest.mark.regression def test_login(self, setup): self.logger.info("**Test_002_DDT_Login**") self.logger.info("**Verify The Login DDT function**") self.driver = setup self.driver.get(self.baseurl) self.lp = LoginPage(self.driver) self.rows = XLUtils.getRowCount(self.path, 'Sheet1') # List variable to capture to results of the test lst_status = [] # Empty list variable for r in range(2, self.rows + 1): self.username = 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.lp.setUserName(self.username) self.lp.setPassword(self.password) self.lp.clickLogin() time.sleep(2) act_title = self.driver.title exp_tile = "Dashboard / nopCommerce administration" if act_title == exp_tile: if self.expected == "Pass": self.logger.info("***Test Passed***" + self.username) self.lp.clickLogout() lst_status.append("Pass") elif self.expected == "Fail": self.logger.error("***Test Failed***" + self.username) self.lp.clickLogout() lst_status.append("Fail") elif act_title != exp_tile: if self.expected == "Pass": self.logger.error("***Test Failed***" + self.username) lst_status.append("Fail") elif self.expected == "Fail": self.logger.info("***Test Passed***" + self.username) 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 DDT Test**") self.logger.info("***Completed the Test ***")
class Test_002_DDT_Login: # df = pd.read_excel(r'C:\Users\yunus\OneDrive\Belgeler\Downloads\LoginData.xlsx',sheet_name='Sheet1') # print(df) baseURL = ReadConfig.getApplicationURL() path = ".//TestData/LoginData.xlsx" username = ReadConfig.getUseremail() password = ReadConfig.getPassword() logger = LogGen.loggen() 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 = LoginPage(self.driver) self.rows = XLUtils.getRowCount(self.path, 'Sheet1') print("Number of Rows is a Excel:", self.rows) lst_status = [] # Empty list 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 ****")
class Test_003_AddCustomer(): baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUsername() password = ReadConfig.getPassword() logger = LogGen.test_loggen() @pytest.mark.sanity @pytest.mark.regression 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 = LoginPage(self.driver) self.lp.setUserName(self.username) self.lp.setPassword(self.password) self.lp.clickLogin() self.logger.info( "******************** Logged in **********************") self.driver.implicitly_wait(5) self.addCust = CreateCustomer(self.driver) self.addCust.clickCustomerMenu() self.addCust.clickCustomerMenuItem() time.sleep(5) self.logger.info( "******************* Customer page opened *********************") self.addCust.clickAddnewButton() self.driver.implicitly_wait(5) self.logger.info( "********************* Add a new customer page opened********************************" ) self.logger.info( "********************* Start entering the values ********************************" ) self.email = random_generator() + "@gmail.com" self.addCust.setEmail(self.email) self.addCust.setPassword("root") self.addCust.setDate("12/10/2020") self.addCust.selectGender("male") self.addCust.setAdminComment("admin") self.addCust.setCompanyName("company") self.addCust.setCustomerRoles("Vendors") self.addCust.setFirstName("Amit") self.addCust.setlastName("Shah") self.addCust.setManagerOfVendor("1") self.logger.info( "********************* End entering the values ********************************" ) self.addCust.clickSave() self.logger.info( "********************* start Validation ********************************" ) self.msg = self.driver.find_element_by_tag_name("body").text if 'customer has been added successfully.' in self.msg: self.driver.save_screenshot(".\\Screenshots\\" + "test_addCustomer_scr.png") 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_003_AddCustomer: baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUserEmail() password = ReadConfig.getPassword() 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.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("starting add customer page") self.addcust = AddCustomer(self.driver) self.addcust.clickOnCustomersMenu() self.addcust.clickOnCustomerMenuItem() self.addcust.clickOnAddNew() self.logger.info("providing customer info") self.email = random_generator() + "@gmail.com" self.addcust.setUserEmail(self.email) self.addcust.setPassword("test123") self.addcust.setFirstName("Divya") self.addcust.setLastName("Khosla") self.addcust.setDOB("09/03/1988") self.addcust.setCustomerRoles("Guests") self.addcust.setCompany("QABee") self.addcust.setGender("Female") self.addcust.selectVendorManager("Vendor 2") self.addcust.setAdminComment("this is for testing add customer module") self.addcust.clickOnSave() self.logger.info("Save customer info") self.logger.info("Validating the data") 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("Customer test passed") else: self.driver.save_screenshot( "C:\\Users\\gladi\\PycharmProjects\\SeleniumHybridFrameworkPytest\\Screenshots\\" + "test_addCustomer_scr.png") self.logger.info("add customer test failed") assert True == False self.driver.close() self.logger.info("End of add customer page")
class Test_002_DDT_Login: baseURL = ReadConfig.getApplicationURL() # Getting the URL from ini file and readProperties path = "./TestData/LoginData.xlsx" # Specify the path for the xl data logger = LogGenerator.logGen() # Verifying LoginPage Test @pytest.mark.regression def test_DDT_loginPage(self, setup): self.logger.info("******* Test_002__DDT_Login *******") self.logger.info("******** Verifying Login DDT test ******") self.driver = setup self.driver.get(self.baseURL) # Create an Object of LoginPage self.login = LoginPage(self.driver) self.rows = ExcelUtils.getRowCount(self.path, 'Sheet1') print("Number of Rows in the Excel:", self.rows) list_status = [] # Empty list # 2 specifies the 2nd row in the excel sheet # rows+1 specifies the number of rows + the last row for r in range(2, self.rows+1): self.user = ExcelUtils.readData(self.path, 'Sheet1', r, 1) self.userPassword = ExcelUtils.readData(self.path, 'Sheet1', r, 2) self.expected = ExcelUtils.readData(self.path, 'Sheet1', r, 3) self.login.setUsername(self.user) self.login.setPassword(self.userPassword) self.login.clickLogin() # Getting the title of the page act_title = self.driver.title exp_tile = "Dashboard / nopCommerce administration" # comparing if actual title is equal to expected title if act_title == exp_tile: if self.expected == "Pass": # checking if exp matches xl data "pass" self.logger.info("****** Pass *****") time.sleep(5) self.login.clickLogout(); list_status.append("Pass") elif self.expected == "Fail": # checking if exp matches xl data "pass" self.logger.info("***** failed *****") time.sleep(3) self.login.clickLogout(); list_status.append("Fail") elif act_title != exp_tile: if self.expected == "Pass": self.logger.info("***** failed ******") list_status.append("Fail") elif self.expected == "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 Login DDT Test ******") self.logger.info("******* Completed TC_LoginDDT_002 *******")
class Test_003_AddCustomer: baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUseremail() password = ReadConfig.getPassword() 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.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("**********Starting Add Customer Test*************") self.addcust = AddCustomer(self.driver) self.addcust.clickOnCustomersMenu() self.addcust.clickOnCustomersMenuItem() time.sleep(3) self.addcust.clickOnAddnew() self.logger.info("***********8 Provinding Customer Info**********") time.sleep(3) self.email = random_generator() + "@gmail.com" self.addcust.setEmail(self.email) self.addcust.setPassword("test123") time.sleep(3) self.addcust.setCustomerRoles("Vendors") time.sleep(3) self.addcust.setManagerOfVendor("Vendor 2") self.addcust.setGender("Female") self.addcust.setFirstName("Sivapriya") self.addcust.setLastName("Manikandan") self.addcust.setDob("10/20/1987") self.addcust.setCompanyName("Home") 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") self.logger.error("******** Add customer Test Failed ********") assert True == False self.driver.close() self.logger.info("***** Ending Test_003_AddCustomer Test *********")
class Test_Login_002_DDT: base_url = ReadConfig.getApplicationUrl() path = ".//TestData/LoginData.xlsx" username = ReadConfig.getUsername() password = ReadConfig.getPassword() logger = LogGen.log_gen() @pytest.mark.regression def test_login_ddt(self, setup): self.logger.info("*************** Test_Login_002_DDT *************") self.logger.info( "*************** Verifying the Login test *************") self.driver = setup self.driver.get(self.base_url) self.lp = LoginPage(self.driver) lst_status = [] rows = ExcelUtils.getRowCount(self.path, 'Sheet1') print('No. of rows in the Sheet1: ', rows) for r in range(2, rows + 1): username = ExcelUtils.readData(self.path, "Sheet1", r, 1) password = ExcelUtils.readData(self.path, "Sheet1", r, 2) expected_result = ExcelUtils.readData(self.path, "Sheet1", r, 3) self.lp.setUsername(username) self.lp.setPassword(password) self.lp.clickLogin() time.sleep(5) act_title = self.driver.title if act_title == 'Dashboard / nopCommerce administration': if expected_result == "Pass": assert True self.logger.info( "*************** Login test is passed *************") self.lp.clickLogout() lst_status.append("Pass") elif expected_result == "Fail": self.logger.info( "*************** Login test is failed *************") self.lp.clickLogout() lst_status.append("Fail") elif act_title != 'Dashboard / nopCommerce administration': if expected_result == 'Pass': self.logger.info( "*************** Login test is failed *************" ) lst_status.append("Fail") elif expected_result == "Fail": self.logger.info( "*************** Login test is Passed} *************" ) lst_status.append("Pass") if "Fail" not in lst_status: self.logger.info("Login DDT is passsed............") self.driver.close() assert True else: self.logger.info("Login DDT is failed............") self.driver.close() assert False self.logger.info(" End of Login DDT test") self.logger.info(" Completed TC_LoginDDT_002")
class Test_002_DDT_Login: # Config.ini -> Utilities -> Read common properties # If config info is change, please update in config.ini file baseURL = ReadConfig.getApplicationURL() path = "./TestData/LoginData.xlsx" # username = ReadConfig.getUseremail() # password = ReadConfig.getPassword() logger = LogGen.loggen() @pytest.mark.regression 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) # Get the data from excel file self.rows = XLUtils.getRowCount(self.path, 'Sheet1') print("Number of Rows i a Excel:", 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 print(lst_status) self.logger.info("******** End of Login DDT Test *********") self.logger.info("******** Completed TC_LoginDDT_002 *********")
class Test_002_Login_DDT: baseURL = ReadConfig.getApplicationUrl() path = ".//TestData/LoginData.xlsx" logger = LogGen.loggen() @pytest.mark.regression def testLogin_ddt(self, setUp): self.logger.info("****************Test_002_Login_DDT*****************") self.logger.info( "****************Verifying testLogin_ddt*****************") self.driver = setUp self.driver.get(self.baseURL) self.lp = LoginPage(self.driver) # To read no. of rows from excel self.rows = XLUtils.getRowCount(self.path, 'Sheet1') print("No. of rows in excel:", self.rows) Empty_list = [] for r in range(2, self.rows + 1): self.excel_username = XLUtils.readData( self.path, 'Sheet1', r, 1) # 1 represent column 1 that is username in excel self.excel_password = XLUtils.readData( self.path, 'Sheet1', r, 2) # It will read password column and will return passwords self.Expected_Result = XLUtils.readData( self.path, 'Sheet1', r, 3) # It represent 3 column in excel that is status column # Call setUsername method from LoginPage.py and pass username and password from excel self.lp.setUsername(self.excel_username) self.lp.setPassword(self.excel_password) self.lp.clickLogin() time.sleep(5) act_title = self.driver.title exp_title = "Dashboard / nopCommerce administration" if act_title == exp_title: if self.Expected_Result == "Pass": self.logger.info( "******************Test is passed for ddt**********************" ) self.lp.clickLogout() Empty_list.append("Pass") elif self.Expected_Result == "Fail": self.logger.info( "************************Test is Failed for ddt**************************" ) self.lp.clickLogout() Empty_list.append("Fail") elif act_title != exp_title: if self.Expected_Result == "Pass": self.logger.info( '**********************est is Failed for ddt****************************' ) Empty_list.append("Fail") elif self.Expected_Result == "Fail": self.logger.info( '***************************Test is passed for ddt******************************' ) Empty_list.append('Pass') if "Fail" not in Empty_list: self.logger.info( "********************Test_002_Login_DDT is passed**********************" ) self.driver.close() assert True else: self.logger.info( "********************Test_002_Login_DDT is failed**********************" ) self.driver.close() assert False
class Test_003_AddCustomer: baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUserEmail() password = ReadConfig.getPassword() 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.driver.maximize_window() self.lp = LoginPage(self.driver) self.lp.setUsername(self.username) self.lp.setPassword(self.password) self.lp.clickLogin() self.logger.info("************** Logging Successful **************") 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 details **************") self.email = random_generator() + "@gmail.com" self.addCust.setEmail(self.email) self.addCust.setPassword('test123') self.addCust.setFirstName('Arijit') self.addCust.setLastName('Saha') self.addCust.setCustomerRoles('Guests') self.addCust.setManagerOfVendor('Vendor 2') self.addCust.setGender('Male') self.addCust.setDob('05/08/1987') self.addCust.setCompanyName("Arijit's Startup") self.addCust.setAdminContent('This is for testing .....') self.addCust.clickOnSave() self.logger.info( "************** Saving Customer details **************") self.logger.info( "************** Add Customer Validation **************") self.msg = self.driver.find_element_by_tag_name("body").text if 'customer has been added successfully.' in self.msg: self.logger.info(" Customer has been added Successfully") assert True else: self.driver.save_screenshot(".\\Screenshots\\" + "test_addCustomer.png") self.driver.close() self.logger.error(">>> Add Customer Validation Failed !!!!!!!!!!!") assert False self.driver.close() self.logger.info("******* Ending Add customer test **********")
class Test_002_DDT_Login: baseURL = ReadConfig.getApplicationURL() path = ".//TestData/LoginDataNew.xlsx" logger = LogGen.loggen() @pytest.mark.regression def test_ddt_login(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) # Get row counts self.rows = XLUtils.getRowCount(self.path, 'Sheet1') print("Number o f rows in a excel file", self.rows) # Empty list variable list_status = [] # Read excel file data for row in range(2, self.rows + 1): self.username = XLUtils.readData(self.path, 'Sheet1', row, 1) self.password = XLUtils.readData(self.path, 'Sheet1', row, 2) self.expResult = XLUtils.readData(self.path, 'Sheet1', row, 3) self.lp.setUserName(self.username) time.sleep(3) self.lp.setPassword(self.password) self.lp.clickLogin() time.sleep(3) #self.lp.clickDashboard() #time.sleep(3) # act_title = self.driver.title # exp_title = "OrangeHRM" act_text = self.lp.visibleText() exp_text = "Dashboard" if act_text == exp_text: if self.expResult == "Pass": self.logger.info("Test Passed") self.lp.clickLogout() time.sleep(2) self.lp.clickLogoutLink() list_status.append("Pass") elif self.expResult == "Fail": self.logger.info("Test Failed") self.lp.clickLogout() time.sleep(2) self.lp.clickLogoutLink() list_status.append("Fail") elif act_text != exp_text: if self.expResult == 'Pass': self.logger.info("Test Failed") list_status.append("Fail") elif self.expResult == 'Fail': self.logger.info("Test Passed") list_status.append("Pass") print(list_status) 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
class Test_003_AddCustomer: baseUrl = ReadConfig.getApplicationUrl() username = ReadConfig.getUsername() password = ReadConfig.getPassword() logger = LogGen.log_gen() @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 = LoginPage(self.driver) self.lp.setUsername(self.username) self.lp.setPassword(self.password) self.lp.clickLogin() self.logger.info("********** Login Successful **********") self.logger.info("********** Starting Add Customer Test **********") self.addCust = AddCustomer(self.driver) self.addCust.clickOnCustomerMenu() time.sleep(3) self.addCust.clickOnCustomerMenuItem() self.addCust.clickOnAddNew() self.logger.info("********** Providing Customer Info **********") self.email = random_generator() + '@gmail.com' self.addCust.setEmail(self.email) self.addCust.setPassword('Test@123') self.addCust.setCustomerRoles('Guests') self.addCust.setManagerOfVendor("Vendor 2") self.addCust.setGender("Male") self.addCust.setFirstName("Rahul") self.addCust.setLastName("Singh") self.addCust.setDOB("11/09/1980") #Format: 'DD/MM/YY' self.addCust.setCompanyName("QAautomation Testing Ltd.") self.addCust.setAdminComment( "This content is added for testing purpose") self.addCust.clickOnSave() self.logger.info( "*********** Saving Customer Information *************") 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 with path +name self.logger.info( "************ Add customer Test Failed *************") assert True == False self.driver.close() self.logger.info("********* Test Add customer is done **********")
class Test_003_DDT_Login: baseURL = ReadConfig.getApplicationURL() path = ".//TestData//LoginData.xlsx" logger = LogGen.loggen() @pytest.mark.sanity def test_login_ddt(self, setup): self.logger.info("*************** Started Test_003_DDT_Login test ***********") self.driver=setup #self.driver = webdriver.Chrome() 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.username=XLUtils.readData(self.path, 'Sheet1', r,1) # user name self.password = XLUtils.readData(self.path, 'Sheet1', r, 2) # password self.exp = XLUtils.readData(self.path, 'Sheet1', r, 3) # expected self.lp.setUserName(self.username) self.lp.setPassword(self.password) self.lp.clickLogin() time.sleep(3) act_title=self.driver.title exp_title="Dashboard / nopCommerce administration" if act_title==exp_title: # Login Success if self.exp=='Pass': self.logger.info('*****Passed*****') self.lp.clickLogout() lst_status.append("Pass") assert True elif self.exp=='Fail': self.logger.info('*****Failed*****') self.lp.clickLogout() lst_status.append("Failed") assert False elif act_title!=exp_title: # Login is NOT Succesful if self.exp=='Pass': self.logger.info('*****Failed*****') lst_status.append("Failed") 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("*************Finished Test_003_DDT_Login**************") self.logger.info("**************** Completed TC_LoginDDT_003 ************* ")
class Test_003_AddCustomer: baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUsername() password = ReadConfig.getPassword() logger = LogGen.loggen() # Logger @pytest.mark.sanity @pytest.mark.regression def test_addCustomer(self,setup): self.logger.info("************* Test_003_AddCustomer **********") self.driver=setup self.driver.get(self.baseURL) self.driver.maximize_window() # Used from LoginPage PageObject class..... 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 Add Customer Test **********") self.addcust = AddCustomer(self.driver) self.addcust.clickOnCustomersMenu() time.sleep(5) 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.setCustomerRoles("Guests") self.addcust.setManagerOfVendor("Vendor 2") self.addcust.setGender("Male") self.addcust.setFirstName("Pavan") self.addcust.setLastName("Kumar") 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 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("D:\\Python Programs\\SeleniumPavanSDET\\NopCommerce\\Screenshots" + "test_addCustomer_scr.png") # Screenshot self.logger.error("********* Add customer Test Failed ************") assert False self.logger.info("******* Ending Add customer test **********") self.driver.close()
class Test_001_Login(): baseURL = ReadConfig.getApplicationURL() logger = LogGen.test_loggen() path = ".//TestData/TestData.xlsx" @pytest.mark.regression def test_login_ddt(self, setup): self.logger.info( "********************Test_001_Login***************************") self.logger.info( "******************** Verifying test_login_ddt **********************" ) self.driver = setup self.driver.get(self.baseURL) self.login = LoginPage(self.driver) self.rows = XLUtility.getRowCount(self.path, "Sheet1") print("no of rows in the excel", self.rows) test_list = [] for r in range(2, self.rows + 1): self.username = XLUtility.readData(self.path, "Sheet1", r, 1) self.password = XLUtility.readData(self.path, "Sheet1", r, 2) self.exp = XLUtility.readData(self.path, "Sheet1", r, 3) self.driver.maximize_window() self.driver.implicitly_wait(5) self.login.setUserName(self.username) self.login.setPassword(self.password) self.login.clickLogin() self.driver.implicitly_wait(5) act_title = self.driver.title if act_title == "Dashboard / nopCommerce administration": if self.exp == "Pass": self.logger.info("****PASSED*****") self.login.clickLogout() test_list.append("Pass") elif self.exp == "Fail": self.logger.info("*****FAILED******") self.login.clickLogout() test_list.append("Fail") elif act_title != "Dashboard / nopCommerce administration": if self.exp == "Pass": self.logger.info("******FAILED*********") test_list.append("Fail") elif self.exp == "Fail": self.logger.info("******PASSED*********") test_list.append("Pass") if "Fail" not in test_list: self.logger.info("***********test_login_ddt [PASSED]*************") self.driver.close() assert True else: self.logger.error( "***********test_login_ddt [FAILED]*************") self.driver.close() assert False self.logger.info( "*************** End of test_login_ddt *******************")
class Test_003_add_customer: baseURL = ReadConfig.getApplicationUrl() username = ReadConfig.getUsername() password = ReadConfig.getPassword() logger = LogGen.loggen() @pytest.mark.sanity @pytest.mark.regression def test_add_customer(self, setUp): self.logger.info( "*********************Login into portal************************") 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( "***********************Starting addCustomer test*******************************" ) # Creating object of AddCustomer class to access methods self.addcust = AddCustomer(self.driver) self.addcust.clickOnCustomersMenu() self.addcust.clickOnCustomersMenuItem() self.addcust.clickOnAddNewButton() self.logger.info( "**********************Providing Customer Info******************************" ) self.email = random_generator() + "@gmail.com" self.addcust.setEmail(self.email) self.addcust.setPassword("test12345") self.addcust.setFirstName("Shilpa") self.addcust.setLastName("Chourasia") self.addcust.selectGender("Female") self.addcust.setDOB("11/12/1989") self.addcust.setCompanyName("QAPython") #self.addcust.setNewsLetter("Your store name") self.addcust.setCustomerRoles("Guests") self.addcust.setManagerOfVender("Vendor 1") self.addcust.setAdminComments("This is just for testing") self.addcust.clickOnSaveButton() 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 "The new customer has been added successfully." in self.msg: assert True == True self.logger.info( "******************test_add_customer test case is passed******************" ) else: self.driver.save_screenshots(".\\Screenshots\\" + "test_add_customer.png") self.logger.info( "********************test_add_customer test case is failed******************" ) assert True == False self.driver.close() self.logger.info( "********************Ending of Test_003_add_customer******************" )
class Test_003_AddCustomer: baseURL = "https://admin-demo.nopcommerce.com/" username = "******" password = "******" 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 = 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 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.setCustomerRoles("Guests") self.addcust.setManagerOfVendor("Vendor 2") self.addcust.setGender("Male") self.addcust.setFirstName("Pavan") self.addcust.setLastName("Kumar") 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 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 Test_003_Login: baseURL = readConfig.getApllicationURL() username = readConfig.getUseremail() password = readConfig.getPassword() logger = LogGen.loggingDmo() @pytest.mark.sanity def test_addCustomer(self, setup): self.logger.info("****************Test_001_Login************* ") self.logger.info("**************** Started ************* ") self.driver = setup self.driver.get(self.baseURL) self.driver.maximize_window() self.lp = LoginPage(self.driver) self.lp.setUserName(self.username) time.sleep(5) self.lp.setPassword(self.password) time.sleep(5) self.lp.clickLogin() self.logger.info("*************** Login sucessful ************* ") self.addCust = AddCustomer(self.driver) self.addCust.clickOnCustomerMenu() self.addCust.clickOnCustomerMenuButton() self.addCust.addNewButton() def id_generator(size=8, chars=string.ascii_lowercase + string.digits): return ''.join(random.choice(chars) for x in range(size)) self.email = id_generator() + "@gmail.com" time.sleep(3) self.addCust.setEmial(self.email) self.addCust.setPassword("test123") self.addCust.setFirstName("NANI") self.addCust.setLastName("NANI") self.addCust.setGender("/Male") time.sleep(3) self.addCust.doBirth("1/8/2020") self.addCust.companyName("LEGATO") self.addCust.setCustomerRoles("Vendors") self.addCust.setMangerOfVendor("Vendor 1") time.sleep(2) # self.addCust.newsLetter("Test store 2") self.addCust.adminComment("i am a good learner in python") self.logger.info("Member info entered sucessfully ************* ") self.addCust.clickOnSave() self.msg = self.driver.find_element_by_tag_name("body").text print(self.msg) if 'The new customer has been added successfully.' in self.msg: assert True == True else: self.driver.get_screenshot_as_file(".\\Screenshots\\" + "addCustomer.png") assert True == False self.logger.info("**********The new customer has been added successfully************* ") self.driver.close()
class Test_001_Login: baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUseremail() password = ReadConfig.getPassword() ### Calling the loggen method from LogGen Class #### logger = LogGen.loggen() ##### 1) test_homePageTitle ###### def test_homePageTitle(self, setup): self.logger.info("*************** Test_001_Login *****************") self.logger.info("****Verify Home page title test ****") self.driver = setup self.driver.get(self.baseURL) act_title = self.driver.title if act_title == "Login - FleetCart": 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.info( "*************** HomePageTitle test is Failed *****************" ) assert False ######## 2) test_login ######### def test_login(self, setup): self.logger.info( "*************** test_login test is passed *****************") self.driver = setup self.driver.get(self.baseURL) ### To access the methos in "pageObjects.LoginPage import LoginPage" Class self.lp = LoginPage(self.driver) self.lp.loginOneStep(self.username, self.password) # self.lp.setUserName(self.username) # self.lp.setPassword(self.password) # self.lp.clickLogin() act_title = self.driver.title if act_title == "Dashboard - FleetCart Admin": assert True self.driver.close() self.logger.info( "*************** test_login test is passed *****************") else: self.driver.save_screenshot(".\\Screenshots\\" + "test_login.png") self.driver.close() self.logger.error( "*************** test_login test is Failed *****************") assert False ##### 3) test_logout ###### def test_logout(self, setup): self.logger.info( "*************** test_logout test is passed *****************") self.driver = setup self.driver.get(self.baseURL) ### To access the methos in "pageObjects.LoginPage import LoginPage" Class self.lp = LoginPage(self.driver) self.lp.setUserName(self.username) self.lp.setPassword(self.password) self.lp.clickLogin() self.lp.clickLogout() act_title = self.driver.title if act_title.strip( ) == "Login - FleetCart": ##Trim\Strip (remove the white space in the Tag) assert True self.driver.close() self.logger.info( "*************** test_logout test is passed *****************") else: self.driver.save_screenshot(".\\Screenshots\\" + "test_logout.png") self.driver.close() self.logger.error( "*************** test_logout test is Failed *****************") assert False
class Test_002_DDT_Login: baseURL = ReadConfig.getApplicationURL() path = "D:\\Python Programs\\SeleniumPavanSDET\\NopCommerce\\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.maximize_window() self.driver.get(self.baseURL) self.lp = LoginPage(self.driver) self.rows = XLUtils.getRowCount(self.path, 'Sheet1') print("No of Excel Rows: ", self.rows) lst_status = [] #Empty List variable for r in range(2, self.rows + 1): self.username = 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.username) 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("****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_0002_login_DDT: baseUrl = ReadConfig.getAppUrl() path = ".\\TestData\\LoginData.xlsx" logger = LogGen.loggen() @pytest.mark.regression def test_login(self, setup): self.logger.info("********* Login_002 DDT test starts *********") self.logger.info("************** Verifying Login test DDT *************") self.driver = setup self.driver.get(self.baseUrl) self.lp = LoginPage(self.driver) list_status=[] self.rows = XLUtil.getRowCount(self.path, 'Sheet1') print(" total number of rows", self.rows) for r in range(2, self.rows+1): self.username = XLUtil.readData(self.path, 'Sheet1', r, 1) self.password = XLUtil.readData(self.path, 'Sheet1', r, 2) self.exp = XLUtil.readData(self.path, 'Sheet1', r, 3) self.lp.setUserName(self.username) 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("****** Test Step Passed******") self.lp.clickLogout() list_status.append("Pass") elif self.exp=="Fail": self.logger.info("****** Test Step Failed******") # self.lp.clickLogout() list_status.append("Fail") elif act_title!=exp_title: if self.exp=="Pass": self.logger.info("****** Test Step Failed ******") # self.lp.clickLogout() list_status.append("Fail") elif self.exp=="Fail": self.logger.info("****** Test Step Passed ******") # self.lp.clickLogout() list_status.append("Pass") # print(list_status) 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 Login_002 DDT test *********")
class Test_Login: baseURL = ReadConfig.getApplicationURl() username = ReadConfig.getUseremail() password = ReadConfig.getPassword() logger = LogGen.loggen() @pytest.mark.regression def test_homePageTitle(self, setupBrowserDriver): self.logger.info(" *************** this test case 1 *************** ") self.logger.info(" *************** verifing case 1 *************** ") self.driver = setupBrowserDriver self.driver.get(self.baseURL) act_title = self.driver.title if act_title == "Your store. Login": assert True self.driver.close() self.logger.info( " ************************** this test case 1 is pass ************************ " ) else: self.driver.save_screenshot(".\\Screenshots\\" + "test_homePageTitle.png") self.driver.close() self.logger.error( " ************************** this test case 1 is fail ************************ " ) assert False @pytest.mark.regression @pytest.mark.sanity def test_loginPage_Title(self, setupBrowserDriver): self.logger.info( " ************************** this test case 2 ************************ " ) self.driver = setupBrowserDriver 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 print("after login page title :: " + act_title) self.driver.close() if act_title == "Dashboard / nopCommerce administration": self.logger.info( " ************************** this test case 2 is pass ************************ " ) assert True else: self.driver.save_screenshot(".\\Screenshots\\" + "afterlogin_page_title.png") assert False self.logger.error( " ************************** this test case 2 is fail ************************ " )
class Test_SearchCustomerBy: baseURL=ReadConfig.getApplicationURl() userName=ReadConfig.getUseremail() password=ReadConfig.getPassword() logger=LogGen.loggen() def loginPage(self,setupBrowserDriver): self.logger.info("*********launching browser*******") self.driver = setupBrowserDriver 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("********* Logged In in lloo *******") #return self.driver @pytest.mark.sanity @pytest.mark.regression def test_SearchByEmailid(self,setupBrowserDriver): self.driver = setupBrowserDriver self.login=Test_SearchCustomerBy() self.login.loginPage(setupBrowserDriver) self.addCust=AddCustomer(self.driver) self.addCust.clickonCustomerMenu() self.addCust.clickonCustomerMenuItem() self.logger.info("********* search by email *******") self.searchcust=SearchCustomerPage(self.driver) self.searchcust.searchByEmail("*****@*****.**") self.searchcust.searchByNOCustomerRole() self.searchcust.clickOnSearch() self.flag=self.searchcust.verifysearchEmailverify("*****@*****.**") if self.flag== True: self.logger.info("*************** search by email pass ***********************") self.driver.close() else: self.logger.info("************* search by email fail ******") self.driver.close() @pytest.mark.sanity @pytest.mark.regression def test_SearchByCustomerRole(self, setupBrowserDriver): self.driver = setupBrowserDriver self.login = Test_SearchCustomerBy() self.login.loginPage(setupBrowserDriver) self.addCust = AddCustomer(self.driver) self.addCust.clickonCustomerMenu() self.addCust.clickonCustomerMenuItem() self.logger.info("********* search by customer role *******") #pdb.set_trace() self.searchcust = SearchCustomerPage(self.driver) #self.searchcust.searchByNOCustomerRole() #self.searchcust.searchByCustomerRole("Registered") self.searchcust.clickOnSearch() self.flag=self.searchcust.verifyCustomeRolesearch("Registered") if self.flag== True: self.logger.info("*************** customer role search pass ***********************") self.driver.close() else: self.logger.info("*************customer role search fail ******") self.driver.close()
class Test_OO2_DDT_Login: baseURL = ReadConfig.readApplicationURL() message_error = ReadConfig.readErrorMessage() # xml_path = Constants.PARENTDIRECTORY + "\\TestData\\TestData.xml" xml_path = os.path.join(Constants.PARENTDIRECTORY, "TestData", "TestData.xml") logger = LogGeneration.loggen() def test_login(self, setup): self.logger.info( "******************** Test_OO2_DDT_Login ********************") self.logger.info( "******************** Verifying Login DDT Test ********************" ) self.driver = setup self.driver.get(self.baseURL) self.lp = LoginPage(self.driver) list_status = [] expected_output = [] login_data_values = ReadXML.readXMLFile(self.xml_path) for credentials in login_data_values: self.username = credentials.get("username") self.password = credentials.get("password") self.output = credentials.get("output") expected_output.append(self.output) self.lp.setUserName(self.username) self.lp.setPassword(self.password) self.lp.clickLogin() time.sleep(5) actual_title = self.driver.title expected_title = Constants.EXPECTED_TITLE if actual_title == expected_title: print( "******************** Valid Login test Passed ********************" ) self.logger.info( "******************** Login test Passed ********************" ) self.lp.clickLogout() list_status.append("Pass") elif actual_title != expected_title: error_returned = self.lp.getErrorMessage() if self.message_error in error_returned: list_status.append("Fail") print( "******************** Invalid Login test Passed ********************" ) self.logger.info( "******************** Invalid Login test Passed ********************" ) time.sleep(5) print(expected_output) print(list_status) print("********** End of Data Driven Test **********") self.driver.close() self.logger.info("********** End of Data Driven Test **********")