Ejemplo n.º 1
0
class Test_006_AddDiscount:
    baseurl = ReadConfig.getApplicationURL()
    username = ReadConfig.getUsername()
    password = ReadConfig.getpasswordL()
    logger = logGen.loggen()

    @pytest.mark.regression
    def test_AddDiscount(self, setup):
        self.logger.info("******** Test_006_AddDiscount *********")
        self.logger.info(
            "****************** Verifying Adding New Discount **********************"
        )
        self.driver = setup
        self.driver.get(self.baseurl)
        self.driver.maximize_window()
        self.obj_log = Login(self.driver)
        self.obj_log.setUsername(self.username)
        self.obj_log.setpassword(self.password)
        self.obj_log.loginbutton()

        self.logger.info("************* Login succesful **********")
        self.logger.info("******* Starting Adding New Discount **********")

        self.obj_New_Discount = AddDiscountPage(self.driver)
        self.obj_New_Discount.clickonPromotion()
        self.obj_New_Discount.clickonDiscounts()
        self.obj_New_Discount.clickonAddnewButton()
        self.obj_New_Discount.enterName('TestOnceEcommerce')
        self.obj_New_Discount.selectDiscounttype('Assigned to products')
        self.obj_New_Discount.enterDiscountAmt('10')
        self.obj_New_Discount.enterStartDate('7/05/2019')
        self.obj_New_Discount.enterEndDate('7/05/2022')
        self.obj_New_Discount.selectDiscountLimit('Unlimited')
        self.obj_New_Discount.enterMaximumDiscountQuatity('5')
        self.obj_New_Discount.enterAdminComment('Adding comment')
        self.obj_New_Discount.clickSaveButton()

        self.succesMsg = self.driver.find_element_by_xpath(
            "//div[@class='alert alert-success alert-dismissable']").text

        expedtedSring = 'The new discount has been added successfully.'

        if self.succesMsg.find(expedtedSring) != -1:
            self.logger.info(
                '******* Added New Discount coupan sucessfully **********')
            self.logger.info('******* Test Case Passed  **************')
            self.driver.save_screenshot(".\\Screenshots\\" +
                                        "test_AddDiscount_scr.png")
            assert True

        else:
            self.logger.info('******* Test Case Failed  **************')
            self.driver.save_screenshot(".\\Screenshots\\" +
                                        "test_AddDiscount_scr.png")
            assert False

        self.obj_log.clickLogout()
        self.driver.close()
Ejemplo n.º 2
0
class Test_DDT_Login:
    baseURL = ReadConfig.getAppURL()  # using readProperties from utilities
    path = "..//TestData/Test_login.xlsx"

    log = LogGen.loggen()
    log.info('Start logs')

    def test_02_DDT_login(self, setup):

        self.driver = setup
        self.driver.get(self.baseURL)
        self.lp = Login(self.driver)

        self.rows = ExcelUtil.getRowCount(self.path, "Sheet1")
        print("total rows", self.rows)

        lst_status = []

        for r in range(2, self.rows+1):

            self.username = ExcelUtil.readData(self.path, "Sheet1", r, 1)
            self.password = ExcelUtil.readData(self.path, "Sheet1", r, 2)
            self.exp = ExcelUtil.readData(self.path, "Sheet1", r, 3)

            self.lp.enterUsername(self.username)
            self.lp.enterPassword(self.password)
            self.lp.clickLogin()
            time.sleep(5)

            chk_login = self.driver.title
            if chk_login == "Dashboard / nopCommerce administration":
                if self.exp=='Pass':
                    self.lp.clickLogout()
                    lst_status.append("Pass")
                elif self.exp =='Fail':
                    self.lp.clickLogout()
                    lst_status.append("Failed")


                if chk_login != "Dashboard / nopCommerce administration":

                    if self.exp == 'Pass':

                        lst_status.append("Failed")
                    elif self.exp == 'Fail':

                        lst_status.append("Pass")

        if "Fail" not in lst_status:
            print("Test Success")
            ExcelUtil.writeData(self.path, "Sheet1", 6, 4, "Accepted")
            self.driver.close()

        else:
            print("Test Failed")
            ExcelUtil.writeData(self.path, "Sheet1", 6, 4, "Failed")
            self.driver.close()
Ejemplo n.º 3
0
class Test_002_DDT_Login:
    baseurl = ReadConfig.getApplicationURL()
    path = ".\\TestData\\LoginTestData.xlsx"
    logger = logGen.loggen()

    @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.driver.maximize_window
        self.obj_log = Login(self.driver)

        self.rows = XLUtils.getRowCount(self.path, 'Sheet1')
        print(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.expected = XLUtils.readData(self.path, 'Sheet1', r, 3)
            self.obj_log.setUsername(self.user)
            self.obj_log.setpassword(self.password)
            self.obj_log.loginbutton()
            time.sleep(5)
            act_title = self.driver.title
            exp_title="Dashboard / nopCommerce administration"

            if act_title==exp_title:
                if self.expected=='Pass':
                    self.logger.info("*** Passed ***")
                    self.obj_log.clickLogout()
                    lst_status.append("Pass")
                    XLUtils.writeData(self.path, 'Sheet1', r, 4, 'Pass')
                elif self.expected=='Fail':
                    self.logger.info("*** Failed ***")
                    self.obj_log.clickLogout()
                    lst_status.append("Fail")
            elif act_title!=exp_title:
                if self.expected=='Pass':
                    self.logger.info("*** Failed ***")
                    lst_status.append("Fail")
                    XLUtils.writeData(self.path, 'Sheet1', r, 4, 'Fail')
                elif self.expected=='Fail':
                    self.logger.info('*** Passed ***')
                    lst_status.append("Pass")
                    XLUtils.writeData(self.path, 'Sheet1', r, 4, 'Pass')
        if "Fail" not in lst_status:
            self.logger.info('*** Data Driven Test is Passed ***')
            self.driver.close
            assert True
        else:
            self.logger.info('*** Data Driven Test is Failed ***')
            self.driver.close
            assert False
Ejemplo n.º 4
0
class Test_002_Login:
    # baseUrl = "https://admin-demo.nopcommerce.com/"
    # username = "******"
    # password = "******"

#Now we getting the hardcoded values using readproperties.py file
    baseUrl = ReadConfig.getApplicationUrl()
    path = ".//TestData/LoginData.xlsx"
    # username = ReadConfig.getUsername() #No need because it will came from excel
    # password = ReadConfig.getPassword() #No need because it will came from excel

    logger = LogGen.loggen()



    def test_login_ddt(self,setup):
        self.logger.info("***************test_login started DDT test***************")
        self.logger.info("***************test_login started***************")
        self.driver = setup
        self.driver.get(self.baseUrl)
        #Create an object to call class of LoginPage from Page Object class
        self.lp = Login(self.driver)

        #excel utils code

        self.rows = XLUtils.getRowCount(self.path, 'Sheet1')
        print("No of rows in excel", self.rows)

        lst_status = [] #Empty List variable we need to create
        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.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("**********DDT Test is Passed**********")
                    self.lp.clickLogout()

                    lst_status.append("Pass")
                    time.sleep(5)

                elif self.exp == "Fail":
                    self.logger.info("**********DDT Test Case Failed**********")
                    lst_status.append("Fail")
                    self.driver.close()
                    time.sleep(5)
Ejemplo n.º 5
0
class Test_003_AddCustomer:
    baseurl = ReadConfig.getApplicationURL()
    username = ReadConfig.getUsername()
    password = ReadConfig.getpasswordL()
    logger = logGen.loggen()


    @pytest.mark.sanity
    def test_AddCustomer(self, setup):
        self.logger.info("******** Test_003_AddCustomer *********")
        self.logger.info("****************** Verifying Adding New Customer **********************")
        self.driver = setup
        self.driver.get(self.baseurl)
        self.driver.maximize_window
        self.obj_log = Login(self.driver)
        self.obj_log.setUsername(self.username)
        self.obj_log.setpassword(self.password)
        self.obj_log.loginbutton()
        self.logger.info("************* Login succesful **********")
        self.logger.info("******* Starting Add Customer Test **********")

        self.addcust = AddCustomer(self.driver)
        self.addcust.clickOnCustomersMenu()
        self.addcust.clickOnCustomersMenuItem()
        self.addcust.clickOnAddnew()
        self.logger.info("******* Adding New Customer *******")

        self.email = random_generator() + '@gmail.com'
        self.addcust.setEmail(self.email)
        self.addcust.setPassword("test123")
        self.addcust.setCustomerRoles("Guests")
        self.addcust.setManagerOfVendor("Vendor 2")
        self.addcust.setGender("Male")
        self.addcust.setFirstName("Sai")
        self.addcust.setLastName("Kiran")
        self.addcust.setDob("7/05/1985")  # Format: D / MM / YYY
        self.addcust.setCompanyName("busyQA")
        self.addcust.setAdminContent("This is for 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

        if 'customer has been added successfully.' in self.msg:
            self.logger.info("********* Add customer Test Passed *********")
            assert True
        else:
            self.driver.save_screenshot(".\\Screenshots\\" + "test_addCustomer_scr.png")  # Screenshot
            self.logger.error("********* Add customer Test Failed ************")
            assert False
        self.obj_log.clickLogout()
Ejemplo n.º 6
0
class Test_001:
    Url = ReadConfig.getApplicationURL()
    username = ReadConfig.getUserename()
    Password = ReadConfig.getPassword()

    logger = logGen.loggen()

    def test_HomepageTitle(self, setup):

        self.logger.info("*******Test_001************")
        self.logger.info("**********verify HomepageTitle started*********")
        self.driver = setup
        self.driver.get(self.Url)
        self.driver.maximize_window()
        act_title = self.driver.title

        if act_title == "Your store. Login":
            self.driver.close()
            assert True
            self.logger.info("**********verified HomepageTitle*********")
        else:
            self.driver.save_screenshot(".\\Screenshots\\" +
                                        "test_HomepageTitle.png")
            self.driver.close()
            self.logger.error("********** HomepageTitle failed*********")
            assert False

    def test_login(self, setup):

        self.logger.info("*******Test_001************")
        self.logger.info("**********verify test_login started*********")
        self.driver = setup
        self.driver.get(self.Url)
        self.driver.maximize_window()

        self.dl = Login(self.driver)
        self.dl.setUserName(self.username)
        self.dl.setPassword(self.Password)
        self.dl.clickLogin()
        act_title = self.driver.title

        if act_title == "Dashboard / nopCommerce administration":
            self.dl.clickLogout()
            self.driver.close()
            assert True
            self.logger.info("**********verified loggedin*********")
        else:
            self.driver.save_screenshot(".\\Screenshots\\" + "test_login.png")
            self.dl.clickLogout()
            self.driver.close()
            self.logger.error("**********failed loggedin*********")
            assert False
Ejemplo n.º 7
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.driver = setup
        self.driver.get(self.baseUrl)
        self.driver.maximize_window()
        self.lp = Login(self.driver)

        self.rows = XLUtils.getRowCount(self.path, 'Sheet1')

        print('No: of rows: ', self.rows)

        lst_status = []
        for r in range(2, self.rows + 1):
            self.user = XLUtils.getReadData(self.path, 'Sheet1', r, 1)
            self.password = XLUtils.getReadData(self.path, 'Sheet1', r, 2)
            self.exp = XLUtils.getReadData(self.path, 'Sheet1', r, 3)
            time.sleep(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.lp.clickLogout()
                    lst_status.append('Pass')

                elif self.exp == 'Fail':
                    self.lp.clickLogout()
                    lst_status.append('Fail')

            elif act_title != exp_title:
                if self.exp == 'Pass':
                    self.lp.clickLogout()
                    lst_status.append('Fail')

                elif self.exp == 'Fail':
                    self.lp.clickLogout()
                    lst_status.append('Pass')

        if 'Fail' not in lst_status:
            self.driver.close()

            assert True
        else:
            self.driver.close()
            assert False
Ejemplo n.º 8
0
class Test_001_DDT_Login:
    baseURL = ReadConfig.getApplicationURL()
    path = ".//TestData/LoginData.xlsx"

    logger = LogGen.loggen()

    def test_login_ddt(self, setup):
        self.driver = setup
        self.driver.get(self.baseURL)
        self.lp = Login(self.driver)

        self.rows = XLUtils.getRowCount(self.path, 'Sheet1')
        print("Number of Rows in a Exel: ", 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, 1)
            self.exp = XLUtils.readData(self.path, 'Sheet1', r, 3)

            self.lp.setUserName(self.user)
            self.lp.setPassword(self.password)
            self.lp.clickLogin()
            time.sleep(5)
            actual_title = self.driver.title
            print(r)

            if actual_title == "Dashboard / nopCommerce administration":
                if self.exp == "Pass":
                    assert True
                    self.lp.clickLogout()
                    lst_status.append("Pass")

            elif actual_title != "Dashboard / nopCommerce administration":
                if self.exp == 'Fail':
                    lst_status.append("Pass")

            if "Fail" not in lst_status:
                assert True
                self.driver.close()
            else:
                assert False
                self.driver.close()
Ejemplo n.º 9
0
 def test_Login(self, setup):
     self.driver = setup
     self.driver.get(rConf.getapplicationURL())
     lp = Login(self.driver)
     lp.setUserName(rConf.getusername())
     lp.setPassword(rConf.getpassword())
     lp.clickLogin()
     act_pageTitle = self.driver.title
     lp.clickLogout()
     self.driver.close()
     if act_pageTitle == "Dashboard / nopCommerce administration":
         self.logger.info(
             " **************** Login test passed **************** ")
         assert True
     else:
         self.logger.info(
             "**************** Login test failed ****************")
         assert False
Ejemplo n.º 10
0
    def test_Login_ddt(self, setup):
        self.driver = setup
        self.driver.get(rConf.getapplicationURL())
        lp = Login(self.driver)

        rowcount = xcelutils.getRowCount(self.path, "Sheet1")
        test_status = []
        for r in range(2, rowcount + 1):
            username = xcelutils.readData(self.path, "Sheet1", r, 1)
            password = xcelutils.readData(self.path, "Sheet1", r, 2)
            exp = xcelutils.readData(self.path, "Sheet1", r, 3)
            lp.setUserName(username)
            lp.setPassword(password)
            lp.clickLogin()
            time.sleep(5)
            act_pageTitle = self.driver.title
            if act_pageTitle == "Dashboard / nopCommerce administration":
                if exp == "Pass":
                    lp.clickLogout()
                    test_status.append("Pass")

                elif exp == "Fail":
                    lp.clickLogout()
                    test_status.append("Fail")

            elif act_pageTitle != "Dashboard / nopCommerce administration":
                if exp == "Pass":
                    test_status.append("Fail")

                elif exp == "Fail":
                    test_status.append("Pass")
        self.driver.close()
        print(test_status)
        if "Pass" in test_status:
            print("Test Passed")
            assert True
        else:
            print("Test Failed")
            assert False
Ejemplo n.º 11
0
class Test_002_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_Login***************"))
        self.logger.info("*****************verify login DDt test*********************")
        self.driver = setup
        self.driver.get(self.baseURL)
        self.lp = Login(self.driver)

        self.rows=XLUtils.getRowCount(self.path,'Sheet1')
        print("no.of rows in Excelsheet:",self.rows)
        list_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.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 to login****************")
                    self.lp.clickLogout()
                    list_status.append("pass")

                elif self.exp =="Fail":
                    self.logger.info("******************failed to login***********************")
                    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")

        if "Fail" not in list_status:
            self.logger.info("*******************LoginDDT test Passed************")
            self.driver.close()
            assert True

        else:
            self.logger.info("****************LoginDDt Test failed********************")
            self.driver.close()
            assert False

        self.logger.info("***************End of Login DDT Test****************")
        self.logger.info("*************completed TC_Test_002_Login******************")
Ejemplo n.º 12
0
class Test_004_SearchCustomer:
    baseURL = ReadConfigProperty.getapplicationURL()
    username = ReadConfigProperty.getusername()
    password = ReadConfigProperty.getpassword()

    @pytest.mark.sanity
    @pytest.mark.regression
    def test_searchCustomerByEmail(self,setup):
        self.driver = setup
        self.driver.get(self.baseURL)
        self.driver.maximize_window()

        self.lp = Login(self.driver)
        self.lp.setUserName(self.username)
        self.lp.setPassword(self.password)
        self.lp.clickLogin()

        self.cust = AddNewCustomer(self.driver)
        self.cust.clickOnCustomersMenu()
        self.cust.clickOnCustomersMenuItem()

        self.search = SearchCustomer(self.driver)
        self.search.setEmail("*****@*****.**")
        self.search.clickSearch()
        time.sleep(3)

        if self.search.searchByEmail("*****@*****.**") :
            assert True
            print("Email found Successfully")
        else:
            assert False
            print("Email not found")

        self.lp.clickLogout()
        self.driver.close()

    @pytest.mark.regression
    def test_searchCustomerByName(self,setup):
        self.driver = setup
        self.driver.get(self.baseURL)
        self.driver.maximize_window()

        self.lp = Login(self.driver)
        self.lp.setUserName(self.username)
        self.lp.setPassword(self.password)
        self.lp.clickLogin()

        self.cust = AddNewCustomer(self.driver)
        self.cust.clickOnCustomersMenu()
        self.cust.clickOnCustomersMenuItem()

        self.search = SearchCustomer(self.driver)
        self.search.setFirstName("James")
        self.search.setLastName("pan")
        self.search.clickSearch()
        time.sleep(3)

        if self.search.searchCustomerByName("James Pan") :
            assert True
            print("Name found Successfully")
        else:
            assert False
            print("Name not found")

        self.lp.clickLogout()
        self.driver.close()
Ejemplo n.º 13
0
class Test_002_ddt_Login:
    baseURL = ReadConfig.getApplicationURL()
    path = ".//Test Data/LoginData.xlsx"
    logger = LogGen.loggen()

    @pytest.mark.regression
    def test_login_ddt(self, setUp):
        self.logger.info("***********TestLogin DDT02**************")
        self.logger.info(
            "*****************Verifying Login DDT Test***************")
        self.driver = setUp
        self.driver.get(self.baseURL)
        self.lp = Login(self.driver)

        self.rows = XLUtilities.getRowCount(self.path, 'Sheet1')
        print("Number of rows in a excel", self.rows)

        lst_status = []  # Empty list

        for r in range(2, self.rows + 1):
            self.user = XLUtilities.readData(self.path, 'Sheet1', r, 1)
            self.password = XLUtilities.readData(self.path, 'Sheet1', r, 2)
            self.exp = XLUtilities.readData(self.path, 'Sheet1', r, 3)
            print(self.user)
            print(self.password)

            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(
                        "*****************Login test is passed.***************"
                    )
                    self.lp.clickLogout()
                    time.sleep(10)
                    lst_status.append("Pass")

                elif self.exp == "Fail":
                    self.logger.info("***************Failed**************")
                    self.lp.clickLogout()
                    time.sleep(10)
                    lst_status.append("Fail")

            elif act_title != exp_title:
                if self.exp == "Pass":
                    self.logger.info(
                        "*****************Login test is Failed.***************"
                    )
                    time.sleep(10)
                    lst_status.append("Fail")

                elif self.exp == "Fail":
                    self.logger.info(
                        "***************Login test is Passed**************")
                    time.sleep(10)
                    lst_status.append("Pass")

        if "Fail" not in lst_status:
            self.logger.info("Login ddt is passed")
            print("Login ddt is passed")
            self.driver.close()
            assert True
        else:
            self.logger.info("Login ddt is Failed")
            print("Login ddt is failed")
            self.driver.close()
            assert False

        self.logger.info("-------End of Login DDT Test-------")
        self.logger.info("-------Completed TC_LoginDDT_002")
Ejemplo n.º 14
0
class Test_002_DDT_Login():
    baseURL = readConfig.getApplicationURL()
    path=".//testData/testdata.xlsx"

    logger = LogGen.loggen()


    def test_login_ddt(self, setup):
        self.logger.info("**********Test_002_DDT_Login**********")
        self.logger.info("**********Verifying Login functionality**********")
        self.driver = setup
        self.driver.get(self.baseURL)

        self.lp = Login(self.driver)

        self.rows=excelutils.getRowCount(self.path,'Sheet1')
        print("No of rows in an exel= ",self.rows)

        lst_stats=[]

        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("Pass")
                    self.lp.clickLogout()
                    lst_stats.append("Pass")
                elif self.exp=="Fail":
                    self.logger.info("Fail")
                    self.lp.clickLogout()
                    lst_stats.append("Fail")

            if act_title!=exp_title:
                if self.exp=="Pass":
                    self.logger.info("Fail")
                    self.lp.clickLogout()
                    lst_stats.append("Fail")
                elif self.exp=="Fail":
                    self.logger.info("Pass")
                    lst_stats.append("Pass")



        if "Fail" not in lst_stats:
            self.logger.info("Login DDT test is passed")
            self.driver.close()
            assert True
        else:
            self.logger.info("Login DDT test is failed")
            self.driver.close()
            assert False
Ejemplo n.º 15
0
class Test_002_DDT_Login():
    baseURL = ReadConfig.getApplicationURL()
    path = ".\\TestData\\LoginData.xlsx"
    logger = LogGen.loggen()

    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.driver.maximize_window()

        self.lp = Login(
            self.driver
        )  # Create an object of class Login to access its action methods

        self.rows = ExcelUtils.getRowCount(self.path, 'Sheet1')
        print("No. of rows:", self.rows)

        list_status = []
        # Read the data from excel
        for r in range(2, self.rows + 1):
            self.username = 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.username)
            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("********** 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 Test_002_DDT_Login **********")