Пример #1
0
class Test_002_Home:
    baseURL = ReadConfig.getURL()
    username = ReadConfig.getUsername()
    password = ReadConfig.getPassword()
    logger = LogGenenration.loggen()

    @pytest.mark.sanity
    def test_leave(self, setup):
        self.logger.info("************* Test_002_Home ******************")
        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.submit()
        self.logger.info("*********Login successfull *********")

        homePage = HomePage(self.driver)
        homePage.selectLeave()

        homePage.setFromDate()
        homePage.selectFromMonth(ReadConfig.getFromMonth())
        homePage.selectFromYear(ReadConfig.getFromYear())
        homePage.selectFromDate(ReadConfig.getFromDate())

        homePage.setToDate()
        homePage.selectToMonth(ReadConfig.getToMonth())
        homePage.selectToYear(ReadConfig.getToYear())
        homePage.selectToDate(ReadConfig.getToDate())
        homePage.selectRejectedLeaves()
        homePage.selectUnit(ReadConfig.getUnit())
        homePage.search()

        self.driver.quit()
class Test_SearchCustomerByEmail_004:
    baseURL = ReadConfig.get_app_url()
    username = ReadConfig.get_username()
    password = ReadConfig.get_password()
    logger = LogGen.log_gen()

    @pytest.mark.regression
    def test_search_customer_by_email(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.set_username(self.username)
        self.lp.set_password(self.password)
        self.lp.click_login()
        self.logger.info("***** Login successful *****")

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

        self.add_cst = AddCustomer(self.driver)
        self.add_cst.click_on_customers_menu()
        self.add_cst.click_on_customers_menu_item()

        self.logger.info("***** Searching customer by emailID *****")
        search_cst = SearchCustomer(self.driver)
        search_cst.set_email("*****@*****.**")
        search_cst.click_search()
        time.sleep(5)
        status = search_cst.search_customer_by_email(
            "*****@*****.**")
        self.driver.close()
        self.logger.info("*****  TC_SearchCustomerByEmail_004 Finished  *****")
        assert status is True
Пример #3
0
class Test_001_login:
    baseURL = ReadConfig.getURL()
    username = ReadConfig.getUsername()
    password = ReadConfig.getPassword()
    logger = LogGenenration.loggen()

    @pytest.mark.regression
    def test_login(self, setup):
        self.logger.info(".................Test_001_home...........")
        self.logger.info("..........Verifying login............")
        self.driver = setup
        self.driver.get(self.baseURL)
        loginPage = LoginPage(self.driver)

        loginPage.setUsername(self.username)
        loginPage.setPassword(self.password)
        loginPage.submit()
        user = loginPage.getUser()
        print("user is.........." + user)
        if user == "Welcome haresh":
            self.logger.info("........Successfully logged in..............")
            assert True
            self.driver.close()
        else:
            self.driver.save_screenshot(".\\Screenshots\\" + "test_login.png")
            self.logger.error("............login failed..............")
            self.driver.close()
            assert False
Пример #4
0
class Test_003_AddCustomer:
    base_url = ReadConfig.get_app_url()
    username = ReadConfig.get_username()
    password = ReadConfig.get_password()
    logger = LogGen.log_gen()

    @pytest.mark.regression
    def test_add_customer(self, setup):
        self.logger.info("***** Test_003_AddCustomer *****")
        self.driver = setup
        self.driver.get(self.base_url)
        self.driver.maximize_window()

        self.lp = LoginPage(self.driver)
        self.lp.set_username(self.username)
        self.lp.set_password(self.password)
        self.lp.click_login()
        self.logger.info("***** Login successful *****")

        self.logger.info("***** Starting Add Customer Test *****")

        self.add_cust = AddCustomer(self.driver)
        self.add_cust.click_on_customers_menu()
        self.add_cust.click_on_customers_menu_item()

        self.add_cust.click_on_add_new()

        self.logger.info("***** Providing customer info *****")

        self.email = random_generator() + "@gmail.com"
        self.add_cust.set_email(self.email)
        self.add_cust.set_password("test123")
        self.add_cust.set_customer_roles("Guests")
        self.add_cust.set_manager_of_vendor("Vendor 2")
        self.add_cust.set_gender("Male")
        self.add_cust.set_first_name("Vlad")
        self.add_cust.set_last_name("Nire")
        self.add_cust.set_dob("7/05/1989")  # Format: D / MM / YYYY
        self.add_cust.set_company_name("QA")
        self.add_cust.set_admin_content("This is for testing.")
        self.add_cust.click_on_save()

        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:
            self.logger.info("***** Add customer Test Passed *****")
            assert True
        else:
            self.driver.save_screenshot(".\\Screenshots\\" + "test_add_customer_scr.png")
            self.logger.error("***** Add customer Test Failed *****")
            assert False

        self.driver.close()
        self.logger.info("***** Ending Add customer test *****")
Пример #5
0
class Test_001_Login:
    baseurl=ReadConfig.getApplicationURL()
    username=ReadConfig.getuseremailL()
    password=ReadConfig.getuserpassword()

    logger=logGen.log_gen()

    @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_homepageTitle1.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 test_login**********")
        self.driver=setup
        self.driver.get(self.baseurl)
        self.lp = LoginPage(self.driver)
        self.lp.setUsername(self.username)
        self.lp.setPassword(self.password)
        self.lp.clicklogin()

        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_Login1.png")
            self.driver.close()
            self.logger.error("******Login  title test is failed*******")
            assert False
            self.driver.close()
Пример #6
0
class Test_001_Login:
    base_url = ReadConfig.get_app_url()
    username = ReadConfig.get_username()
    password = ReadConfig.get_password()
    logger = LogGen.log_gen()

    @pytest.mark.sanity
    @pytest.mark.regression
    def test_home_page_title(self, setup):
        self.logger.info("***** Test_001_Login *****")
        self.logger.info("***** Verifying Home Page Title *****")
        self.driver = setup
        self.driver.get(self.base_url)
        actual_title = self.driver.title

        if actual_title == "Your store. Login":
            self.driver.close()
            self.logger.info("***** Home Page Title Passed *****")
            assert True
        else:
            self.driver.save_screenshot(".\\screenshots\\" +
                                        "test_home_page_title.png")
            self.driver.close()
            self.logger.error("***** Home Page Title Failed *****")
            assert False

    @pytest.mark.sanity
    @pytest.mark.regression
    def test_login(self, setup):
        self.logger.info("***** Test_002_Login *****")
        self.logger.info("***** Verifying Login *****")
        self.driver = setup
        self.driver.get(self.base_url)
        self.lp = LoginPage(self.driver)
        self.lp.set_username(self.username)
        self.lp.set_password(self.password)
        self.lp.click_login()
        actual_title = self.driver.title

        if actual_title == "Dashboard / nopCommerce administration":
            self.logger.info("***** Login Passed *****")
            self.driver.close()
            assert True
        else:
            self.driver.save_screenshot(".\\screenshots\\" + "test_login.png")
            self.logger.error("***** Login Failed *****")
            self.driver.close()
            assert False
Пример #7
0
class Test_001_Login:
    baseURL = ReadConfig.get_application_url()
    username = ReadConfig.get_username()
    password = ReadConfig.get_password()

    logger = LogGen.loggen()

    path_to_screenshots = os.path.join('.', 'screenshots')

    def test_home_page_title(self, setup):
        self.logger.info("***Test_001_Login***")
        self.logger.info("***Verifying Home Page Title***")
        self.driver = setup
        self.driver.get(self.baseURL)
        actual_title = self.driver.title
        if actual_title == "Your store. Login":
            assert True
            self.logger.info("*** Home page title test is passed ***")
            self.driver.close()
        else:
            path_to_failed_home_page_title_test = os.path.join(self.path_to_screenshots,
                                                               'test_home_page_title_failed.png')
            self.driver.save_screenshot(path_to_failed_home_page_title_test)
            self.logger.error("*** Home page title test is failed ***")
            self.driver.close()
            assert False

    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.set_user_name(self.username)
        self.lp.set_password(self.password)
        self.lp.click_login_button()
        actual_title = self.driver.title
        if actual_title == "Dashboard / nopCommerce administration":
            self.logger.info("*** Login test is passed ***")
            self.driver.close()
            assert True
        else:
            path_to_failed_login_test = os.path.join(self.path_to_screenshots, 'test_login_failed.png')
            self.driver.save_screenshot(path_to_failed_login_test)
            self.logger.error("*** Login test is failed ***")
            self.driver.close()
            assert False
Пример #8
0
class Test_002_DTT_Login:
    base_url = ReadConfig.get_app_url()
    path = ".\\test_data\\login_data.xlsx"
    logger = LogGen.log_gen()

    @pytest.mark.regression
    def test_login_dtt(self, setup):
        self.logger.info("***** Test_002_DTT_Login *****")
        self.logger.info("***** Verifying Login DTT *****")
        self.driver = setup
        self.driver.get(self.base_url)
        self.lp = LoginPage(self.driver)

        # Get data from excel file
        self.rows = excel_utils.get_row_count(self.path, 'Sheet1')
        print(f"Number of rows in Excel: {self.rows}")

        status_list = []

        for r in range(2, self.rows + 1):
            self.username = excel_utils.read_data(self.path, 'Sheet1', r, 1)
            self.password = excel_utils.read_data(self.path, 'Sheet1', r, 2)
            self.expected = excel_utils.read_data(self.path, 'Sheet1', r, 3)

            self.lp.set_username(self.username)
            self.lp.set_password(self.password)
            self.lp.click_login()
            time.sleep(5)

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

            if actual_title == exp_title:
                if self.expected == "Passed":
                    self.logger.info("***** Test Passed *****")
                    status_list.append("Passed")
                elif self.expected == "Failed":
                    self.logger.info("***** Test Failed *****")
                    status_list.append("Failed")
                self.lp.click_logout()
            elif actual_title != exp_title:
                if self.expected == "Passed":
                    self.logger.info("***** Test Failed *****")
                    status_list.append("Failed")
                elif self.expected == "Failed":
                    self.logger.info("***** Test Passed *****")
                    status_list.append("Passed")

        if "Failed" in status_list:
            self.logger.info("***** Login DTT Failed *****")
            self.driver.close()
            assert False
        else:
            self.logger.info("***** Login DTT Passed *****")
            self.driver.close()
            assert True

        self.logger.info("***** End of Login DTT Test *****")
Пример #9
0
class Test_002_DDT_login:
    baseURL = ReadConfig.getURL()
    path = ".//TestData/loginCreds.xlsx"
    logger = LogGenenration.loggen()
    #logging.basicConfig(filename="automation.log",
                        #format="%(asctime)s: %(levelname)s: %(message)s")

    @pytest.mark.regression
    def test_login_ddt(self, setup):
        logging.info(".................Test_002_DDT_login...........")
        self.logger.info("..........Verifying login............")
        self.driver = setup
        self.driver.get(self.baseURL)
        loginPage = LoginPage(self.driver)

        self.rows = ExcelUtils.getRowCount(self.path, 'Sheet1')
        self.columns = ExcelUtils.getColumnCount(self.path, 'Sheet1')
        login_status = []

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

            loginPage.setUsername(self.user)
            loginPage.setPassword(self.password)
            loginPage.submit()
            time.sleep(2)
            dashboard_url = self.driver.current_url

            if dashboard_url == "https://opensource-demo.orangehrmlive.com/index.php/dashboard":
                self.logger.info("........Successfully logged in for user " + self.user)
                if self.exp == "pass":
                    loginPage.clickLogout()
                    login_status.append("Pass")

                elif self.exp == "fail":
                    self.logger.info("........Failed logged in for user " + self.user)
                    loginPage.clickLogout()
                    login_status.append("Fail")

            else:
                if self.exp == "pass":
                    self.logger.info("........Failed logged in for user " + self.user)
                    login_status.append("Fail")

                elif self.exp == "fail":
                    self.logger.info("........Failed logged in for user " + self.user + " but tc passed")
                    login_status.append("Pass")

        if "Fail" not in login_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
Пример #10
0
class Test_searchcustomerbyEmail__004:
    baseurl = ReadConfig.getApplicationURL()
    username = ReadConfig.getuseremailL()
    password = ReadConfig.getuserpassword()
    logger = logGen.log_gen()

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

        self.logger.info("****Test_004_SearchcustomerbyEmail****")
        self.driver = setup
        self.driver.get(self.baseurl)
        self.driver.maximize_window()
        self.driver.implicitly_wait(10)

        self.lp = LoginPage(self.driver)
        self.lp.setUsername(self.username)
        self.lp.setPassword(self.password)
        self.lp.clicklogin()

        self.logger.info("******Staring Search customer by Email")

        self.Add_cust = Add_customer(self.driver)
        self.Add_cust.clickcustomermenu()
        self.Add_cust.clickcustomermenuItem()

        self.logger.info("******Starting Search customer by Email")

        searchcust = Searchcustomer(self.driver)
        searchcust.setEmail("*****@*****.**")
        searchcust.clicksearch()
        time.sleep(5)
        status = searchcust.searchCustomerByEmail("*****@*****.**")

        assert True == status

        self.logger.info(
            "******Starting Search customer by Email Test case is finished")

        time.sleep(5)

        self.driver.close()
Пример #11
0
class Test_searchcustomerbyName__005:
    baseurl = ReadConfig.getApplicationURL()
    username = ReadConfig.getuseremailL()
    password = ReadConfig.getuserpassword()
    logger = logGen.log_gen()

    @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.driver.implicitly_wait(10)

        self.lp = LoginPage(self.driver)
        self.lp.setUsername(self.username)
        self.lp.setPassword(self.password)
        self.lp.clicklogin()

        self.logger.info("******Staring Search customer by Name")

        self.Add_cust = Add_customer(self.driver)
        self.Add_cust.clickcustomermenu()
        self.Add_cust.clickcustomermenuItem()

        self.logger.info("******Starting 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(
            "******Starting Search customer by Name Test case is finished")

        self.driver.close()
Пример #12
0
class Test_002_DDT_Login():
    baseURL = ReadConfig.getApplicationURL()
    path = ".//TestData/signup.xlsx"
    logger = logGen.log_gen()  # 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 = xlutills.getRowCount(self.path, 'login')
        print('Number of rows...', self.rows)
        lst_status = []

        for r in range(2, self.rows + 1):
            self.user = xlutills.readData(self.path, 'login', r, 1)
            self.password = xlutills.readData(self.path, 'login', r, 2)
            self.exp = xlutills.readData(self.path, 'login', 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_001_Search:
    logger = LogGen.loggen()
    # TODO сделать логгер в режиме добавления записей
    logger.info("Test_001_Search")
    path_to_screenshots = os.path.join('.', 'screenshots')
    # TODO добавить скриншоты

    yandex_search_URL = ReadConfig.get_yandex_search_url()

    def test_check_search_box(self, setup):
        self.logger.info("Checking if a search field exists")
        self.driver = setup
        self.driver.get(self.yandex_search_URL)
        self.yp = YandexSearchPage(self.driver)
        try:
            self.yp.find_search_box()
            self.logger.info(
                f"Test passed: Search field found by {self.yp.search_box_locator}"
            )
            time.sleep(2)
        except TimeoutException:
            self.logger.error(
                f"Test failed: Search field not found by {self.yp.search_box_locator} for {self.yp.delay} seconds"
            )
        finally:
            self.driver.quit()
            self.logger.info("---------------")

    def test_suggests_in_search_box(self, setup):
        self.logger.info("Checking suggests in search field")
        self.driver = setup
        self.driver.get(self.yandex_search_URL)
        self.yp = YandexSearchPage(self.driver)
        try:
            self.yp.set_text_to_search_box('Тензор')
            self.yp.find_suggest_box()
            self.yp.send_enter_to_search_box()
            request_results = self.yp.get_request_results()
            if request_results:
                self.search_href_in_list_of_links(
                    request_results=request_results,
                    link_to_search=r"https://tensor.ru/",
                    number_results=5)
            else:
                self.logger.error(
                    "Test failed: There is no links in result of search")
        except TimeoutException:
            # TODO добавить отработку различных ненайденок
            self.logger.error(
                f"Test failed: Suggest field not found by {self.yp.suggest_box_locator} for {self.yp.delay} seconds"
            )
        finally:
            self.driver.quit()
            self.logger.info("---------------")

    def search_href_in_list_of_links(self, request_results,
                                     link_to_search: str, number_results: int):
        list_of_links = []
        for element in request_results:
            element_with_link = element.find_element_by_tag_name('a')
            link = element_with_link.get_attribute("href")
            list_of_links.append(link)

        if link_to_search in list_of_links:
            index = list_of_links.index(link_to_search) + 1
            if index <= number_results:
                self.logger.info(
                    f"Test passed: {link_to_search} find in {index} request position"
                )
            else:
                self.logger.error(
                    f"Test failed: {link_to_search} find, but in {index} request position"
                )
        else:
            self.logger.error(
                f"Test failed: {link_to_search} did not find in request")
class Test_002_Pictures:
    logger = LogGen.loggen()

    logger.info("Test_002_Pictures")
    path_to_screenshots = os.path.join('.', 'screenshots')
    # TODO добавить скриншоты

    yandex_search_URL = ReadConfig.get_yandex_search_url()
    yandex_pictures_URL = ReadConfig.get_yandex_pictures_url()

    def test_yandex_pictures_section_exist(self, setup):
        self.logger.info("Checking if a Pictures section exists")
        self.driver = setup
        self.driver.get(self.yandex_search_URL)
        self.yp = YandexSearchPage(self.driver)
        try:
            self.yp.find_yandex_pictures_section()
            self.logger.info(
                f"Test passed: Pictures section found by {self.yp.pictures_section_locator}"
            )
        except TimeoutException:
            self.logger.error(
                f"Test failed: Pictures section not found by {self.yp.pictures_section_locator} for {self.yp.delay} seconds"
            )
        finally:
            self.driver.quit()
            self.logger.info("---------------")

    def test_yandex_pictures_page_exist(self, setup):
        self.logger.info("Checking yandex pictures page exist")
        self.driver = setup
        self.driver.get(self.yandex_search_URL)
        self.yp = YandexSearchPage(self.driver)
        try:
            pictures_section = self.yp.find_yandex_pictures_section()
            pictures_section.click()
            self.yp.find_yandex_pictures_title()
            self.logger.info(
                f"Test passed: successful transition to the https://yandex.ru/images/"
            )
        except TimeoutException:
            self.logger.error(
                f"Test failed: can't find picture title by {self.yp.pictures_title_locator} for {self.yp.delay} seconds"
            )
            assert False
        finally:
            self.driver.quit()
            self.logger.info("---------------")

    def test_yandex_pictures_first_category(self, setup):
        self.logger.info("Checking the correctness of image search")
        self.driver = setup
        self.driver.get(self.yandex_pictures_URL)
        self.yp = YandexPicturesPage(self.driver)
        try:
            first_popular_request = self.yp.find_first_popular_request()
            first_popular_request.click()
            expected_text = first_popular_request.text

            picture_search_box = self.yp.find_picture_search_box()
            actual_text = picture_search_box.get_attribute("value")
            if expected_text == actual_text:
                self.logger.info(
                    f"Test passed: the text of the first category matches with the search text"
                )
            else:
                self.logger.error(
                    f"Test failed: the text of the first category does not match the search text"
                )
        except TimeoutException:
            self.logger.error(
                f"Test failed: can't find element {self.yp.pictures_title_locator} for {self.yp.delay} seconds"
            )
            assert False
        finally:
            self.driver.quit()
            self.logger.info("---------------")
Пример #15
0
class Test_002_DDT_Login:
    baseURL = ReadConfig.get_application_url()

    path_to_excel_data = os.path.join('.', 'test_data', 'login_data.xlsx')

    logger = LogGen.loggen()

    def test_login_ddt(self, setup):
        self.logger.info("***Test_002_DDT_Login***")
        self.logger.info("***Verifying Login DDT test***")
        self.driver = setup
        self.driver.get(self.baseURL)
        self.lp = LoginPage(self.driver)
        self.rows = excel_utils.get_row_count(self.path_to_excel_data, 'Лист1')
        print('Number of Rows i a Excel: ', self.rows)

        status_list = []

        for row in range(2, self.rows + 1):
            self.user = excel_utils.read_data(self.path_to_excel_data, 'Лист1',
                                              row, 1)
            self.password = excel_utils.read_data(self.path_to_excel_data,
                                                  'Лист1', row, 2)
            self.exp = excel_utils.read_data(self.path_to_excel_data, 'Лист1',
                                             row, 3)

            self.lp.set_user_name(self.user)
            self.lp.set_password(self.password)
            self.lp.click_login_button()
            time.sleep(2)

            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.click_logout_button()
                    status_list.append('Pass')
                elif self.exp == 'Fail':
                    self.logger.error('*** Failed ***')
                    self.lp.click_logout_button()
                    status_list.append('Fail')
            elif actual_title != expected_title:
                if self.exp == 'Pass':
                    self.logger.error('*** Failed ***')
                    status_list.append('Fail')
                elif self.exp == 'Fail':
                    self.logger.info('*** Passed ***')
                    status_list.append('Pass')

        if 'Fail' not in status_list:
            self.logger.info('*** Login DDT test is passed ***')
            self.driver.close()
            assert True
        else:
            self.logger.error('*** Login DDT test is failed ***')
            self.driver.close()
            assert False

        self.logger.info('*** End of Login DDT Test ***')
        self.logger.info('\n')
Пример #16
0
class Test_003_AddCustomer:
    baseurl = ReadConfig.getApplicationURL()
    usernamew = ReadConfig.getuseremailL()
    passord = ReadConfig.getuserpassword()
    logger = logGen.log_gen()

    @pytest.mark.sanity
    def test_addcustomer(self, setup):
        self.logger.info("****Test_003_Addcustomer****")
        self.driver = setup
        self.driver.get(self.baseurl)
        self.driver.maximize_window()
        self.driver.implicitly_wait(10)

        self.lp = LoginPage(self.driver)
        self.lp.setUsername(self.usernamew)
        self.lp.setPassword(self.passord)
        self.lp.clicklogin()

        self.addcust = Add_customer(self.driver)

        self.addcust.clickcustomermenu()

        self.addcust.clickcustomermenuItem()

        self.addcust.Add_new()

        self.email = random_generator(
        ) + "@gmail.com"  ##creating a random data,the method has given below
        self.addcust.setEmail(self.email)

        self.addcust.setPassword('12345')

        self.firstname = random_generator()
        self.addcust.setFirstname(self.firstname)

        # self.addcust.setFirstname('rohit')
        self.addcust.setLastname('shelke')
        self.addcust.setDOB("2/05/1995")
        self.addcust.setGender("Male")
        self.addcust.setCompanyName("cattleya")
        self.addcust.setAdmincontent("gshvghs")
        #self.addcust.setDropdownVendor('Vendor 2')

        self.addcust.clickbtnsave()

        self.logger.info("******Add customer validaion started*****")

        ##below method it will capture everything on the page and it will convert it into text and will save it in variable self.msg
        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:  ##checking "The new customer has been added successfully" this line is present in variable called self .msg
            assert True == True
            print("Add custmeter test is passed")
            self.logger.info("Add custmeter test is passed")
        else:
            self.driver.save_screenshot(".\\Screenshots\\" +
                                        "test_addcustomer_sc2.png")
            self.logger.info("Add custmeter test is failed")
            assert True == False

        self.driver.close()
        self.logger.info("****end of test_add_customer test case")