class TestSearchCustomerByName_005: baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUseremail() password = ReadConfig.getPassword() logger = LogGen.loggen() @pytest.mark.regression def test_searchCustomerByName(self, setup): self.logger.info( "*********** TestSearchCustomerByName_005 **************") 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( "********** Strating Search Customer By Name **********") self.addcust = AddCustomer(self.driver) self.addcust.ClickOnCustomersMenu() self.addcust.ClickOnCustomersMenuItem() self.logger.info("********** Search Customer By Name **********") searchcust = SearchCustomer(self.driver) searchcust.setFirstName("victoria") searchcust.setLastName("Terces") searchcust.ClickSearch() time.sleep(5) status = searchcust.searchCustomerByName("Victoria Terces") assert True == status self.logger.info("********** TC_SearchCustomerByName_005 **********") self.driver.close()
class Test_006_AddManifacturer: baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUseremail() password = ReadConfig.getPassword() logger = LogGen.loggen() manufacturer_name = "Khande works private limited" @pytest.mark.sanity def test_add_manufacturer(self, setup): self.logger.info("********** Test_006_AddManifacturer **********") self.driver = setup self.driver.get(self.baseURL) self.logger.info("--- URL Entered Successfully") self.lp = LoginPage(self.driver) self.lp.SetUserName(self.username) self.logger.info("--- user name Entered :" + self.username) self.lp.SetPassword(self.password) self.logger.info("--- password Entered :" + self.password) self.lp.ClickLogin() self.logger.info("--- clicked on login") self.logger.info('********** login successfull **********') self.logger.info("********** Stating Add Manufacturer Test **********") self.addManufacture = ManufacturePage(self.driver) self.addManufacture.click_on_cateloge() self.logger.info("--- clicked on cateloge") self.addManufacture.click_on_manufacture() self.logger.info("--- clicked on manufacturer") self.addManufacture.click_on_add_nuw_button() self.logger.info("--- clicked on Add new button") self.logger.info("********** Entering manufacturer name **********") self.addManufacture.set_name_of_manufacturer(self.manufacturer_name) self.logger.info("--- Manufacturer name Entered :" + self.manufacturer_name) self.addManufacture.click_on_save_button() self.logger.info("--- clicked on save button") self.logger.info("********** saving manufacturer **********") self.logger.info( "********** Add manufacturer validation started **********") self.actual_msg = self.driver.find_element_by_tag_name("body").text self.expected_msg = "The new manufacturer has been added successfully." if self.expected_msg in self.actual_msg: assert True == True self.logger.info( "********** Add manufacturer Test Passed **********") else: self.driver.save_screenshot(".\\Screenshots\\" + "test_addmanufacturer_scr.png") self.logger.error( "********** Add Manufacturer Test Failed **********") assert True == False self.driver.close() self.logger.info( "********** Ending Test_006_AddManifacturer **********")
class Test_Login_001: baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUseremail() password = ReadConfig.getPassword() # Storing the value in logger variable , whatever return from LogGen.loggen (Class.method) logger = LogGen.loggen() @pytest.mark.sanity @pytest.mark.regression def test_homePageTitle(self, setup): # Rather than direct defining Browser here, we can call Fixture from conftest.py # self.driver = WebDriver.Chrome() self.logger.info("********** Test_Login_001*************") self.logger.info( "********** Verifying Home Page Title Scenario*************") self.driver = setup self.driver.get(self.baseURL) time.sleep(5) act_title = self.driver.title if act_title == "Your store. Login": assert True self.driver.close() self.logger.info( "********** Home Page Title Test Passed*************") else: self.driver.save_screenshot("..\\Screenshots\\" + "test_homePageTitle1.png") self.driver.close() self.logger.error( "********** Home Page Title Test Failed*************") assert False @pytest.mark.sanity def test_login(self, setup): # Rather than direct defining Browser here, we can call Fixture from conftest.py # self.driver = WebDriver.Chrome() self.logger.info("********** Verifying Login Scenario*************") self.driver = setup self.driver.get(self.baseURL) # Create Object of LoginPage Class and calling driver, as it constructor in LoginPage Clas self.lp = LoginPage(self.driver) self.lp.setUserName(self.username) self.lp.setPassword(self.password) self.lp.ClickLogin() act_title = self.driver.title if act_title == 'Dashboard / nopCommerce administration': assert True self.logger.info( "********** User Navigated to Dashboard Page*************") self.driver.close() else: self.driver.save_screenshot("..\\Screenshots\\" + "test_login.png") self.driver.close() self.logger.error( "********** User didn't navigated to Dashboard Page*************" ) assert False
class Test_001_Login: baseURL=ReadConfig.getApplicationURL() useremail=ReadConfig.getUseremail() password=ReadConfig.getPassword() logger=LogGen.loggen() @pytest.mark.smoke @pytest.mark.regression def test_homePage_Title(self,setup): self.logger.info("********************* Test_001_Login **********************") self.logger.info("********************* Verifying Home Page 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("********************* Home Page Title test is passed **********************") else: self.driver.save_screenshot("./Screenshots/" + "test_homePageTitle.png") self.driver.close() self.logger.error("********************* Home Page Title test is failed **********************") assert False @pytest.mark.regression @pytest.mark.sanity def test_login(self,setup): self.logger.info("********************* Verifying login test **********************") self.driver=setup self.driver.get(self.baseURL) self.lp=LoginPage(self.driver) self.lp.SetUserName(self.useremail) self.lp.SetPassword(self.password) self.lp.ClickLogin() actual_title=self.driver.title if actual_title=="Dashboard / nopCommerce administration": assert True self.logger.info("********************* login test is passed **********************") self.driver.close() else: self.driver.save_screenshot("./Screenshots/" + "test_login.png") self.driver.close() self.logger.error("********************* login test is failed **********************") assert False
class Test_search_manufacturere_by_name_007: baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUseremail() password = ReadConfig.getPassword() logger = LogGen.loggen() def test_search_manufacturer_by_name(self, setup): self.logger.info("******Test_search_manufacturere_by_name_007 ******") 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 successfull ******") self.logger.info("****** search manufacturer by name started ******") self.mp = ManufacturePage(self.driver) self.mp.click_on_cateloge() self.mp.click_on_manufacture() self.mp.search_manufacturer_name("khande works") self.mp.click_on_search_button() self.logger.info( "****** Search manufacturer by name Validation start ******") time.sleep(5) actual_result = self.driver.find_element_by_xpath( "//*[@id='manufacturers-grid']/tbody/tr/td[2]").text expected_result = "Khande works" if expected_result in actual_result: assert True self.logger.info("actual result is " + actual_result) self.logger.info("****** Search manufacturer test passed ******") else: self.logger.error("****** Search manufacturer test failed ******") self.driver.save_screenshot(".\\Screenshots\\" + "test_Search_manufacturer_scr.png") self.driver.close() assert False self.driver.close() self.logger.info( "****** Ending Test_search_manufacturere_by_name_007 ******")
class Test_Login_001: baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUseremail() password = ReadConfig.getPassword() @pytest.mark.sanity @pytest.mark.regression def test_homePageTitle(self, setup): self.driver = setup self.driver.get(self.baseURL) time.sleep(5) act_title = self.driver.title if act_title == "Your store. Login": assert True self.driver.close() else: self.driver.save_screenshot(".\\Screenshots\\" + "test_homePageTitle.png") self.driver.close() assert False @pytest.mark.sanity def test_login(self, setup): # Rather than direct defining Browser here, we can call Fixture from conftest.py # self.driver = WebDriver.Chrome() self.driver = setup self.driver.get(self.baseURL) # Create Object of LoginPage Class and calling driver, as it constructor in LoginPage Clas self.lp = LoginPage(self.driver) self.lp.setUserName(self.username) self.lp.setPassword(self.password) self.lp.ClickLogin() act_title = self.driver.title if act_title == 'Dashboard / nopCommerce administration': assert True self.driver.close() else: self.driver.save_screenshot(".\\Screenshots\\" + "test_login.png") self.driver.close() assert False
class Test_customer_add_005: baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUseremail() password = ReadConfig.getPassword() @pytest.mark.user def test_add_new_product(self, setup): self.driver = setup self.driver.get(self.baseURL) # Create Object of LoginPage Class and calling driver, as it constructor in LoginPage Clas self.lp = LoginPage(self.driver) self.lp.setUserName(self.username) self.lp.setPassword(self.password) self.lp.ClickLogin() self.customer = AddProduct(self.driver) self.customer.catalog_main_menu() self.customer.add_new_product() self.customer.product_name() self.customer.category_selection() self.customer.product_tags() self.customer.GTIN() self.customer.save_product()
class Test_customer_add_003: baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUseremail() password = ReadConfig.getPassword() @pytest.mark.user def test_add_new_customer(self, setup): self.driver = setup self.driver.get(self.baseURL) # Create Object of LoginPage Class and calling driver, as it constructor in LoginPage Clas self.lp = LoginPage(self.driver) self.lp.setUserName(self.username) self.lp.setPassword(self.password) self.lp.ClickLogin() self.customer = AddCustomer(self.driver) self.customer.customer_main_menu() self.customer.customer_sub_menu() customer_email = self.customer.customer_email() self.customer.enter_first_name() self.customer.enter_last_name() self.customer.save_customer() self.customer.search_email_address(customer_email) self.customer.button_search()
class TestSearchCustomerByEmail_004: baseURL = ReadConfig.getApplicationURL() username = ReadConfig.getUseremail() password = ReadConfig.getPassword() logger = LogGen.loggen() @pytest.mark.smoke @pytest.mark.regression def test_searchCustomerByEmail(self, setup): self.logger.info( "*********** SearchCustomerByEmail_004 **************") 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( "********** Strating Search Customer By Email **********") self.addcust = AddCustomer(self.driver) self.addcust.ClickOnCustomersMenu() self.addcust.ClickOnCustomersMenuItem() self.logger.info("********** Search Customer By EmailID **********") searchcust = SearchCustomer(self.driver) searchcust.setEmail("*****@*****.**") searchcust.ClickSearch() time.sleep(5) status = searchcust.searchCustomerByEmail( "*****@*****.**") assert True == status self.logger.info( "********** TC_SearchCustomerByEmail_004 Finished **********") self.driver.close()
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.logger.info("--- URL Entered") self.lp = LoginPage(self.driver) self.lp.SetUserName(self.username) self.logger.info("--- Username Entered :" + self.username) self.lp.SetPassword(self.password) self.logger.info("--- Password Entered :" + self.password) self.lp.ClickLogin() self.logger.info("--- clicked on login") self.logger.info("*************** Login Successful ****************") self.logger.info( "*************** Starting Add Customer Test ************") self.addcust = AddCustomer(self.driver) self.addcust.ClickOnCustomersMenu() self.logger.info("--- clicked on Customers Menu") self.addcust.ClickOnCustomersMenuItem() self.logger.info("--- clicked on Customers Menu Item") self.addcust.ClickOnAddnew() self.logger.info("--- clicked on Add New") self.logger.info("*********** Providing customer info ************") self.email = random_generator() + "@gmail.com" self.addcust.setEmail(self.email) self.addcust.setPassword("test123") self.addcust.setFirstname("Prashant") self.addcust.setLastname("Khande") self.addcust.setGender("Male") self.addcust.setDob("4/09/1996") # Format : D/MM/YYYY self.addcust.setCompantName("KWPL") #self.addcust.setNewsletter() self.addcust.setCustomerRoles("Guests") self.addcust.setManagerofVendor('Vendor 2') self.addcust.setAdminContent("This is foe 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 **********") self.driver.close() assert True == False self.driver.close() self.logger.info( "********** Ending Test_003_AddCustomer *************")
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 = XLUties.getRowCount(self.path, "Sheet1") print("number of rows in a Excel: ", self.rows) lst_status = [] #Empty list variable for r in range(2, self.rows + 1): self.user = XLUties.readData(self.path, "Sheet1", r, 1) self.password = XLUties.readData(self.path, "Sheet1", r, 2) self.exp = XLUties.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_Login_DDT_002 ***********************" )
class Test_002_DDT_Login: baseURL = ReadConfig.getApplicationURL() path = ".//TestData//LoginData.xlsx" # Storing the value in logger variable , whatever return from LogGen.loggen (Class.method) logger = LogGen.loggen() @pytest.mark.sanity @pytest.mark.regression def test_login_ddt(self, setup): # Rather than direct defining Browser here, we can call Fixture from conftest.py # self.driver = WebDriver.Chrome() self.logger.info("********** Test_002_DDT_Logino*************") self.logger.info("********** Verifying Login Scenario*************") self.driver = setup self.driver.get(self.baseURL) # Create Object of LoginPage Class and calling driver, as it constructor in LoginPage Clas self.lp = LoginPage(self.driver) # Get total number of rows from excel, by passing file path and sheet name self.rows = XLUtils.getRowCount(self.path, 'Sheet') print('Number of rows in a Excel=', self.rows) lst_status = [] # Empty list variable to store the result status # Using for loop to go to all data of excel, start from 2 as first will be consider as column # In python we have to pass rows+1, or else it will not read last cell value for r in range(2, self.rows + 1): self.username = XLUtils.readData(self.path, 'Sheet', r, 1) self.password = XLUtils.readData(self.path, 'Sheet', r, 2) self.exp = XLUtils.readData(self.path, 'Sheet', 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' #Now will check if condition to check exp and act title if act_title == exp_title: #Here will check exp message of Excelsheet 3rd column value if self.exp == 'Pass': self.logger.info('***Passed***') #Now user has to logout , so that loop can go for next set of value self.lp.ClickLogout() #Result of Success need to be appended to List variable lst_status.append('Pass') elif self.exp == 'Fail': self.logger.info('***Failed***') #Now user has to logout , so that loop can go for next set of value self.lp.ClickLogout() #Result of Success need to be appended to List variable lst_status.append('Fail') elif act_title != exp_title: #Here will check exp message of Excelsheet 3rd column value if self.exp == 'Pass': self.logger.info('***Failed***') #Result of Success need to be appended to List variable lst_status.append('Fail') elif self.exp == 'Fail': self.logger.info('***Passed***') #Result of Success need to be appended to List variable lst_status.append('Pass') #Now we need to check lst_status variable should not contain any Fail status if "Fail" not in lst_status: self.logger.info("****Login DDT Test Case Successful*****") self.driver.quit() assert True else: self.logger.info("****Login DDT Test Case Un-Successful*****") self.driver.close() assert False self.logger.info("********** End of DDT Test*************") self.logger.info( "********** Completed Test_002_DDT_Login*************")