class Test_003_AddCustomer: baseURL = ReadConfig.get_application_url() username = ReadConfig.get_user_email() password = ReadConfig.get_password() logger = LogGen.loggen() # Logger @pytest.mark.sanity @pytest.mark.regression def test_add_customer(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.set_user_name(self.username) self.lp.set_password(self.password) self.lp.click_login() self.logger.info("************* Login successful **********") self.logger.info("******* Starting Add Customer Test **********") self.addcust = AddCustomer(self.driver) self.addcust.click_on_customers_menu() self.addcust.click_on_customers_menu_item() time.sleep(2) self.addcust.click_on_add_new() time.sleep(2) self.logger.info("************* Providing customer info **********") self.email = random_generator() + "@gmail.com" self.addcust.set_email(self.email) self.addcust.set_password("test123") self.addcust.set_customer_roles("Guests") self.addcust.set_manager_of_vendor("Vendor 2") self.addcust.set_gender("Male") self.addcust.set_first_name("Amit") self.addcust.set_last_name("Singh") self.addcust.set_dob("07/21/1991") # Format: D / MM / YYY self.addcust.set_company_name("XYZ_ABC") self.addcust.set_admin_content("This is for testing.........") self.addcust.click_on_save() 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(".\\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 TestLogin001: baseURL = ReadConfig.get_application_url() username = ReadConfig.get_user_email() password = ReadConfig.get_password() logger = LogGen.loggen() @pytest.mark.regression def test_home_page_title(self, setup): self.logger.info("*************** Test_001_Login *****************") self.logger.info("****Started Home page title test ****") self.driver = setup self.logger.info("****Opening URL****") self.driver.get(self.baseURL) act_title = self.driver.title if act_title == "Your store. Login": self.logger.info("**** Home page title test passed ****") self.driver.close() assert True else: self.logger.error("**** Home page title test failed****") self.driver.save_screenshot(".\\Screenshots\\" + "test_home_page_title.png") self.driver.close() assert False @pytest.mark.sanity @pytest.mark.regression def test_login(self, setup): self.logger.info("****Started Login Test****") self.driver = setup self.driver.get(self.baseURL) self.lp = LoginPage(self.driver) self.lp.set_user_name(self.username) self.lp.set_password(self.password) self.lp.click_login() act_title = self.driver.title if act_title == "Dashboard / nopCommerce administration": self.logger.info("****Login test passed ****") self.driver.close() assert True else: self.logger.error("****Login test failed ****") self.driver.save_screenshot(".\\Screenshots\\" + "test_login.png") self.driver.close() assert False
class Test_SearchCustomerByEmail_004: baseURL = ReadConfig.get_application_url() username = ReadConfig.get_user_email() password = ReadConfig.get_password() logger = LogGen.loggen() # Logger @pytest.mark.regression def test_search_customer_by_email(self, setup): self.logger.info("************* SearchCustomerByEmail_004 **********") self.driver = setup self.driver.get(self.baseURL) self.driver.maximize_window() self.lp = LoginPage(self.driver) self.lp.set_user_name(self.username) self.lp.set_password(self.password) self.lp.click_login() self.logger.info("************* Login succesful **********") self.logger.info( "******* Starting Search Customer By Email **********") self.addcust = AddCustomer(self.driver) self.addcust.click_on_customers_menu() self.addcust.click_on_customers_menu_item() self.logger.info( "************* searching customer by emailID **********") searchcust = SearchCustomer(self.driver) #searchcust.set_email("*****@*****.**") searchcust.set_email("*****@*****.**") time.sleep(5) searchcust.click_search() time.sleep(5) status = searchcust.search_customer_by_email( "*****@*****.**") print(status) self.driver.close() assert True == status self.logger.info( "*************** TC_SearchCustomerByEmail_004 Finished *********** " )
class Test_SearchCustomerByName_005: baseURL = ReadConfig.get_application_url() username = ReadConfig.get_user_email() password = ReadConfig.get_password() logger = LogGen.loggen() # Logger @pytest.mark.regression def test_search_customer_by_name(self, setup): self.logger.info("************* SearchCustomerByName_005 **********") self.driver = setup self.driver.get(self.baseURL) self.driver.maximize_window() self.lp = LoginPage(self.driver) self.lp.set_user_name(self.username) self.lp.set_password(self.password) self.lp.click_login() self.logger.info("************* Login successful **********") self.logger.info("******* Starting Search Customer By Name **********") self.addcust = AddCustomer(self.driver) self.addcust.click_on_customers_menu() self.addcust.click_on_customers_menu_item() time.sleep(2) self.logger.info("************* searching customer by Name **********") searchcust = SearchCustomer(self.driver) searchcust.set_first_name("James") searchcust.set_last_name("Pan") searchcust.click_search() time.sleep(5) status = searchcust.search_customer_by_name("James Pan") self.driver.close() assert True == status self.logger.info("*************** TC_SearchCustomerByName_005 Finished *********** ")
class Test_002_DDT_Login: baseURL = ReadConfig.get_application_url() path = ReadConfig.get_login_data_path() 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 = XL_Utils.get_row_count(self.path, 'Sheet1') print('Number of rows...', self.rows) lst_status = [] for r in range(2, self.rows + 1): self.user = XL_Utils.read_data(self.path, 'Sheet1', r, 1) self.password = XL_Utils.read_data(self.path, 'Sheet1', r, 2) self.exp = XL_Utils.read_data(self.path, 'Sheet1', r, 3) print("User name & Password for row : " + str(r) + " is " + self.user + " & " + self.password) self.lp.set_user_name(self.user) self.lp.set_password(self.password) self.lp.click_login() time.sleep(5) act_title = self.driver.title print(act_title) exp_title = "Dashboard / nopCommerce administration" if act_title == exp_title: if self.exp == 'Pass': self.logger.info("**** passed ****") self.lp.click_logout() lst_status.append("Pass") elif self.exp == 'Fail': self.logger.info("**** failed ****") self.lp.click_logout() lst_status.append("Fail") elif act_title != exp_title: if self.exp == 'Pass': self.logger.info("**** failed ****") lst_status.append("Fail") elif self.exp == 'Fail': self.logger.info("**** passed ****") lst_status.append("Pass") print(lst_status) if "Fail" not in lst_status: self.logger.info("******* DDT Login test passed **********") self.driver.close() assert True else: self.logger.error("******* DDT Login test failed **********") self.driver.close() assert False self.logger.info("******* End of Login DDT Test **********") self.logger.info( "**************** Completed TC_LoginDDT_002 ************* ")