class Test_001_Login: baseurl = rc.getApplicationUrl() username = rc.getUseremail() password = rc.getPassword() logger = LogGen.logGeneration() @pytest.mark.regression def test_homePageTitle(self, setup): self.logger.info('********** Test_001_Login **********') self.logger.info('********** Verifying homepage 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( '*********** homepage title test is passed *******') else: self.driver.save_screenshot( '.\\Screenshots\\' + 'test_homePageTitle.png') #(.\\-------\\) is current directory self.driver.close() self.logger.error( '********* homepage title test is failed *************') assert False @pytest.mark.sanity @pytest.mark.regression def test_login(self, setup): self.logger.info('********* Test_001_Login *******') 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.setUserPassword(self.password) self.lp.clickLogin() act_title = self.driver.title if act_title == 'Dashboard / nopCommerce administration': assert True self.driver.close() self.logger.info('********* Login test is passed *********') else: self.driver.save_screenshot('.\\Screenshots\\' + 'test_login.png') self.driver.close() self.logger.error('********* Login test is failed ********') assert False
class Test_001_Login: base_url = ReadConfig.getApplicationUrl() useremail = 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 homepage title*****') self.driver = setup self.driver.get(self.base_url) self.lp = LoginPage(self.driver) 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: self.driver.save_screenshot(".\\Screenshots\\" + "test_homepagetitle.png") self.driver.close() assert False self.logger.error('****** Home page title test is failed') @pytest.mark.sanity @pytest.mark.regression def test_login(self, setup): self.logger.info('****Verify login page******') self.driver = setup self.driver.get(self.base_url) self.lp = LoginPage(self.driver) self.lp.setusername(self.useremail) self.lp.setpassword(self.password) self.lp.clicklogin() act_title = self.driver.title print('ACTUAL TITLE===', act_title) if act_title == "Dashboard / nopCommerce administration": assert True self.logger.info('*****Login verification passed*****') self.driver.close() else: self.driver.save_screenshot(".\\Screenshots\\" + "test_login.png") self.driver.close() self.logger.error('*****Login verification failed*****') assert False
class Test_001_Login: baseURL = ReadConfig.getApplicationUrl() username = ReadConfig.getUsername() password = ReadConfig.getPassword() logger = LogGen.logGen() def test_homePageTitle(self, setup): self.logger.info("**********Test_001_Login**********") self.logger.info("**********verifying test_homePageTitle**********") self.driver = setup self.driver.get(self.baseURL) actual_title = self.driver.title if actual_title == "MARS Iris": assert True self.driver.close() self.logger.info( "**********verifying test_homePageTitle passed**********") else: self.driver.save_screenshot(".\\Screenshots\\" + "test_homePageTitle.png") self.driver.close() self.logger.error( "******************verifying test_homePageTitle failed**********" ) assert False def test_login(self, setup): self.logger.info("**********verifying test_login**********") 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() actual_title = self.driver.title if actual_title == "MARS Iris": assert True self.driver.close() self.logger.info("**********verifying test_login passed**********") else: self.driver.save_screenshot(".\\Screenshots\\" + "test_login.png") self.driver.close() self.logger.error( "**********verifying test_login failed**********") assert False
class Test_004_SearchCustomerByEmail: baseURL = ReadConfig.getApplicationUrl() username = ReadConfig.getUsername() password = ReadConfig.getPassword() logger = LogGen.loggen() def test_searchCustomerByEmail(self, setUp): 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( "*******************Start searching Customer by Email**********************" ) self.addcust = AddCustomer(self.driver) self.addcust.clickOnCustomersMenu( ) # only these two methods are required from addCustomerPage.py self.addcust.clickOnCustomersMenuItem() self.logger.info( "*******************Searching Customer by Email**********************" ) # creating object of SearchCustomer class to access methods searchcust = SearchCustomer(self.driver) searchcust.setEmail("*****@*****.**") searchcust.clickOnSearchButton() time.sleep(5) status = searchcust.searchCustomerByEmail( "*****@*****.**") self.driver.close() assert True == status self.logger.info( "***************Test_004_SearchCustomerByEmail Finished*********** " )
class Test_001_Login: baseUrl = ReadConfig.getApplicationUrl() userName = ReadConfig.getUserName() password = ReadConfig.getPassword() logger = LogGen.loggen() def test_homePageTitle(self, setup): self.logger.info("************* Test_001_Login ************") self.logger.info("************* Verifying Homepage Title ************") self.driver = setup self.driver.get(self.baseUrl) actual_title = self.driver.title if actual_title == "Your store. Login": assert True self.driver.close() self.logger.info("************* Page Title is passed ************") else: self.logger.error( "************* Page Title is failed ************") self.driver.close() assert False def test_login(self, setup): self.logger.info("************* Verifying Login Page ************") 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() actual_title = self.driver.title if actual_title == "Dashboard / nopCommerce administration": assert True self.driver.close() self.logger.info("************* Login successful ************") else: self.driver.save_screenshot(".\\Screenshots\\" + "test_login.png") self.logger.error("************* Login failed ************") self.driver.close() assert False
class Test_004_SearchCustomerByName: baseURL = ReadConfig.getApplicationUrl() username = ReadConfig.getUsername() password = ReadConfig.getPassword() logger = LogGen.loggen() def test_searchCustomerByName(self, setUp): self.driver = setUp self.driver.get(self.baseURL) lp = LoginPage(self.driver) lp.setUsername(self.username) lp.setPassword(self.password) lp.clickLogin() self.logger.info( "*******************Login Successful**********************") self.logger.info( "*******************Start searching Customer by Name**********************" ) addcust = AddCustomer(self.driver) addcust.clickOnCustomersMenu( ) # only these two methods are required from addCustomerPage.py addcust.clickOnCustomersMenuItem() self.logger.info( "*******************Searching Customer by Name**********************" ) searchcust = SearchCustomer(self.driver) searchcust.setFirstName("Victoria") searchcust.setLastName("Terces") searchcust.clickOnSearchButton() time.sleep(5) status = searchcust.searchCustomerByName("Victoria Terces") self.driver.close() assert True == status self.logger.info( "***************Test_004_SearchCustomerByName Finished*********** " )
class Test_Login(): baseurl=ReadConfig.getApplicationUrl() Username=ReadConfig.getUsername() PassWord=ReadConfig.getPassWord() Usernameinvalid="admin12345" PassWordinvalid="admin123456" logger=LogGen.loggen() @pytest.fixture(autouse=True) def driversetup(self,OnetimeSetup): self.driver=self.value def test_homepage_validate(self): self.logger.info("###############startedt the home page test########") self.driver=self.value self.driver.get(self.baseurl) if self.driver.title=="OrangeHRM1": assert True==True else: assert True==False self.logger.error('### asertion is failed') self.driver.close() def test_Loginwithvaliddata(self,): self.driver.get(self.baseurl) self.login=LoginPageObjectes(self.driver) self.login.setUsername(self.Username) self.login.setPassWord(self.PassWord) self.login.ClickLogin() def test_Loginerror(self): self.driver.get(self.baseurl) self.login = LoginPageObjectes(self.driver) self.login.setUsername(self.Usernameinvalid) self.login.setPassWord(self.PassWordinvalid) self.login.ClickLogin() time.sleep(2) message=self.driver.find_element_by_xpath("//*[@id='spanMessage']").text assert message=="Invalid credentials" self.driver.close()
def setup(request): # Run befor and after test case browserName = "chrome" if browserName == 'chrome': driver = webdriver.Chrome(ChromeDriverManager().install()) elif browserName == 'firefox': driver = webdriver.Firefox( executable_path=GeckoDriverManager().install()) elif browserName == 'ie': driver = webdriver.Ie(IEDriverManager().install()) else: print("Please select the browser") driver.get(ReadConfig.getApplicationUrl()) # url address print(driver.title) driver.maximize_window() driver.delete_all_cookies() driver.implicitly_wait(15) request.cls.driver = driver yield driver.close()
class Test_002_DDT_Login(): baseURL = ReadConfig.getApplicationUrl() path = ".//TestData/testData_Login.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 = ExcelUtils.getRowCount(self.path, 'Sheet1') print('Number of rows...', self.rows) list_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) 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") print(list_status) if "Fail" not in list_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_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_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 = 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_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_homePage: baseURL = ReadConfig.getApplicationUrl() username = ReadConfig.getUsername() password = ReadConfig.getPassword() logger = LogGen.logGen() def test_succesfulLogin(self, setup): self.logger.info("*****Verfying Test_002_homePage*********") self.logger.info("*****Verfying if login successful*********") self.driver = setup self.driver.get(self.baseURL) loginPage = LoginPage(self.driver) loginPage.setUserName(self.username) loginPage.setPassword(self.password) loginPage.clickLogin() homepage = HomePage(self.driver) if homepage.isLoginSuccesful: assert True self.logger.info("**********Login Succesful**********") self.driver.close() else: self.logger.info("Login Failed") self.driver.save_screenshot(".\\Screenshots\\" + "test_successful_login.png") self.driver.close() assert False @pytest.mark.dashboard def test_dashboard_clickable(self, setup): self.logger.info("Verifying dashboard.") self.driver = setup self.driver.get(self.baseURL) loginPage = LoginPage(self.driver) loginPage.setUserName(self.username) loginPage.setPassword(self.password) loginPage.clickLogin() homePage = HomePage(self.driver) homePage.click('profile', self.logger) try: if self.driver.find_element( By.XPATH, "//span[text()='Dashboard']/parent::div").is_displayed(): assert True self.logger.info("Dashboard visible.") self.driver.close() else: self.driver.save_screenshot(".\\Screenshots\\" + "test_dashboard_clickable.png") self.logger.info("Dashboard NOT visbile.") self.driver.close() assert False except Exception as e: self.logger.info(e) self.logger.info("Dashboard NOT clickable.") self.driver.save_screenshot(".\\Screenshots\\" + "test_dashboard_clickable.png") assert False @pytest.mark.logout def test_logout(self, setup): self.logger.info("Verifying logout functionality.") self.driver = setup self.driver.get(self.baseURL) loginPage = LoginPage(self.driver) loginPage.setUserName(self.username) loginPage.setPassword(self.password) loginPage.clickLogin() homepage = HomePage(self.driver) homepage.logout(self.logger)
class Test_002_DDT_Login: baseurl = rc.getApplicationUrl() path = './/TestData/DataDrive.xlsx' logger = LogGen.logGeneration() @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.lp = LoginPage(self.driver) self.rows = XLUtils.getRowCount(self.path, 'Sheet1') print('number of Rows:', self.rows) status_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.setUserPassword(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 == 'test passed': self.logger.info('********* passed ********') self.lp.clickLogout() status_list.append('pass') elif self.exp == 'test fail': self.logger.info('******* failed ********') self.lp.clickLogout() status_list.append('fail') elif act_title != exp_title: if self.exp == 'test passed': self.logger.info('******* failed ********') status_list.append('fail') elif self.exp == 'test fail': self.logger.info('****** pass ******') status_list.append('pass') if 'fail' not in status_list: self.logger.info('############## login DDT test pass ############') self.driver.close() assert True else: self.logger.info('############ login DDT test fail ############') self.driver.close() assert False self.logger.info('------------- end of login DDT test ----------') self.logger.info('------------- Complete login DDT test ----------')