class Test_001_Login:
    baseurl = rc.getApplicationUrl()
    username = rc.getUseremail()
    password = rc.getPassword()
    logger = LogGen.logGeneration()

    @pytest.mark.regression
    def test_homePageTitle(self, setup):
        self.logger.info('********** Test_001_Login **********')
        self.logger.info('********** Verifying homepage Title **********')
        self.driver = setup
        self.driver.get(self.baseurl)
        act_title = self.driver.title
        if act_title == 'Your store. Login':
            assert True
            self.driver.close()
            self.logger.info(
                '*********** homepage title test is passed *******')
        else:
            self.driver.save_screenshot(
                '.\\Screenshots\\' +
                'test_homePageTitle.png')  #(.\\-------\\) is current directory
            self.driver.close()
            self.logger.error(
                '********* homepage title test is failed *************')
            assert False

    @pytest.mark.sanity
    @pytest.mark.regression
    def test_login(self, setup):
        self.logger.info('********* Test_001_Login *******')
        self.logger.info('********* Verifying Login Test *******')
        self.driver = setup
        self.driver.get(self.baseurl)
        self.lp = LoginPage(self.driver)
        self.lp.setUserName(self.username)
        self.lp.setUserPassword(self.password)
        self.lp.clickLogin()
        act_title = self.driver.title

        if act_title == 'Dashboard / nopCommerce administration':
            assert True
            self.driver.close()
            self.logger.info('********* Login test is passed *********')
        else:
            self.driver.save_screenshot('.\\Screenshots\\' + 'test_login.png')
            self.driver.close()
            self.logger.error('********* Login test is failed ********')
            assert False
class Test_001_Login:

    base_url = ReadConfig.getApplicationUrl()
    useremail = ReadConfig.getuseremail()
    password = ReadConfig.getpassword()
    logger = LogGen.loggen()

    @pytest.mark.regression
    def test_homepagetitle(self, setup):
        self.logger.info('*****Test_001_Login*****')
        self.logger.info('*****verifying homepage title*****')
        self.driver = setup
        self.driver.get(self.base_url)
        self.lp = LoginPage(self.driver)
        act_title = self.driver.title
        if act_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()
            assert False
            self.logger.error('****** Home page title test is failed')

    @pytest.mark.sanity
    @pytest.mark.regression
    def test_login(self, setup):
        self.logger.info('****Verify login page******')
        self.driver = setup
        self.driver.get(self.base_url)
        self.lp = LoginPage(self.driver)
        self.lp.setusername(self.useremail)
        self.lp.setpassword(self.password)
        self.lp.clicklogin()
        act_title = self.driver.title
        print('ACTUAL TITLE===', act_title)
        if act_title == "Dashboard / nopCommerce administration":
            assert True
            self.logger.info('*****Login verification passed*****')
            self.driver.close()

        else:
            self.driver.save_screenshot(".\\Screenshots\\" + "test_login.png")
            self.driver.close()
            self.logger.error('*****Login verification failed*****')
            assert False
class Test_001_Login:
    baseURL = ReadConfig.getApplicationUrl()
    username = ReadConfig.getUsername()
    password = ReadConfig.getPassword()
    logger = LogGen.logGen()

    def test_homePageTitle(self, setup):
        self.logger.info("**********Test_001_Login**********")
        self.logger.info("**********verifying test_homePageTitle**********")
        self.driver = setup
        self.driver.get(self.baseURL)
        actual_title = self.driver.title
        if actual_title == "MARS Iris":
            assert True
            self.driver.close()
            self.logger.info(
                "**********verifying test_homePageTitle passed**********")
        else:
            self.driver.save_screenshot(".\\Screenshots\\" +
                                        "test_homePageTitle.png")
            self.driver.close()
            self.logger.error(
                "******************verifying test_homePageTitle failed**********"
            )
            assert False

    def test_login(self, setup):
        self.logger.info("**********verifying test_login**********")
        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()
        actual_title = self.driver.title
        if actual_title == "MARS Iris":
            assert True
            self.driver.close()
            self.logger.info("**********verifying test_login passed**********")
        else:
            self.driver.save_screenshot(".\\Screenshots\\" + "test_login.png")
            self.driver.close()
            self.logger.error(
                "**********verifying test_login failed**********")
            assert False
class Test_004_SearchCustomerByEmail:
    baseURL = ReadConfig.getApplicationUrl()
    username = ReadConfig.getUsername()
    password = ReadConfig.getPassword()

    logger = LogGen.loggen()

    def test_searchCustomerByEmail(self, setUp):
        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(
            "*******************Start searching Customer by Email**********************"
        )

        self.addcust = AddCustomer(self.driver)
        self.addcust.clickOnCustomersMenu(
        )  # only these two methods are required from addCustomerPage.py
        self.addcust.clickOnCustomersMenuItem()

        self.logger.info(
            "*******************Searching Customer by Email**********************"
        )

        # creating object of SearchCustomer class to access methods
        searchcust = SearchCustomer(self.driver)
        searchcust.setEmail("*****@*****.**")
        searchcust.clickOnSearchButton()
        time.sleep(5)
        status = searchcust.searchCustomerByEmail(
            "*****@*****.**")
        self.driver.close()
        assert True == status
        self.logger.info(
            "***************Test_004_SearchCustomerByEmail Finished*********** "
        )
Example #5
0
class Test_001_Login:

    baseUrl = ReadConfig.getApplicationUrl()
    userName = ReadConfig.getUserName()
    password = ReadConfig.getPassword()

    logger = LogGen.loggen()

    def test_homePageTitle(self, setup):
        self.logger.info("************* Test_001_Login ************")
        self.logger.info("************* Verifying Homepage 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("************* Page Title is passed ************")
        else:
            self.logger.error(
                "************* Page Title is failed ************")
            self.driver.close()
            assert False

    def test_login(self, setup):
        self.logger.info("************* Verifying Login Page ************")
        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()
        actual_title = self.driver.title
        if actual_title == "Dashboard / nopCommerce administration":
            assert True
            self.driver.close()
            self.logger.info("************* Login successful ************")
        else:
            self.driver.save_screenshot(".\\Screenshots\\" + "test_login.png")
            self.logger.error("************* Login failed ************")
            self.driver.close()
            assert False
class Test_004_SearchCustomerByName:
    baseURL = ReadConfig.getApplicationUrl()
    username = ReadConfig.getUsername()
    password = ReadConfig.getPassword()

    logger = LogGen.loggen()

    def test_searchCustomerByName(self, setUp):
        self.driver = setUp
        self.driver.get(self.baseURL)
        lp = LoginPage(self.driver)
        lp.setUsername(self.username)
        lp.setPassword(self.password)
        lp.clickLogin()

        self.logger.info(
            "*******************Login Successful**********************")
        self.logger.info(
            "*******************Start searching Customer by Name**********************"
        )

        addcust = AddCustomer(self.driver)
        addcust.clickOnCustomersMenu(
        )  # only these two methods are required from addCustomerPage.py
        addcust.clickOnCustomersMenuItem()

        self.logger.info(
            "*******************Searching Customer by Name**********************"
        )

        searchcust = SearchCustomer(self.driver)
        searchcust.setFirstName("Victoria")
        searchcust.setLastName("Terces")
        searchcust.clickOnSearchButton()
        time.sleep(5)
        status = searchcust.searchCustomerByName("Victoria Terces")
        self.driver.close()
        assert True == status
        self.logger.info(
            "***************Test_004_SearchCustomerByName Finished*********** "
        )
Example #7
0
class Test_Login():
    baseurl=ReadConfig.getApplicationUrl()
    Username=ReadConfig.getUsername()
    PassWord=ReadConfig.getPassWord()
    Usernameinvalid="admin12345"
    PassWordinvalid="admin123456"
    logger=LogGen.loggen()

    @pytest.fixture(autouse=True)
    def driversetup(self,OnetimeSetup):
        self.driver=self.value

    def test_homepage_validate(self):
        self.logger.info("###############startedt the home page test########")
        self.driver=self.value
        self.driver.get(self.baseurl)
        if self.driver.title=="OrangeHRM1":
            assert True==True
        else:
            assert  True==False
            self.logger.error('### asertion is failed')

        self.driver.close()

    def test_Loginwithvaliddata(self,):
        self.driver.get(self.baseurl)
        self.login=LoginPageObjectes(self.driver)
        self.login.setUsername(self.Username)
        self.login.setPassWord(self.PassWord)
        self.login.ClickLogin()
    def test_Loginerror(self):
        self.driver.get(self.baseurl)
        self.login = LoginPageObjectes(self.driver)
        self.login.setUsername(self.Usernameinvalid)
        self.login.setPassWord(self.PassWordinvalid)
        self.login.ClickLogin()
        time.sleep(2)
        message=self.driver.find_element_by_xpath("//*[@id='spanMessage']").text
        assert message=="Invalid credentials"
        self.driver.close()
Example #8
0
def setup(request):  # Run befor and after test case
    browserName = "chrome"

    if browserName == 'chrome':
        driver = webdriver.Chrome(ChromeDriverManager().install())

    elif browserName == 'firefox':
        driver = webdriver.Firefox(
            executable_path=GeckoDriverManager().install())

    elif browserName == 'ie':
        driver = webdriver.Ie(IEDriverManager().install())

    else:
        print("Please select the browser")

    driver.get(ReadConfig.getApplicationUrl())  # url address
    print(driver.title)
    driver.maximize_window()
    driver.delete_all_cookies()
    driver.implicitly_wait(15)
    request.cls.driver = driver
    yield
    driver.close()
Example #9
0
class Test_002_DDT_Login():
    baseURL = ReadConfig.getApplicationUrl()
    path = ".//TestData/testData_Login.xlsx"
    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 = ExcelUtils.getRowCount(self.path, 'Sheet1')
        print('Number of rows...', self.rows)
        list_status = []

        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("**** 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("******* 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 ************* ")
Example #10
0
class Test_002_Login_DDT:
    baseURL = ReadConfig.getApplicationUrl()
    path = ".//TestData/LoginData.xlsx"
    logger = LogGen.loggen()

    @pytest.mark.regression
    def testLogin_ddt(self, setUp):
        self.logger.info("****************Test_002_Login_DDT*****************")
        self.logger.info(
            "****************Verifying testLogin_ddt*****************")
        self.driver = setUp
        self.driver.get(self.baseURL)
        self.lp = LoginPage(self.driver)

        # To read no. of rows from excel
        self.rows = XLUtils.getRowCount(self.path, 'Sheet1')
        print("No. of rows in excel:", self.rows)

        Empty_list = []
        for r in range(2, self.rows + 1):
            self.excel_username = XLUtils.readData(
                self.path, 'Sheet1', r,
                1)  # 1 represent column 1 that is username in excel
            self.excel_password = XLUtils.readData(
                self.path, 'Sheet1', r,
                2)  # It will read password column and will return passwords
            self.Expected_Result = XLUtils.readData(
                self.path, 'Sheet1', r,
                3)  # It represent 3 column in excel that is status column

        # Call setUsername method from LoginPage.py and pass username and password from excel
        self.lp.setUsername(self.excel_username)
        self.lp.setPassword(self.excel_password)
        self.lp.clickLogin()
        time.sleep(5)

        act_title = self.driver.title
        exp_title = "Dashboard / nopCommerce administration"
        if act_title == exp_title:
            if self.Expected_Result == "Pass":
                self.logger.info(
                    "******************Test is passed for ddt**********************"
                )
                self.lp.clickLogout()
                Empty_list.append("Pass")

            elif self.Expected_Result == "Fail":
                self.logger.info(
                    "************************Test is Failed for ddt**************************"
                )
                self.lp.clickLogout()
                Empty_list.append("Fail")

        elif act_title != exp_title:
            if self.Expected_Result == "Pass":
                self.logger.info(
                    '**********************est is Failed for ddt****************************'
                )
                Empty_list.append("Fail")

            elif self.Expected_Result == "Fail":
                self.logger.info(
                    '***************************Test is passed for ddt******************************'
                )
                Empty_list.append('Pass')

        if "Fail" not in Empty_list:
            self.logger.info(
                "********************Test_002_Login_DDT is passed**********************"
            )
            self.driver.close()
            assert True
        else:
            self.logger.info(
                "********************Test_002_Login_DDT is failed**********************"
            )
            self.driver.close()
            assert False
Example #11
0
class Test_003_add_customer:
    baseURL = ReadConfig.getApplicationUrl()
    username = ReadConfig.getUsername()
    password = ReadConfig.getPassword()

    logger = LogGen.loggen()

    @pytest.mark.sanity
    @pytest.mark.regression
    def test_add_customer(self, setUp):
        self.logger.info(
            "*********************Login into portal************************")
        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(
            "***********************Starting addCustomer test*******************************"
        )

        # Creating object of AddCustomer class to access methods
        self.addcust = AddCustomer(self.driver)
        self.addcust.clickOnCustomersMenu()
        self.addcust.clickOnCustomersMenuItem()
        self.addcust.clickOnAddNewButton()

        self.logger.info(
            "**********************Providing Customer Info******************************"
        )

        self.email = random_generator() + "@gmail.com"
        self.addcust.setEmail(self.email)
        self.addcust.setPassword("test12345")
        self.addcust.setFirstName("Shilpa")
        self.addcust.setLastName("Chourasia")
        self.addcust.selectGender("Female")
        self.addcust.setDOB("11/12/1989")
        self.addcust.setCompanyName("QAPython")
        #self.addcust.setNewsLetter("Your store name")
        self.addcust.setCustomerRoles("Guests")
        self.addcust.setManagerOfVender("Vendor 1")
        self.addcust.setAdminComments("This is just for testing")
        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 == True
            self.logger.info(
                "******************test_add_customer test case is passed******************"
            )

        else:
            self.driver.save_screenshots(".\\Screenshots\\" +
                                         "test_add_customer.png")
            self.logger.info(
                "********************test_add_customer test case is failed******************"
            )
            assert True == False
        self.driver.close()
        self.logger.info(
            "********************Ending of Test_003_add_customer******************"
        )
class Test_003_AddCustomer:
    baseUrl = ReadConfig.getApplicationUrl()
    username = ReadConfig.getUsername()
    password = ReadConfig.getPassword()
    logger = LogGen.log_gen()

    @pytest.mark.sanity
    def test_addCustomer(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.setUsername(self.username)
        self.lp.setPassword(self.password)
        self.lp.clickLogin()
        self.logger.info("********** Login Successful **********")

        self.logger.info("********** Starting Add Customer Test **********")
        self.addCust = AddCustomer(self.driver)
        self.addCust.clickOnCustomerMenu()
        time.sleep(3)
        self.addCust.clickOnCustomerMenuItem()
        self.addCust.clickOnAddNew()

        self.logger.info("********** Providing Customer Info **********")

        self.email = random_generator() + '@gmail.com'
        self.addCust.setEmail(self.email)
        self.addCust.setPassword('Test@123')
        self.addCust.setCustomerRoles('Guests')
        self.addCust.setManagerOfVendor("Vendor 2")
        self.addCust.setGender("Male")
        self.addCust.setFirstName("Rahul")
        self.addCust.setLastName("Singh")
        self.addCust.setDOB("11/09/1980")  #Format: 'DD/MM/YY'
        self.addCust.setCompanyName("QAautomation Testing Ltd.")
        self.addCust.setAdminComment(
            "This content is added for testing purpose")

        self.addCust.clickOnSave()

        self.logger.info(
            "*********** Saving Customer Information *************")

        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 with path +name
            self.logger.info(
                "************ Add customer Test Failed *************")
            assert True == False

        self.driver.close()
        self.logger.info("********* Test Add customer is done **********")
class Test_Login_002_DDT:
    base_url = ReadConfig.getApplicationUrl()
    path = ".//TestData/LoginData.xlsx"
    username = ReadConfig.getUsername()
    password = ReadConfig.getPassword()

    logger = LogGen.log_gen()

    @pytest.mark.regression
    def test_login_ddt(self, setup):
        self.logger.info("*************** Test_Login_002_DDT *************")
        self.logger.info(
            "*************** Verifying the Login test *************")
        self.driver = setup
        self.driver.get(self.base_url)

        self.lp = LoginPage(self.driver)
        lst_status = []

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

        for r in range(2, rows + 1):
            username = ExcelUtils.readData(self.path, "Sheet1", r, 1)
            password = ExcelUtils.readData(self.path, "Sheet1", r, 2)
            expected_result = ExcelUtils.readData(self.path, "Sheet1", r, 3)
            self.lp.setUsername(username)
            self.lp.setPassword(password)
            self.lp.clickLogin()
            time.sleep(5)

            act_title = self.driver.title

            if act_title == 'Dashboard / nopCommerce administration':
                if expected_result == "Pass":
                    assert True
                    self.logger.info(
                        "*************** Login test is passed *************")
                    self.lp.clickLogout()
                    lst_status.append("Pass")
                elif expected_result == "Fail":
                    self.logger.info(
                        "*************** Login test is failed *************")
                    self.lp.clickLogout()
                    lst_status.append("Fail")
                elif act_title != 'Dashboard / nopCommerce administration':
                    if expected_result == 'Pass':
                        self.logger.info(
                            "*************** Login test is failed *************"
                        )
                        lst_status.append("Fail")
                    elif expected_result == "Fail":
                        self.logger.info(
                            "*************** Login test is Passed} *************"
                        )
                        lst_status.append("Pass")

        if "Fail" not in lst_status:
            self.logger.info("Login DDT is passsed............")
            self.driver.close()
            assert True
        else:
            self.logger.info("Login DDT is failed............")
            self.driver.close()
            assert False

        self.logger.info(" End of Login DDT test")
        self.logger.info(" Completed TC_LoginDDT_002")
class Test_002_homePage:
    baseURL = ReadConfig.getApplicationUrl()
    username = ReadConfig.getUsername()
    password = ReadConfig.getPassword()
    logger = LogGen.logGen()

    def test_succesfulLogin(self, setup):
        self.logger.info("*****Verfying Test_002_homePage*********")
        self.logger.info("*****Verfying if login successful*********")
        self.driver = setup
        self.driver.get(self.baseURL)
        loginPage = LoginPage(self.driver)
        loginPage.setUserName(self.username)
        loginPage.setPassword(self.password)
        loginPage.clickLogin()
        homepage = HomePage(self.driver)
        if homepage.isLoginSuccesful:
            assert True
            self.logger.info("**********Login Succesful**********")
            self.driver.close()
        else:
            self.logger.info("Login Failed")
            self.driver.save_screenshot(".\\Screenshots\\" +
                                        "test_successful_login.png")
            self.driver.close()
            assert False

    @pytest.mark.dashboard
    def test_dashboard_clickable(self, setup):
        self.logger.info("Verifying dashboard.")
        self.driver = setup
        self.driver.get(self.baseURL)
        loginPage = LoginPage(self.driver)
        loginPage.setUserName(self.username)
        loginPage.setPassword(self.password)
        loginPage.clickLogin()
        homePage = HomePage(self.driver)
        homePage.click('profile', self.logger)
        try:
            if self.driver.find_element(
                    By.XPATH,
                    "//span[text()='Dashboard']/parent::div").is_displayed():
                assert True
                self.logger.info("Dashboard visible.")
                self.driver.close()
            else:
                self.driver.save_screenshot(".\\Screenshots\\" +
                                            "test_dashboard_clickable.png")
                self.logger.info("Dashboard NOT visbile.")
                self.driver.close()
                assert False
        except Exception as e:
            self.logger.info(e)
            self.logger.info("Dashboard NOT clickable.")
            self.driver.save_screenshot(".\\Screenshots\\" +
                                        "test_dashboard_clickable.png")
            assert False

    @pytest.mark.logout
    def test_logout(self, setup):
        self.logger.info("Verifying logout functionality.")
        self.driver = setup
        self.driver.get(self.baseURL)
        loginPage = LoginPage(self.driver)
        loginPage.setUserName(self.username)
        loginPage.setPassword(self.password)
        loginPage.clickLogin()
        homepage = HomePage(self.driver)
        homepage.logout(self.logger)
class Test_002_DDT_Login:
    baseurl = rc.getApplicationUrl()
    path = './/TestData/DataDrive.xlsx'
    logger = LogGen.logGeneration()

    @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.lp = LoginPage(self.driver)

        self.rows = XLUtils.getRowCount(self.path, 'Sheet1')
        print('number of Rows:', self.rows)

        status_list = []

        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.setUserPassword(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 == 'test passed':
                    self.logger.info('*********  passed  ********')
                    self.lp.clickLogout()
                    status_list.append('pass')
                elif self.exp == 'test fail':
                    self.logger.info('*******  failed ********')
                    self.lp.clickLogout()
                    status_list.append('fail')

            elif act_title != exp_title:
                if self.exp == 'test passed':
                    self.logger.info('******* failed ********')
                    status_list.append('fail')
                elif self.exp == 'test fail':
                    self.logger.info('******  pass  ******')
                    status_list.append('pass')

        if 'fail' not in status_list:
            self.logger.info('############## login DDT test pass ############')
            self.driver.close()
            assert True
        else:
            self.logger.info('############ login DDT test fail ############')
            self.driver.close()
            assert False

        self.logger.info('------------- end of login DDT test  ----------')
        self.logger.info('------------- Complete login DDT test  ----------')