Ejemplo n.º 1
0
class Test_01_Login:
    base_url = ReadConfig.getApplicationURL()
    username = ReadConfig.getUserName()
    password = ReadConfig.getPassword()

    logger = LogGen.loggen()

    @pytest.mark.sanity
    def test_homepage(self, setup):
        self.logger.info(
            "********************** Test_01_Login **********************")
        self.logger.info(
            "********************** Verify Home Page Title **********************"
        )
        self.driver = setup
        self.driver.get(self.base_url)
        actual_title = self.driver.title
        if actual_title == "Your store. Login":
            assert True
            self.driver.close()
            self.logger.info(
                "********************** Home Page Title is passed **********************"
            )
        else:
            self.driver.save_screenshot(".\\screenshots\\test_homepage2.png")
            self.driver.close()
            self.logger.error(
                "********************** Home Page Title is failed **********************"
            )
            assert False

    # @pytest.mark.sanity
    @pytest.mark.regression
    def test_login(self, setup):
        self.logger.info(
            "********************** Verifying Login Test**********************"
        )
        self.driver = setup
        self.driver.get(self.base_url)
        self.lp = LoginPage(self.driver)
        self.lp.setuserName(self.username)
        self.lp.setPassword(self.password)
        self.lp.clickonlogin()
        actual_title = self.driver.title
        if actual_title == "Dashboard / nopCommerce administration":
            assert True
            self.lp.clickonlogout()
            time.sleep(2)
            self.driver.close()
            self.logger.info(
                "********************** Test Login passed **********************"
            )
        else:
            self.driver.save_screenshot(".\\screenshots\\test_login1.png")
            self.driver.close()
            self.logger.error(
                "********************** Test Login Failed **********************"
            )
            assert False
class Test_03_add_customer:
    base_url = ReadConfig.getApplicationURL()
    username = ReadConfig.getUserName()
    password = ReadConfig.getPassword()
    logger = LogGen.loggen()

    @pytest.mark.sanity
    def test_addCustomer(self, setup):
        self.logger.info("*********************** Test_03_add_customer Started *******************")
        self.driver = setup
        self.driver.get(self.base_url)
        self.driver.maximize_window()

        self.lp = LoginPage(self.driver)
        self.lp.setuserName(self.username)
        self.lp.setPassword(self.password)
        self.lp.clickonlogin()
        self.logger.info("**************** Logged In Successfully *****************")
        self.logger.info("************ Started Add Customer Test **************")

        self.addcust = AddCust(self.driver)
        self.addcust.clickOnCustomers()
        self.addcust.clickOnCustomersMenu()
        self.addcust.clickOnAddNew()

        self.email = random_generator() + "@gmail.com"
        self.addcust.setEmail(self.email)
        self.addcust.setPassword("test111")
        self.addcust.setFirstName("Ajay")
        self.addcust.setLastname("Thakur")
        self.addcust.selectGender("Male")
        self.addcust.setDOB("01/05/1989")
        self.addcust.setCompanyName("AutomationQA")
        self.addcust.setAdminComment("This is for testing ..")
        self.addcust.setCustomerRoles("Vendors")
        self.addcust.selectManagerOfVendor("Vendor 1")
        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
            self.logger.info("************* Add Customer test Passed ****************")
        else:
            self.driver.save_screenshot(".\\screenshots\\test_addCustomer.png")
            self.logger.error("**************** Add Customer Failed *****************")
            assert True

        self.driver.close()
        self.logger.info("*************** Ending Test_03_add_customer test ****************")
class Test_005SearchCustByName:
    base_url = ReadConfig.getApplicationURL()
    username = ReadConfig.getUserName()
    password = ReadConfig.getPassword()
    logger = LogGen.loggen()

    @pytest.mark.regresssion
    def test_SearchCustbyName(self, setup):
        self.logger.info(
            self.logger.info(
                "********************** Test_004 Search Cust By Name **********************"
            ))
        self.driver = setup
        self.driver.get(self.base_url)
        self.driver.maximize_window()
        self.lp = LoginPage(self.driver)
        self.lp.setuserName(self.username)
        self.lp.setPassword(self.password)
        self.lp.clickonlogin()

        self.addCust = AddCust(self.driver)
        self.addCust.clickOnCustomers()
        self.addCust.clickOnCustomersMenu()

        srhCust = SearchCustomer(self.driver)
        srhCust.setFirstName("Steve")
        srhCust.setLastName("Gates")
        srhCust.clickOnSearchButton()
        time.sleep(5)
        status = srhCust.searchByName("Steve Gates")

        if status == True:
            assert True
            self.logger.info(
                "************** Test 004 Search Cust By Name Passed ********************"
            )
        else:
            self.logger.error(
                "************** Test 004 Search Cust By Name Failed ********************"
            )
            assert False
        self.driver.close()
        self.logger.info(
            "************** Test 004 Search Cust By Name Finished ********************"
        )
Ejemplo n.º 4
0
class Test_004SearchCustByEmail:
    base_url = ReadConfig.getApplicationURL()
    username = ReadConfig.getUserName()
    password = ReadConfig.getPassword()

    logger=LogGen.loggen()


    @pytest.mark.regresssion
    def test_searchCUstomer(self, setup):
        self.logger.info("****************** Test004 Search Customer By Email ***********************")
        self.logger.info("********************** Verify Home Page Title **********************")
        self.driver = setup
        self.driver.get(self.base_url)
        self.driver.maximize_window()
        self.lp = LoginPage(self.driver)
        self.lp.setuserName(self.username)
        self.lp.setPassword(self.password)
        self.lp.clickonlogin()

        self.addCust = AddCust(self.driver)
        self.addCust.clickOnCustomers()
        self.addCust.clickOnCustomersMenu()
        self.logger.info("*************** Searching Customer By Email ID ****************")
        searchCust = SearchCustomer(self.driver)
        searchCust.setEmail("*****@*****.**")
        searchCust.clickOnSearchButton()
        time.sleep(5)
        self.status = searchCust.searchCustByEmail("*****@*****.**")
        if self.status == True:
            assert True
            self.logger.info("***************** Search Cust By Email Test Passed ******************")
        else:
            self.logger.error("***************** Search Cust By Email Test Failed ******************")
            assert False
        self.driver.close()

        self.logger.info("***************** Test 004 Search Cust By Email Test Finished ******************")
class Test_02_Login_DTT:
    base_url = ReadConfig.getApplicationURL()
    path = r"E:\SeleniumFramework\HybridFramework\PytestProject\testData\LoginTestData.xlsx"
    logger = LogGen.loggen()

    @pytest.mark.sanity
    @pytest.mark.regresssion
    # @pytest.mark.ajay
    def test_ddt_login_002(self, setup):
        self.logger.info(
            "********************** test_ddt_login_002 ***********************"
        )
        self.logger.info(
            "********************** Verifying DDT Login Test **********************"
        )
        self.driver = setup
        self.driver.get(self.base_url)

        self.lp = LoginPage(self.driver)
        self.row = XLUtily.getRowCount(self.path, 'Sheet2')
        print("No of ROws in a sheet : ", self.row)

        lst_status = []
        for r in range(2, self.row + 1):

            self.user = XLUtily.readData(self.path, 'Sheet2', r, 1)
            self.password = XLUtily.readData(self.path, 'Sheet2', r, 2)
            self.exp = XLUtily.readData(self.path, 'Sheet2', r, 3)

            self.lp.setuserName(self.user)
            self.lp.setPassword(self.password)
            self.lp.clickonlogin()
            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 Passed **************")
                    self.lp.clickonlogout()
                    lst_status.append('Pass')
                elif self.exp == "Fail":
                    self.logger.error(
                        "************* Test Failed **************")
                    self.lp.clickonlogout()
                    lst_status.append('Fail')
            elif act_title != exp_title:
                if self.exp == "Pass":
                    self.logger.error(
                        "************* Test Failed **************")
                    lst_status.append('Fail')
                elif self.exp == "Fail":
                    self.logger.info(
                        "************* Test Passed **************")
                    lst_status.append('Pass')
        print("Status : ", lst_status)
        if 'Fail' not in lst_status:
            self.logger.info(
                "************* Login Test DDT is Passed **************")
            self.driver.close()
            assert True
        else:
            self.logger.error(
                "************* Login Test DDT is Failed **************")
            self.driver.close()
            assert False
        self.logger.info("************* End Of Login DDT Test **************")
        self.logger.info(
            "************* test_ddt_login_002 Completed **************")