Example #1
0
class Test_002_Login_DDT:
    baseurl = ReadConfig.get_application_url()
    path = ".//TestData//LoginData.xlsx"
    logger = LogGen.loggen()

    @pytest.mark.regression
    def test_login_ddt(self, setup):
        self.logger.info("**********Test_002_Login_DDT***********")
        self.logger.info("**********Verify Login Test DDT***********")
        self.driver = setup
        self.driver.get(self.baseurl)
        self.lp = LoginPage(self.driver)
        list_status = []

        self.rows = excelUtils.get_row_count(self.path, "login_data")
        print("Number of rows:", self.rows)

        for r in range(2, self.rows + 1):
            self.email = excelUtils.read_data(self.path, "login_data", r, 1)
            self.password = excelUtils.read_data(self.path, "login_data", r, 2)
            self.expected = excelUtils.read_data(self.path, "login_data", r, 3)
            print(self.email, self.password, self.expected)

            self.lp.set_email(self.email)
            self.lp.set_password(self.password)
            self.lp.click_login()
            time.sleep(5)

            actual_title = self.driver.title
            if actual_title == "Dashboard / nopCommerce administration":
                if self.expected == "Pass":
                    self.lp.click_logout()
                    list_status.append("Pass")
                    self.logger.info("**********Test " + str(r - 1) +
                                     " Passed***********")
                elif self.expected == "Fail":
                    self.lp.click_logout()
                    list_status.append("Fail")
                    self.logger.error("**********Test " + str(r - 1) +
                                      " Failed***********")
            elif actual_title != "Dashboard / nopCommerce administration":
                if self.expected == "Pass":
                    self.lp.click_logout()
                    list_status.append("Fail")
                    self.logger.error("**********Test " + str(r - 1) +
                                      " Failed***********")
                elif self.expected == "Fail":
                    list_status.append("Pass")
                    self.logger.info("**********Test " + str(r - 1) +
                                     " Passed***********")

        if "Fail" not in list_status:
            assert True
            self.driver.close()
            self.logger.info("**********Test Finished***********")
        else:
            assert False
            self.driver.close()
            self.logger.info("**********Test Finished***********")
class Test002DataDrivenLogin:
    baseURL = ReadConfig.get_application_url()
    path = ".//TestData/login_test_data.xlsx"

    logger = LogGeneration.log_generation()

    @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.maximize_window()
        self.driver.get(self.baseURL)

        # Creating object of LoginPage class
        self.login_page = LoginPage(self.driver)

        self.rows = excelUtils.get_row_count(self.path, 'Sheet1')
        self.cols = excelUtils.get_col_count(self.path, 'Sheet1')

        status_list = []

        for row in range(2, self.rows + 1):
            self.username = excelUtils.read_data(self.path, 'Sheet1', row, 1)
            self.password = excelUtils.read_data(self.path, 'Sheet1', row, 2)
            self.expected = excelUtils.read_data(self.path, 'Sheet1', row, 3)

            self.login_page.set_username(self.username)
            self.login_page.set_password(self.password)
            self.login_page.click_login()
            time.sleep(2)

            actual_title = self.driver.title
            expected_title = "Dashboard / nopCommerce administration"

            if actual_title == expected_title:
                if self.expected == "Pass":
                    self.logger.info("Scenario passed")
                    self.login_page.click_logout()
                    status_list.append("Pass")
                elif self.expected == "Fail":
                    self.logger.info("Scenario failed")
                    self.login_page.click_logout()
                    status_list.append("Fail")

            elif actual_title != expected_title:
                if self.expected == "Pass":
                    self.logger.info("Scenario failed")
                    status_list.append("Fail")
                elif self.expected == "Fail":
                    self.logger.info("Scenario passed")
                    status_list.append("Pass")

        if "Fail" not in status_list:
            self.logger.info("Data driven login test passed")
            assert True
        else:
            self.logger.info("Data driven login test failed")
            assert False

        self.logger.info("*** End of Login DDT test ***")
Example #3
0
class TestCommerce_03_AddCustomer:
    baseURL = ReadConfig.getApplicationURL()
    username = ReadConfig.getUsername()
    password = ReadConfig.getPassword()
    logger = LogGen.getLogger()

    @pytest.mark.sanity
    def test_AddNewCustomer(self, setup):
        self.logger.info(
            "############## Verifying login test####################")
        self.driver = setup
        self.driver.get(self.baseURL)
        self.lp = LoginPage(self.driver)
        self.lp.setField(self.lp.email_id, self.username)
        self.lp.setField(self.lp.password_id, self.password)
        self.lp.clickOn(self.lp.login_xpath).click()
        home_title = self.driver.title
        self.logger.info(home_title)
        self.homePage = HomePage(self.driver)
        self.homePage.clickOn(self.homePage.customer_menu_xpath).click()
        self.homePage.clickOn(self.homePage.customerButton_xpath).click()
        self.homePage.clickOn(self.homePage.add_button_xpath).click()
        time.sleep(3)
        self.logger.info("********* Entered Add customer Page ****  *****")
        self.email = random_generator() + "@gmail.com"
        self.homePage.setField(self.homePage.txtboxEmail_xpath, self.email)
        self.homePage.setField(self.homePage.txtboxPassword_xpath,
                               "kushal@123")
        self.homePage.setField(self.homePage.txtboxFirstName_xpath, "vini")
        self.homePage.setField(self.homePage.txtboxLastName_xpath, "tp")
        self.homePage.setGender("Male")
        self.homePage.get_DatePicker("May", "2000", "25")
        # self.homePage.setDOB("3/1/2021")
        self.homePage.setField(self.homePage.txtboxCompany_xpath,
                               "Tata Consultancy Services Limited")
        self.homePage.clickOn(self.homePage.cbTaxExempt_xpath).click()
        self.homePage.setField(self.homePage.txtAdminComment_xpath,
                               "Kushal is our god")
        self.homePage.setManagerOfVender("Vendor 1")
        self.homePage.setCustomerRoles("Vendors")
        time.sleep(3)
        self.homePage.clickOn(self.homePage.btnSave_xpath).click()
        time.sleep(3)
        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.driver.close()
            self.logger.info("********* Add customer Test Passed *********")
        else:
            self.driver.save_screenshot(
                ".\\Screenshots\\" + "test_addCustomer_scr.png")  # Screenshot
            self.logger.info("********* Add customer Test Failed ************")
            self.driver.close()
            assert False
        self.logger.info("******* Ending Add customer test **********")

    def test_e2e(self, setup):
        self.driver = setup
        self.logger.info("New Login")
        self.loginPage = LoginPage(self.driver)
        self.logger.info("Entering into Green Kart website")
        self.logger.info(self.driver.title)
        self.driver.get(self.baseURL)
        self.loginPage = LoginPage(self.driver)
        self.loginPage.setField(self.loginPage.email_id, self.username)
        self.loginPage.setField(self.loginPage.password_id, self.password)
        self.loginPage.clickOn(self.loginPage.login_xpath).click()
        time.sleep(3)
        self.logger.info(self.driver.title)
        time.sleep(3)
        self.loginPage.click_logout()
        self.driver.close()
Example #4
0
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("******* 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 in a excel:', 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.setField(self.lp.email_id, self.user)
            self.lp.setField(self.lp.password_id, self.password)
            self.lp.clickOn(self.lp.login_xpath).click()
            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.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 ************* ")