Exemple #1
0
class Test_001_Login:
    # config 파일에서 URL, ID, PW 정보를 가져옴
    baseURL = ReadConfig.getApplicationURL()
    username = ReadConfig.getUseremail()
    password = ReadConfig.getPassword()

    # Log 생성을 위한 인스턴스
    logger = LogGen.loggen()

    # Title 확인하는 Test
    @pytest.mark.regression
    def test_homePageTitle(self, setup):
        self.logger.info("********** Test_001_Login **********")
        self.logger.info("********** verifying home page title **********")
        self.driver = setup
        self.driver.get(self.baseURL)
        # 현재 탭의 타이틀 정보를 가져옴
        act_title = self.driver.title
        # 타이틀 정보를 이용해서 로그인 페이지가 정상적으로 열렸는지 검증
        if act_title == "로그인 - SK open API":
            assert True
            self.driver.close()
            self.logger.info(
                "********** Login page title test is passed **********")
        else:
            self.driver.save_screenshot(".\\screenshots\\" +
                                        "test_homePageTitle.png")
            self.driver.close()
            self.logger.error(
                "********** Login page title test 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.baseURL)
        self.driver.maximize_window()
        self.lp = LoginPage(self.driver)
        # ID, PW 입력
        self.lp.setUserName(self.username)
        self.lp.setPassword(self.password)
        # 로긴 버튼 클릭
        self.lp.clickLogin()
        # 대기시간 2초 설정
        time.sleep(2)
        # 로긴 후 타이틀 정보 저장
        act_title = self.driver.title
        member = self.driver.find_element_by_xpath(
            '//*[@id="tempHide"]/div[2]/ul/li[2]/div/a/span[2]').text
        if act_title == "SK open API" and member == self.username:
            assert True
            self.logger.info("********** login test is passed **********")
            self.driver.close()
        else:
            self.driver.save_screenshot(".\\screenshots\\" + "test_login.png")
            self.driver.close()
            self.logger.error("********** login test is failed **********")
            assert False
class Test_SearchCustomerByEmail_004:
    baseURL = ReadConfig.getApplicationURL()
    username = ReadConfig.getUseremail()
    password = ReadConfig.getPassword()
    logger = LogGen.loggen()  # Logger

    @pytest.mark.regression
    def test_searchCustomerByEmail(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.setUserName(self.username)
        self.lp.setPassword(self.password)
        self.lp.clickLogin()
        self.logger.info("************* Login succesful **********")

        self.logger.info("******* Starting Search Customer By Email **********")

        self.addcust = AddCustomer(self.driver)
        self.addcust.clickOnCustomersMenu()
        self.addcust.clickOnCustomersMenuItem()

        self.logger.info("************* searching customer by emailID **********")
        searchcust = SearchCustomer(self.driver)
        searchcust.setEmail("*****@*****.**")
        searchcust.clickSearch()
        time.sleep(5)
        status=searchcust.searchCustomerByEmail("*****@*****.**")
        time.sleep(2)
        self.driver.close()
        assert True==status
        self.logger.info("***************  TC_SearchCustomerByEmail_004 Finished  *********** ")
Exemple #3
0
class Test_004_SearchCutomerByEmail:
    baseURL = ReadConfig.getApplicationURL()
    username = ReadConfig.getUserEmail()
    password = ReadConfig.getUserPassword()
    logger = LogGen.loggen()


    @pytest.mark.regression
    def test_searchcutomerbyemail(self, setup):
        self.logger.info("********SearchCustomerByEmail_004 Started*********")
        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()
        time.sleep(3)
        self.logger.info("************Login Successful***************")
        self.logger.info("************Start Searching by Email***************")
        self.addcust = AddCustomer(self.driver)
        self.addcust.clickOnCustomerMenu()
        time.sleep(2)
        self.addcust.clickonCustomerMenuItem()
        self.logger.info("************Searching customer by Email***************")
        searchcust = SearchCustomer(self.driver)
        searchcust.setSearchEmail("*****@*****.**")
        searchcust.clickSearch()
        time.sleep(5)
        status = searchcust.searchCustomerByEmail("*****@*****.**")
        assert True == status
        self.logger.info("************TC Search customer by Email Finished***************")
        self.driver.close()
Exemple #4
0
class Test_001_Login:
    logger=LogGen.loggen()
    baseUrl=configure.getUrl()
    company=configure.getCompany()
    username=configure.getUsername()

    @pytest.mark.function
    def test_homePageTitle(self,setup):
        self.logger.info("**********Begin testcase: Test for good logging***********")
        self.driver=setup

        self.logger.info("Go to Treasury page")
        self.driver.get(self.baseUrl)
        self.driver.maximize_window()
        self.lp=Login(self.driver)
        self.logger.info("Enter company name:")
        self.lp.setCompany(self.company)
        #time.sleep(2)
        self.logger.info("Enter username:"******"Click Login button:")
        self.lp.clickLogin()
        #time.sleep(1)
        if self.driver.title=="Trace & Treasury":
            self.logger.info("Goed loging")
            assert True,"Succesfully Login Tresury"
            self.driver.quit()
        else:
            self.logger.info("Wrong username or companyname")
            self.driver.quit()
            assert False,"Wrong CompanyName or UserName"
class Test_SearchCustomerByEmail_004:
    baseURL = ReadConfig.getApplicationURL()
    userName = ReadConfig.getUserName()
    password = ReadConfig.getPassword()
    logger = LogGen.loggen()

    @pytest.mark.regression
    def test_searchCustomerByEmail(self, setup):
        self.logger.info(
            "***************SearchCustomerByEmail_004*************")
        self.driver = setup
        self.driver.get(self.baseURL)
        self.driver.maximize_window()

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

        self.logger.info(
            "***********Starting Search Customer By Email**********")
        self.addCust = AddCustomer(self.driver)
        self.addCust.clickCustomersMenu()
        self.addCust.clickCustomersMenuItem()

        self.logger.info("************Seach Customer By Email Id********")
        searchCust = SearchCustomer(self.driver)
        searchCust.setEmail("*****@*****.**")
        searchCust.clickSearchButton()
        time.sleep(5)
        status = searchCust.searchCustomerByEmail("*****@*****.**")
        assert True == status
        self.logger.info(
            "********** TC_SearchCustomerByEmail_004 Finished ************")
        self.driver.close
Exemple #6
0
class Test_SearchCustomerByName_005:
    baseURL = "https://admin-demo.nopcommerce.com/"
    username = "******"
    password = "******"
    logger = LogGen.loggen()  # Logger

    @pytest.mark.regression
    def test_searchCustomerByName(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.setUserName(self.username)
        self.lp.setPassword(self.password)
        self.lp.clickLogin()
        self.logger.info("************* Login succesful **********")

        self.logger.info("******* Starting Search Customer By Name **********")

        self.addcust = AddCustomer(self.driver)
        self.addcust.clickOnCustomersMenu()
        self.addcust.clickOnCustomersMenuItem()

        self.logger.info("************* searching customer by emailID **********")
        searchcust = SearchCustomer(self.driver)
        searchcust.setFirstName("Victoria")
        searchcust.setLastName("Terces")
        searchcust.clickSearch()
        time.sleep(5)
        status=searchcust.searchCustomerByName("Victoria Terces")
        assert True==status
        self.logger.info("***************  TC_SearchCustomerByName_005 Finished  *********** ")
        self.driver.close();
Exemple #7
0
class Test_005_SearchCustomerByName:
    baseURL = ReadConfig.getApplicationURL()
    username = ReadConfig.getUserEmail()
    password = ReadConfig.getPassword()
    logger = LogGen.loggen()

    @pytest.mark.regression
    def test_searchCustomerByName(self, setup):
        self.logger.info("***** ***** TEST_005 Search Customer By Name ***** *****")
        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.logger.info("***** Login Successful *****")

        self.logger.info("***** Starting Search Customer By Name *****")

        self.adcust = AddCustomer(self.driver)
        self.adcust.clickOnCustomersMenu()
        self.adcust.clickOnCustomersMenuItem()

        searchcust = SearchCustomer(self.driver)
        searchcust.setFirstName("Victoria")
        searchcust.setLastName("Terces")
        searchcust.clickSearch()
        time.sleep(5)
        status = searchcust.searchCustomerByName("Victoria Terces")
        assert status == True
        self.logger.info("***** ***** TEST_005 Search Customer By Name Finished ***** *****")
        self.driver.close()
Exemple #8
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("**********Test_002_DDT_Login**********")
        self.logger.info("*****Verifying Login Test*****")
        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 EXcel:", self.rows)

        lst_status = []

        for row in range(2, self.rows + 1):
            self.user = XLUtils.readData(self.path, 'Sheet1', row, 1)
            self.password = XLUtils.readData(self.path, 'Sheet1', row, 2)
            self.exp = XLUtils.readData(self.path, 'Sheet1', row, 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()
                    lst_status.append("Pass")
                elif self.exp == "Fail":
                    self.logger.info("**Failed**")
                    self.lp.clickLogout()
                    lst_status.append("fail")

            elif act_title != exp_title:
                if self.exp == "Pass":
                    self.driver.save_screenshot(".\\screenshots\\" +
                                                "test_login_ddt.png")
                    self.logger.info("**Failed**")
                    lst_status.append("Fail")
                elif self.exp == "Fail":
                    self.logger.info("**Passed**")
                    lst_status.append("Pass")

        if "Fail" not in lst_status:
            self.logger.info("Login DDT test Passed.......")
            self.driver.close()
            assert True
        else:
            self.logger.error("Login DDT test Failed.......")
            self.driver.close()
            assert False

        self.logger.info("***** End of Login DDT Test *****")
        self.logger.info("***** ***** Completed TC_LoginDDT_002 ***** *****")
Exemple #9
0
class Test_002_SearchIphone5:
    logger = LogGen.loggen()

    def test_searchIphone(self, setup):
        self.logger.info("***** Test Test_002_SearchIphone11 Start *****")
        self.driver = setup
        time.sleep(9)
        self.logger.info("***** Login Begins *****")

        # Create a variable to access LoginPage.py
        self.lp = LoginPage(self.driver)
        time.sleep(9)
        self.lp.clickButtonLanguage()
        time.sleep(9)
        self.lp.clickButtonContinue()
        time.sleep(9)
        self.lp.clickX()
        time.sleep(9)

        # create variable to access SearchIphonePage.py
        self.logger.info("***** Iphone Search begins *****")
        self.si = SearchIphone(self.driver)
        time.sleep(13)
        self.si.iphoneSearchBox('iphone 11')
        time.sleep(13)
        self.logger.info("***** Search Iphone *****")
        self.si.clickIcon()
        time.sleep(13)
        self.si.clickAlert()
        time.sleep(13)
        self.logger.info("***** Click Alert Message *****")
        self.logger.info("***** Ending Search Iphone 11 *****")
        self.logger.info("***** Test Test_002_SearchIphone11 Completed *****")
Exemple #10
0
class Test_searchProductsByName_007:
    baseURL = ReadConfig.getApplicationURL()
    username = ReadConfig.getUserEmail()
    password = ReadConfig.getPassword()
    logger = LogGen.loggen()  # Logger
    product_name = "Nike"  # Variable for product you want to search

    def testSearchProductsByName(self, setup):
        self.logger.info(
            "************* TC_searchProductsByName_007 **********")
        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(
            "************* Navigating to Products Page **********")
        self.pp = PageProducts(self.driver)
        self.pp.clickCatalog()
        self.driver.implicitly_wait(2)
        self.pp.clickProducts()
        self.pp.setProductName(self.product_name)
        self.pp.clickSearch()
        self.logger.info("************* Search for product **********")
        flag = self.pp.searchProductByName(self.product_name)
        assert flag
        self.driver.close()
        self.logger.info(
            "************* TC_searchProductsByName_007 Finished **********")
class TestSearch_004(BaseClass):
    baseURL = ReadConfig.getApplicationURL()

    Email = ReadConfig.getEmail()

    Password = ReadConfig.getPassword()

    searchEmail = ReadConfig.getsearchEmail()

    logger = LogGen.loggen()

    def test_searchgCustomer(self, setup):

        self.lp = Login(self.driver)

        self.lp.doLogin(self.Email, self.Password)

        self.addCust = addCustomer(self.driver)

        self.addCust.clickCustomers()

        self.addCust.clickCustomersMenu()

        self.search = searchCustomer(self.driver)

        self.search.setEmail(self.searchEmail)

        self.search.clickSearch()

        getEmail = self.search.searchByEmail(self.searchEmail)

        assert self.searchEmail == getEmail
class Test_case_002_ddt_Login:
    base_url = Readconfig.get_application_url()
    path = ".//TestData/LoginData.xlsx"
    logger = LogGen.loggen()

    def test_login(self, setup):
        self.logger.info("**** Test case 002 DDT Login ****")
        self.logger.info("**** verifying test login ****")
        self.driver = setup
        self.driver.get(self.base_url)
        self.lp = LoginPage(self.driver)

        #must obtain data from .xlsx

        self.rows = XLUtils.get_row_count(self.path, "Hoja 1")
        print("Number of rows in the Excel: ", self.rows)

        list_status = []

        for r in range(2, self.rows + 1):
            self.user = XLUtils.read_data(self.path, 'Hoja 1', r, 1)
            self.password = XLUtils.read_data(self.path, 'Hoja 1', r, 2)
            self.exp = XLUtils.read_data(self.path, 'Hoja 1', r, 3)

            self.lp.setUsername(self.user)
            self.lp.setPassword(self.password)
            self.lp.clickLogin()
            time.sleep(5)

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

            if actual_title == expected_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 actual_title != expected_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("**** 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 Test case 002 DDT Login ****")
        self.logger.info("**** Test case 002 DDT Login COMPLETED ****")
Exemple #13
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(" ************* Test__002__DDT__Login*********** ")
        self.logger.info(" ******************** Veryfying after login ddt test title *************** ")
        self.driver = setup
        self.driver.get(self.baseURL)
        self.lp = LoginPage(self.driver)

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

        lst_status = [] #empty list variable
        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 *********")
                    self.lp.clickLogout()
                    lst_status.append("Pass")
                elif self.exp == "Fail":
                    self.logger.info(" ****** Failed *******")
                    self.lp.clickLogout()
                    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")

        if "Fail" not in lst_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 TC_LOGINDDT_002 Test ********")
Exemple #14
0
class Test_002_DDT_Login:
    baseURL = ReadConfig.getApplicationURL()
    dataPath = ".//TestData/LoginData.xlsx"

    logger = LogGen.loggen()

    @pytest.mark.regression
    def test_login(self, setup):
        self.logger.info("************** Test_002_DDT_Login **************")
        self.logger.info("************** Verifying test_login **************")
        self.driver = setup
        self.driver.get(self.baseURL)
        self.lp = LoginPage(self.driver)
        self.numOfTests = XLUtils.gerRowCount(self.dataPath, "Sheet1")

        test_status_lst = []
        for data in range(2,self.numOfTests+1):
            self.user = XLUtils.readData(self.dataPath, "Sheet1", data, 1)
            self.pwd = XLUtils.readData(self.dataPath, "Sheet1", data, 2)
            self.exp = XLUtils.readData(self.dataPath, "Sheet1", data, 3)

            self.lp.setUsername(self.user)
            self.lp.setPassword(self.pwd)
            self.lp.clickLogin()
            time.sleep(5)

            act_title = self.driver.title
            exp_title = "Dashboard / nopCommerce administration"

            print("Data %: % %", data, self.user, self.pwd)

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


        if "Fail" not in test_status_lst:
            self.logger.info("DDT Test is Pass")
            self.driver.close()
            assert True
        else:
            self.logger.info("DDT Test is Fail")
            self.driver.close()
            assert False

        self.logger.info(" ********** End of Login DDT Test **********")
        self.logger.info(" *************** Completed TC_LoginDDT_002 **************")
Exemple #15
0
class Test_001_Login:
    # Config.ini -> Utilities -> Read common properties
    # If config info is change, please update in config.ini file
    baseURL = ReadConfig.getApplicationURL()
    username = 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 Home Page Title ****************")
        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 is passed ****************"
            )
            self.driver.close()
            assert True

        else:
            # Fail test case
            self.logger.error(
                "**************** Home page title test is failed ****************"
            )
            self.driver.save_screenshot("./Screenshots/test_homePageTitle.png")
            self.driver.close()

            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.baseURL)
        self.lp = LoginPage(self.driver)
        self.lp.setUserName(self.username)
        self.lp.setPassword(self.password)
        self.lp.clickLogin()
        act_title = self.driver.title
        if act_title == "Dashboard / nopCommerce administration":
            self.logger.info(
                "**************** Login test is passed ****************")
            self.driver.close()
            assert True

        else:
            # Fail test case
            self.logger.error(
                "**************** Login test is failed ****************")
            self.driver.save_screenshot("./Screenshots/test_login.png")
            self.driver.close()
            assert False
Exemple #16
0
class Test_002_DDT_Login():
    baseURL = ReadConfig.getApplicationURL()
    path = "TestData/LoginData.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 = XLUtils.getRowCount(self.path, 'Sheet1')
        print('Number of rows...',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.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()
                    lst_status.append("Pass")
                elif self.exp=='Fail':
                    self.logger.info("**** failed ****")
                    self.lp.clickLogout()
                    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 ************* ")
class Test_005_Customer_Search:
    baseURL = ReadConfig.get_base_url()
    username = ReadConfig.get_username()
    password = ReadConfig.get_password()
    logger = LogGen.loggen()

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

        login_page_obj = LoginPage(self.driver)
        login_page_obj.set_login_username(self.username)
        login_page_obj.set_login_password(self.password)
        login_page_obj.click_login_button()

        self.customer_page_obj = AddCustomer(self.driver)
        self.customer_page_obj.click_menu_link_customers()
        self.customer_page_obj.click_menu_item_link_customers()

        self.customer_search_obj = CustomerSearch(self.driver)
        self.customer_search_obj.set_email("*****@*****.**")
        self.customer_search_obj.search_email(
            "*****@*****.**")

        self.customer_search_obj.set_first_name("Victoria")
        self.customer_search_obj.set_last_name("Terces")

        self.customer_search_obj.search_first_name("Victoria Terces")
class Test_004_SearchCustomer:
    base_url = ReadConfig.getApplicationUrl()
    user_name = ReadConfig.getuseremail()
    password = ReadConfig.getpassword()
    logger = LogGen.loggen()

    @pytest.mark.regression
    def test_searchcustomer(self, setup):
        # self.logger.info("******Test_004_SearchCustomer Started*******")
        # self.logger.info("*****Login Home Page*****")

        self.driver = setup
        self.driver.get(self.base_url)
        self.driver.maximize_window()

        self.lp = LoginPage(self.driver)
        self.lp.setusername(self.user_name)
        self.lp.setpassword(self.password)
        self.lp.clicklogin()

        # self.logger.info("*****Login HomePage Successfully*****")
        self.addcust = AddCustomer(self.driver)
        self.addcust.clickOnCustomersMenu()
        self.addcust.clickOnCustomersMenuItem()

        # self.logger.info("*****Search Customer Started******")
        self.search_cust = SearchCustomer(self.driver)
        self.search_cust.setfirstname("brenda")
        self.search_cust.setlastname("lindgren")
        self.search_cust.clickonsearch()
        time.sleep(5)
        status = self.search_cust.searchbyname("Brenda Lindgren")
        assert True == status
        self.logger.info("******Test_004_SearchCustomer End*******")
        self.driver.close()
Exemple #19
0
class Test_1:
    base_url = siteconfig.getsiteURl()
    base_xpath = siteconfig.getfooterXPATH()
    logger = LogGen.loggen()

    def test_footer_links(self, setup):
        self.logger.info("*************** footer links test started **************")
        driver = setup
        driver.get(self.base_url)
        driver.maximize_window()
        time.sleep(3)
        footers = Footer(driver)
        footer_xpath = footers.footer_links_xpath(self.base_xpath)
        time.sleep(3)
        df = {
            "S.no": [],
            "Link_name": [],
            "XPATH": [],
            "URL": [],
            "Directed URL": [],
            "Validation": []
        }
        result = []
        for n, i in enumerate(footer_xpath):
            footer = driver.find_element_by_xpath(i)
            footer.location_once_scrolled_into_view
            href = footer.get_attribute("href")
            text = footer.get_attribute("text")
            try:
                footer.click()
            except ElementNotInteractableException as e:
                self.logger.info("**************** {} ************".format(e))
                self.logger.info("************  {} footer failed *********".format(text))
                df["Validation"].append("failed")
                result.append("failed")
            else:
                current_url = driver.current_url
                time.sleep(1)
                driver.back()
                df["Validation"].append("passed")
                self.logger.info("************ {} footer passed *********".format(text))
                result.append("passed")
            finally:
                df["S.no"].append(n + 1)
                df["Link_name"].append(text)
                df["URL"].append(href)
                df["Directed URL"].append(current_url)
                df["XPATH"].append(i)
        
        Data = pd.DataFrame(df, index=df["S.no"])
        output = pd.ExcelWriter(".//reports/footers_links_validation.xlsx")
        Data.to_excel(output)
        output.save()

        if "failed" not in result:
            assert True
        else:
            assert False
            
        driver.close()
class Test_004_SearchcustomerbyEmail:
    baseURL = ReadConfig.getApplicationURL()
    username = ReadConfig.getUserEmail()
    password = ReadConfig.getPassword()

    logger = LogGen.loggen()

    @pytest.mark.regression
    def test_searchcustomerbyemail(self, setUp):
        self.logger.info("SearchCustomer")
        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("Search Customer by Email")

        self.addcust = AddCustomer(self.driver)
        self.addcust.clickOnCustomersMenu()
        self.addcust.clickOnCustomerMenuItem()

        searchcust = SearchCustomer(self.driver)
        searchcust.setEmail("*****@*****.**")
        searchcust.clickSearch()
        time.sleep(5)
        status = searchcust.searchCustomerByEmail("*****@*****.**")
        assert True == status

        self.logger.info("End of search customer by email test case ")
        self.driver.close()
class Test_001_Search_Customer:

    logger = LogGen.loggen()

    @pytest.mark.regression
    def test_search_customer(self, setup):
        self.driver = setup
        self.driver.get(ConfigReader.get_application_url())
        self.lg = Login(self.driver)
        self.lg.set_username(ConfigReader.get_login_username())
        self.lg.set_password(ConfigReader.get_login_password())
        self.lg.click_login()
        self.logger.info("Login Successful")
        self.logger.info("starting search customer test")

        self.go_to_customer_page = AddCustomerTest(self.driver)
        self.go_to_customer_page.click_on_customer_main_manu()
        self.go_to_customer_page.click_on_customer_mainItem()

        self.searchCustomer = SearchCustomer(self.driver)
        flag = self.searchCustomer.search_customer_by_attribute(
            attribute=ConfigReader.getArrtibute())
        assert flag
        self.logger.info("Test search customer pass")
        self.driver.close()
Exemple #22
0
class Test_002_DDT_Login:

    baseURL = ReadConfig.getApplicationURL()
    path = "C:\\Users\\Luis\\Desktop\\Selenium-Hybrid-Framework\\TestData\\LoginData.xlsx"
    logger = LogGen.loggen()

    @pytest.mark.regression
    def test_Login(self, setup):
        self.logger.info("********Test_002_DDT_Login***************")
        self.logger.info("********Home Verifying Login Test *******")
        self.driver = setup
        self.driver.get(self.baseURL)

        self.lp = LoginPage(self.driver)

        self.rows = XLUtils.getRowCount(self.path, 'Hoja1')
        print("Number of Rows i a Excel:", self.rows)

        lst_status = []  #empaty list varaible

        for r in range(2, self.rows + 1):
            self.user = XLUtils.readData(self.path, 'Hoja1', r, 1)
            self.password = XLUtils.readData(self.path, 'Hoja1', r, 2)
            self.exp = XLUtils.readData(self.path, 'Hoja1', r, 3)
            self.lp.setUserName(self.user)
            self.lp.setPassword(self.password)
            self.lp.clickLogin()
            time.sleep(5)

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

        if "Fail" not in lst_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 TC_LoginDDT_002****")
class Test_003_AddCustomer:
    baseURL = ReadConfig.getApplicationURL()
    username = ReadConfig.getUserName()
    password = ReadConfig.getPassword()
    logger = LogGen.loggen()  # Logger

    @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 = Login(self.driver)
        self.lp.set_UserName(self.username)
        self.lp.set_Password(self.password)
        self.lp.click_Login()
        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("************* Providing customer info **********")
        self.email = random_generator() + "@gmail.com"
        self.addcust.setEmail(self.email)
        self.addcust.setPassword("test123")
        self.addcust.setFirstName("Nitesh")
        self.addcust.setLastName("Kumar")
        self.addcust.setGender("Male")
        self.addcust.setDob("7/05/1985")  # Format: D / MM / YYY
        self.addcust.setCompanyName("busyQA")
        self.addcust.setCustomerRoles("Guests")
        self.addcust.setManagerOfVendor("Vendor 2")
        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

        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
            self.logger.error(
                "********* Add customer Test Failed ************")
            assert True == False

        self.driver.close()
        self.logger.info("******* Ending Test_003_AddCustomer Test **********")
class TestSearchCustomerByName_005:
    baseURL = ReadConfig.getApplicationURL()
    username = ReadConfig.getUseremail()
    password = ReadConfig.getPassword()
    logger = LogGen.loggen()

    @pytest.mark.regression
    def test_searchCustomerByName(self, setup):
        self.logger.info(
            "*********** TestSearchCustomerByName_005 **************")
        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(
            "********** Strating Search Customer By Name **********")
        self.addcust = AddCustomer(self.driver)
        self.addcust.ClickOnCustomersMenu()
        self.addcust.ClickOnCustomersMenuItem()

        self.logger.info("********** Search Customer By Name **********")
        searchcust = SearchCustomer(self.driver)
        searchcust.setFirstName("victoria")
        searchcust.setLastName("Terces")
        searchcust.ClickSearch()
        time.sleep(5)
        status = searchcust.searchCustomerByName("Victoria Terces")
        assert True == status
        self.logger.info("********** TC_SearchCustomerByName_005 **********")
        self.driver.close()
Exemple #25
0
class Test_004_SearchCustomer:
    baseUrl = ReadConfig.getApplicationURL()
    username = ReadConfig.getUsername()
    password = ReadConfig.getPassword()

    logger = LogGen.loggen()

    @pytest.mark.regression
    def test_searchCustomer(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.addcust = AddCustomers(self.driver)

        self.addcust.clickOnCustomerMenu()
        self.addcust.clickOnCustomerMenuItem()

        searchCust = SearchCustomer(self.driver)
        searchCust.setFirstName("Victoria")
        searchCust.setLastName("Terces")
        searchCust.clickSearch()

        time.sleep(5)

        status = searchCust.searchCustomerByName("Victoria Terces")
        assert True == status
        self.driver.close()
class Test_TC002_Login:

    baseURL = ReadConfig.getApplicationURL()
    path = ".//testData//LoginData.xlsx"
    logger = LogGen.loggen()
    lst_status = []
    exp = None

    @pytest.mark.regression
    def test_loginPageTitle_ddt(self, setup):

        self.logger.info(
            "******* Starting Test Login Page DDT Test **********")
        self.logger.info(
            "******* Starting Test 002 DDT LoginPage Title Test **********")
        self.driver = setup
        self.driver.maximize_window()
        self.driver.get(self.baseURL)

        self.lp = LoginPage(self.driver)
        self.rows = ExcelUtils.getRowCount(self.path, 'Sheet1')
        print('Number of Rows: ', self.rows)

        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.status = 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
            if act_title == 'Dashboard / nopCommerce administration':
                if self.status == 'Pass':
                    self.logger.info("*** Passed ***")
                    self.lp.clickLogout()
                    self.lst_status.append("Pass")
                elif self.status == 'Fail':
                    self.logger.info("*** Failed ***")
                    self.lp.clickLogout()
                    self.lst_status.append("Fail")
            elif act_title != 'Dashboard / nopCommerce administration':
                if self.status == 'Pass':
                    self.logger.info("*** Failed ***")
                    self.lst_status.append("Fail")
                elif self.status == 'Fail':
                    self.logger.info("*** Passed ***")
                    self.lst_status.append("Pass")

        if "Fail" not in self.lst_status:
            self.logger.info("***** Login DDT Passed *****")
            self.driver.close()
            assert True
        else:
            self.logger.info("***** Login DDT Failed *****")
            self.driver.close()
            assert False
        self.logger.info("******* Ending Test Login Page DDT Test  **********")
        self.logger.info(
            "******* Completed Test 002 DDT LoginPage Title Test **********")
Exemple #27
0
class Test_003_SearchPrd:
    baseURL = ReadConfig.getApplicationURL()
    logger = LogGen.loggen()

    @pytest.mark.sanity
    @pytest.mark.regression
    def test_searchPrd(self, setup):
        self.logger.info("***** Test_003_SearchPrd Started ****")
        self.driver = setup
        self.driver.get(self.baseURL)
        self.driver.maximize_window()
        time.sleep(5)

        # create a new variable
        self.logger.info("***** Search Product Started ****")
        self.srb = SearchPrd(self.driver)
        self.srb.setSearchPrd("Summer Dress")
        self.srb.clickSearch()

        # Validate title of the page
        self.logger.info("***** Validation Test Started ****")
        act_title = self.driver.title
        if act_title == "Search - My Store":
            self.logger.info("***** Validation Test Passed ****")
            assert True
        else:
            self.driver.save_screenshot("./Screenshots" +
                                        "Test_003_SearchPrd.png")
            self.logger.info("***** Validation Test Failed ****")
            assert False

        # sort by lowest price
        self.srb.setSortProduct("Price: Lowest first")
        self.logger.info("***** Test_003_SearchPrd Completed ****")
Exemple #28
0
class Test_001_Login:

    logger = LogGen.loggen()

    @pytest.mark.regression
    def test_home_page_title(self, setup ):
        self.logger.info("Generating log")
        self.driver = setup
        self.driver.get ( ConfigReader.get_application_url () )
        home_page_title = self.driver.title
        if home_page_title == "Your store. Login" :
            assert True
            self.driver.close ()
        else :
            screenshot ( self.driver )
            self.driver.close ()
            assert False

    @pytest.mark.sanity
    @pytest.mark.regression
    def test_login ( self, setup ) :
        self.driver = setup
        self.driver.get ( ConfigReader.get_application_url () )
        self.lg = Login ( self.driver )
        self.lg.set_username ( ConfigReader.get_login_username () )
        self.lg.set_password ( ConfigReader.get_login_password () )
        self.lg.click_login ()
        login_page_title = self.driver.title
        if login_page_title == "Dashboard / nopCommerce administration":
            assert True
            self.driver.close()
        else:
            screenshot(self.driver)
            self.driver.close()
            assert False
Exemple #29
0
class Test_Tickets_Page:
    logger = LogGen.loggen()
    faker = Faker()
    baseURL = environment.dev_url
    username = user.dev_agent
    password = password.dev_password
    loginpagetitle = page.dev_loginpage_title
    loggedinpagetitle = page.page_title
    resetpagetitle = "Reset Password"

    @pytest.mark.regression
    @allure.severity(allure.severity_level.NORMAL)
    @allure.description("This test verifies the tickets page exist")
    # @allure.link('', name='Jira')
    # @allure.link('', name='TestRail ')
    def test_tickets_page_displays(self, setup):
        self.logger.info("**** Starting Test_Tickets_Page ****")
        self.logger.info("Starting test_tickets_page_displays")
        driver = setup
        driver.get(self.baseURL)
        lp = LoginPage(driver)
        lp.login()
        bp = BasePage(driver)
        bp.clickTickets()
        bp.assert_element_text(TicketPage.page_header_xpath, "tickets")
        self.logger.info("test_tickets_page_displays Test: PASSED")
        self.logger.info("**** Completed Test_Tickets_Page ****")
        driver.close()
class Test_002_loginDDT(BaseClass):
    logger = LogGen.loggen()

    @pytest.mark.parametrize("email, password", getData())
    def test_login(self, email, password):

        self.logger.info("*********Login Test Test_002 Started***********")

        self.logger.info("********Verifying Logim Function***********")

        self.lp = Login(self.driver)

        self.lp.doLogin(email, password)

        actualTitle = self.lp.getTitle()

        userName = self.lp.getUserName()

        expTitle = "Dashboard / nopCommerce administration"

        assert actualTitle == expTitle

        assert userName == 'John Smith'

        self.logger.info("Login Test is passed")