Example #1
0
def init_driver(request):
    from selenium import webdriver
    chrome_options = Options()
    chrome_options.add_argument("--headless")
    browser = request.config.getoption("--browser")
    ################################## Chrome Browser #############################
    if browser == "chrome":
        driver = webdriver.Chrome(ChromeDriverManager().install())
        driver.get(ReadConfig.getApplicationURL())
        driver.find_element_by_id("details-button").click()
        driver.find_element_by_id("proceed-link").click()
################################## Firefox ####################################
    elif browser == "firefox":
        driver = webdriver.Firefox(
            executable_path=GeckoDriverManager().install())
        driver.get(ReadConfig.getApplicationURL())

################################ Default Browser ###############################
    else:
        driver = webdriver.Chrome(ChromeDriverManager().install())
        driver.get(ReadConfig.getApplicationURL())
        driver.find_element_by_id("details-button").click()
        driver.find_element_by_id("proceed-link").click()

    driver.implicitly_wait(3)
    driver.maximize_window()
    request.cls.driver = driver
    yield
    driver.close()
    driver.quit()
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
Example #3
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 ***** *****")
Example #4
0
class Test_002_DDT_Login:
    baseURL = ReadConfig.getApplicationURL()
    path = ".//TestData/LoginData.xlsx"

    logger = LogGen.loggen()

    @pytest.mark.regression
    def test_login_ddt(self, setup):
        self.logger.info(" ************* 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 ********")
Example #5
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 **********")
Example #6
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
Example #7
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 **************")
Example #8
0
class Test_005_SearchCustomer:
    baseURL = ReadConfig.getApplicationURL()
    username = ReadConfig.getUseremail()
    password = ReadConfig.getPassword()
    logger = LogGen.loggen()

    @pytest.mark.regression
    def test_searchCustomerByName(self, setup):
        self.logger.info("****SearchCustomerByName_005**********")
        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 Page success ********")

        self.logger.info("********** starting AddCustomer********")
        self.addcust = AddCustomer(self.driver)
        self.addcust.clickonCustomersMenu()
        self.addcust.clcikonCustomersmenuItem()

        self.logger.info("******* SearchCustomeByName********")
        searchcust = SearchCustomer(self.driver)
        searchcust.setFirstName("victoria")
        searchcust.setLastName("Terces")
        searchcust.clickSearch()
        time.sleep(3)

        status = searchcust.searchCustomerByName("Victoria Terces")
        assert True == status
        self.logger.info("********* TC _searchCustomerByName_005 finished***")
        self.driver.close()
Example #9
0
class Test_001_Login(LogGen):
    # reading data from reading configobj
    baseURL = ReadConfig.getApplicationURL()
    username = ReadConfig.getUserName()
    password = ReadConfig.getPasword()
    # screenshotlocation
    screenshotpath = Screenshot.takeScreenshot()
    # variables:
    expPageTitel = "Facebook - Log In or Sign Up"

    def test_homePageTitle(self, setup):
        log = self.getLoger()
        log.info('__Test_0001__')

        # calling driver
        self.driver = setup
        self.driver.get(self.baseURL)
        page_title = self.driver.title
        assert page_title == self.expPageTitel

    def test_login(self, setup):
        log = self.getLoger()
        log.info('__Test_0001__')
        self.driver = setup
        self.driver.get(self.baseURL)
        # login test case
        lp = LoginPage(self.driver)
        lp.setUserName(self.username)
        lp.setPassword(self.password)
        lp.clcikLogin()
        page_title = self.driver.title
        assert page_title == self.expPageTitel
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 Test DDT ************** ")
        self.driver = setup
        self.driver.get(self.baseURL)
        self.lp = LoginPage(self.driver)

        self.rows = XlUtils.get_row_count(self.path, "Sheet1")
        print("No of rows in excel file: ", self.rows)

        list_status = []

        for r in range(2, self.rows + 1):
            self.user = XlUtils.read_data(self.path, 'Sheet1', r, 1)
            self.password = XlUtils.read_data(self.path, 'Sheet1', r, 2)
            self.exp = XlUtils.read_data(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
            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 is Passed *****************")
            self.driver.close()
            assert True
        else:
            self.logger.info("***************** Login DDT test is Failed *****************")
            self.driver.save_screenshot(".\\Screenshots\\" + "test_login_ddt.png")
            self.driver.close()
            assert False
        print(list_status)
        self.logger.error("***************** End of Login DDT Test ****************")
        self.logger.error("***************** Completed Test_002_DDT_Login ****************")
Example #11
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 ************* ")
Example #12
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_004_searchCust:
    baseURL = ReadConfig.getApplicationURL()
    username = ReadConfig.getApplicationusername()
    password = ReadConfig.getApplicationpassword()

    logger = logGen.loggen()

    @pytest.mark.sanity
    #@pytest.mark.regression
    def test_searchCustomer(self, setup):

        self.logger.info("*************Test_001_Login***********")
        self.driver = setup
        self.driver.get("https://admin-demo.nopcommerce.com/admin/")

        self.login = LoginPage(self.driver)
        self.login.set_username(self.username)
        self.login.set_password(self.password)
        self.login.clickLogin()
        time.sleep(8)

        self.srchcust = SearchCustomerPage(self.driver)
        self.srchcust.click_CustomersMenu()
        time.sleep(3)
        self.srchcust.click_CustomersMenuItem()
        time.sleep(3)
        self.srchcust.set_mail("*****@*****.**")
        self.srchcust.click_search()
        time.sleep(5)
        print(self.srchcust.get_no_of_rows())
        status = self.srchcust.search_Customer_by_Email(
            "*****@*****.**")
        time.sleep(5)
        assert status == True
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  *********** ")
Example #15
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 ****")
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
Example #17
0
class Test_001_Login:
    baseUrl = ReadConfig.getApplicationURL()
    username = ReadConfig.getUsername()
    password = ReadConfig.getPassword()

    logger = LogGeneration.logGeneration()  # Getting logger

    @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.setPassword(self.password)
        self.lp.clickLogin()

        act_title = self.driver.title
        expected_title = "My timesheet list weekly"

        if act_title == expected_title:
            self.driver.save_screenshot(".\\screenshots\\" + "test_Login.png")
            self.driver.close()
            self.logger.info("******** Login Test passed ********")
            assert True
        else:
            self.driver.save_screenshot(".\\screenshots\\" + "test_Login.png")
            self.driver.close()
            self.logger.info("******** Login Test failed ********")
            assert False
Example #18
0
class Test_003_AddCustomer:
    baseURL = ReadConfig.getApplicationURL()
    username = ReadConfig.getUseremail()
    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 = 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 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.setManagerOfVendor("Vendor 2")
        self.addcust.setGender("Male")
        self.addcust.setFirstName("Pavan")
        self.addcust.setLastName("Kumar")
        self.addcust.setDob("7/05/1985")  # Format: D / MM / YYY
        self.addcust.setCompanyName("busyQA")
        #self.addcust.setCustomerRoles("Guests")
        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 'The new 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 Add customer test **********")
Example #19
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()
Example #20
0
def setup(request):
    global driver

    browser_name = request.config.getoption("browser_name")

    if browser_name == "chrome":

        driver = webdriver.Chrome(ChromeDriverManager().install())

    elif browser_name == "firefox":

        driver = webdriver.Firefox(
            executable_path='D:\\PYTHON\\geckodriver.exe')

    driver.maximize_window()

    driver.get(ReadConfig.getApplicationURL())

    driver.implicitly_wait(10)

    request.cls.driver = driver

    yield

    driver.quit()
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_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 **********")
Example #23
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
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()
Example #25
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()
class Test_002_DDT_Login:

    baseURL = ReadConfig.getApplicationURL()
    path = ".//TestData/DDT.xlsx"
    logger = logGen.loggen()

    def test_DDT_Login(self, setup):
        self.logger.info("*************Test_002_DDT_Login**************")
        self.logger.info("*************test_DDTLogin**************")
        self.row = XLUtils.getRowCount(self.path, "Sheet1")
        lst_status = []

        for r in range(2, self.row + 1):
            self.driver = setup
            self.driver.get(self.baseURL)
            self.username = 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.login = LoginPage(self.driver)
            self.login.set_username(self.username)
            self.login.set_password(self.password)
            self.login.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.login.clicklogout()
                    lst_status.append("Pass")
                elif self.exp == 'Fail':
                    self.logger.info("***************Failed***********")
                    #self.login.clicklogout()
                    lst_status.append("Fail")
                self.login.clicklogout()
            elif act_title != exp_title:
                if self.exp == 'Pass':
                    self.logger.info("*************Failed***********")
                    #self.login.clicklogout()
                    lst_status.append("Fail")
                elif self.exp == 'Fail':
                    self.logger.info("***************Passed***********")
                    #self.login.clicklogout()
                    lst_status.append("Pass")

        if "Fail" not in lst_status:
            self.logger.info("***************Login_DDT_TC_Passed*************")
            assert True
            self.driver.close()
        else:
            self.logger.info("***************Login_DDT_TC_failed*************")
            self.driver.close()
            assert False

        self.logger.info("***********End of DDT Login*********")
        self.logger.info(
            "***********Completed Test_002_DDT_Login***************")
class Test_006_AddManifacturer:

    baseURL = ReadConfig.getApplicationURL()
    username = ReadConfig.getUseremail()
    password = ReadConfig.getPassword()
    logger = LogGen.loggen()
    manufacturer_name = "Khande works private limited"

    @pytest.mark.sanity
    def test_add_manufacturer(self, setup):
        self.logger.info("********** Test_006_AddManifacturer **********")
        self.driver = setup
        self.driver.get(self.baseURL)
        self.logger.info("--- URL Entered Successfully")
        self.lp = LoginPage(self.driver)
        self.lp.SetUserName(self.username)
        self.logger.info("--- user name Entered :" + self.username)
        self.lp.SetPassword(self.password)
        self.logger.info("--- password Entered :" + self.password)
        self.lp.ClickLogin()
        self.logger.info("--- clicked on login")
        self.logger.info('********** login successfull **********')

        self.logger.info("********** Stating Add Manufacturer Test **********")
        self.addManufacture = ManufacturePage(self.driver)
        self.addManufacture.click_on_cateloge()
        self.logger.info("--- clicked on cateloge")
        self.addManufacture.click_on_manufacture()
        self.logger.info("--- clicked on manufacturer")
        self.addManufacture.click_on_add_nuw_button()
        self.logger.info("--- clicked on Add new button")

        self.logger.info("********** Entering manufacturer name **********")
        self.addManufacture.set_name_of_manufacturer(self.manufacturer_name)
        self.logger.info("--- Manufacturer name Entered :" +
                         self.manufacturer_name)
        self.addManufacture.click_on_save_button()
        self.logger.info("--- clicked on save button")
        self.logger.info("********** saving manufacturer **********")

        self.logger.info(
            "********** Add manufacturer validation started **********")
        self.actual_msg = self.driver.find_element_by_tag_name("body").text
        self.expected_msg = "The new manufacturer has been added successfully."

        if self.expected_msg in self.actual_msg:
            assert True == True
            self.logger.info(
                "********** Add manufacturer Test Passed **********")
        else:
            self.driver.save_screenshot(".\\Screenshots\\" +
                                        "test_addmanufacturer_scr.png")
            self.logger.error(
                "********** Add Manufacturer Test Failed **********")
            assert True == False

        self.driver.close()
        self.logger.info(
            "********** Ending Test_006_AddManifacturer **********")
class Test_SearchCustomerByName_005:
    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_SearchCustomerByName ***********")
        self.driver = setup
        self.driver.get(self.baseUrl)
        self.driver.maximize_window()
        
        self.logger.info("******* Trying to Login *******")
        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 Search Customer By Name *******")
        
        self.addcust = AddCustomer(self.driver)
        self.addcust.clickOnCustomerMenu()
        time.sleep(3)
        self.addcust.clickOnCustomerMenuItem()
        time.sleep(2)
         
        searchcust = SearchCustomer(self.driver)
        
        flag = searchcust.searchElementsVisible()
        if (flag == True):
            self.logger.info("******* Search Elements already visible *******")
            pass
        else:
            self.logger.info("******* CLicking on Search Dropdown *******")
            searchcust.clickDropdownSearch()
            
        time.sleep(2)
        
        self.logger.info("******* Searching Customer By Name *******")
        searchcust.setFirstName("James")
        searchcust.setLastName("Pan")
        searchcust.clickSearch()
        time.sleep(3)
        status = searchcust.searchCustomerByName("James Pan")
        if status == True:
            assert True
            self.logger.info("******* Customer found with the given Name  *******")
            
        else:
            assert False == False
            time.sleep(2)
            self.driver.save_screenshot("C:\\Users\\Salim\\eclipse-workspace\\nopCommerceApp\\Screenshots\CustomerByName.png")
            self.logger.info("******* Customer not found with the given Name  *******")
        
        self.logger.info("******* Ending Test_005_SearchCustomerByName *******")
        self.driver.close()
class Test_001_Login:
    baseURL = ReadConfig.getApplicationURL()
    username = ReadConfig.getUsereamil()
    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.driver.get(self.baseURL)
        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()
            self.logger.error(
                "************************** Home 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.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":
            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_002_DDT_Login:
    baseURL = ReadConfig.getApplicationURL()
    path = ".//TestData/LoginData.xlsx"
    logger = LogGen.loggen()

    @pytest.mark.regression
    def test_ddt_Login(self, setup):
        self.logger.info("***********test_ddt_Login***********")
        self.logger.info("***********Verifying The Login Test***********")
        self.driver = setup
        self.driver.get(self.baseURL)
        self.lp = LoginPage(self.driver)
        self.rows = XLUtils.getRowCount(self.path, "Sheet1")
        print("No of Rows in Excel : ", self.rows)
        lst_status = []
        for r in range(2, self.rows + 1):
            self.user = XLUtils.readData(self.path, "Sheet1", r, 1)
            self.password = XLUtils.readData(self.path, "Sheet1", r, 2)
            self.exp = XLUtils.readData(self.path, "Sheet1", r, 3)
            self.lp.setUsername(self.user)
            self.lp.setPassword(self.password)
            self.lp.clickLogin()
            time.sleep(10)
            act_title = self.driver.title
            exp_title = "Dashboard / nopCommerce administration"
            if act_title == exp_title:
                if self.exp == "Pass":
                    self.logger.info("************Login Test Passed**********")
                    lst_status.append("Pass")
                    print(lst_status)
                    self.lp.clickLogout()
                    assert True
                elif self.exp == "Fail":
                    self.logger.info("************Login Test Failed**********")
                    lst_status.append("Fail")
                    print(lst_status)
                    self.lp.clickLogout()
                    assert False
            elif act_title != exp_title:
                if self.exp == "Fail":
                    self.logger.info("************Login Test Passed**********")
                    lst_status.append("Pass")
                    print(lst_status)
                    assert True
                elif self.exp == "Pass":
                    self.logger.info("************Login Test Failed**********")
                    lst_status.append("Fail")
                    print(lst_status)
                    assert False

        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 Test*****************")