예제 #1
0
 def __init__(self, driver, base_url):
     driver.get(base_url)
     self.wait = WebDriverWait(driver, 10)
     self.login_page = LoginPage(driver, base_url)
     self.internal_page = InternalPage(driver, base_url)
     self.user_profile_page = UserProfilePage(driver, base_url)
     self.user_management_page = UserManagementPage(driver, base_url)
예제 #2
0
    def __init__(self, base_url="http://localhost:8888/addressbook"):
        self.driver = webdriver.Chrome()
        self.driver.implicitly_wait(5)
        self.base_url = base_url
        self.driver.get(self.base_url)

        self.login_page = LoginPage(self.driver)
        self.internal_page = InternalPage(self.driver)
예제 #3
0
 def __init__(self, driver, wait, base_url):
     self.driver = driver
     self.wait = wait
     self.base_url = base_url
     self.init_page = InitPage(driver, base_url)
     self.login_page = LoginPage(driver, base_url)
     self.internal_page = InternalPage(driver, base_url)
     self.logout_page = LogoutPage(driver, base_url)
예제 #4
0
 def __init__(self, driver, base_url):
     self.wd = driver
     self.wd.implicitly_wait(5)
     self.wd.get(base_url)
     self.wait = WebDriverWait(driver, 5)
     self.wd.maximize_window()
     self.login_page = LoginPage(driver, base_url)
     self.internal_page = InternalPage(driver, base_url)
예제 #5
0
 def __init__(self, driver, base_url="http://localhost/addressbook"):
     self.driver = driver
     self.driver.implicitly_wait(5)
     self.base_url = base_url
     self.driver.get(self.base_url)
     # Pages:
     self.login_page = LoginPage(self.driver)
     self.internal_page = InternalPage(self.driver)
     self.group_view_page = GroupViewPage(self.driver)
     self.message_page = MessagePage(self.driver)
    def __init__(self, driver, base_url="http://127.0.0.1/oxwall/"):
        # Open Oxwall UI in browser
        self.driver = driver
        self.driver.implicitly_wait(1)
        self.base_url = base_url
        self.driver.get(self.base_url)

        self._any_internal_page = InternalPage(self.driver)
        self.main_page = MainPage(self.driver)
        self.login_window = LoginWindow(self.driver)
        self.dash_page = DashboardPage(self.driver)
예제 #7
0
 def __init__(self, driver, base_url):
     self.driver = driver
     self.driver.get(base_url)
     self.driver.maximize_window()
     self.login_page = LoginPage(driver, base_url)
     self.internal_page = InternalPage(driver, base_url)
     self.main_page = MainPage(driver, base_url)
     self.movie_page = MoviePage(driver, base_url)
     self.register_page = RegisterPage(driver, base_url)
     self.edit_page = EditPage(driver, base_url)
     self.cart_page = CartPage(driver, base_url)
     self.wait = WebDriverWait(driver, 10)
예제 #8
0
 def __init__(self, driver, base_url):
     self.driver = driver
     driver.get(base_url)
     driver.maximize_window()
     self.wait = WebDriverWait(driver, 15)
     self.login_page = LoginPage(driver, base_url)
     self.persons_page = PersonsPage(driver, base_url)
     self.internal_page = InternalPage(driver, base_url)
     self.person_main_page = AddPersonMainPage(driver, base_url)
     self.enrollments_page = EnrollmentsPage(driver, base_url)
     self.dictionaries_page = DictionariesPage(driver, base_url)
     self.person_current_view_page = PersonCurrentViewPage(driver, base_url)
     self.person_main_view_page = PersonMainViewPage(driver, base_url)
     self.person_papers_view_page = PersonPapersViewPage(driver, base_url)
     self.person_enrollment_view_page = PersonEnrollmentViewPage(driver, base_url)
     self.enrollments_main_page = EnrollmentsMainPage(driver, base_url)
     self.enrollments_base_page = EnrollmentsBasePage(driver, base_url)
     self.main_page = AddPersonMainPage(driver, base_url)
     self.extra_page = AddPersonExtraPage(driver, base_url)
     self.address_page = AddPersonAddressesPage(driver, base_url)
     self.contact_page = AddPersonContactsPage(driver, base_url)
     self.papers_page = AddPersonPapersPage(driver, base_url)
     self.person_base_page = AddPersonPage(driver, base_url)
     self.person_enrollment = PersonEnrollmentPage(driver, base_url)
예제 #9
0
class Application:
    def __init__(self, driver, base_url):
        self.driver = driver
        driver.get(base_url)
        driver.maximize_window()
        self.wait = WebDriverWait(driver, 15)
        self.login_page = LoginPage(driver, base_url)
        self.persons_page = PersonsPage(driver, base_url)
        self.internal_page = InternalPage(driver, base_url)
        self.person_main_page = AddPersonMainPage(driver, base_url)
        self.enrollments_page = EnrollmentsPage(driver, base_url)
        self.dictionaries_page = DictionariesPage(driver, base_url)
        self.person_current_view_page = PersonCurrentViewPage(driver, base_url)
        self.person_main_view_page = PersonMainViewPage(driver, base_url)
        self.person_papers_view_page = PersonPapersViewPage(driver, base_url)
        self.person_enrollment_view_page = PersonEnrollmentViewPage(driver, base_url)
        self.enrollments_main_page = EnrollmentsMainPage(driver, base_url)
        self.enrollments_base_page = EnrollmentsBasePage(driver, base_url)
        self.main_page = AddPersonMainPage(driver, base_url)
        self.extra_page = AddPersonExtraPage(driver, base_url)
        self.address_page = AddPersonAddressesPage(driver, base_url)
        self.contact_page = AddPersonContactsPage(driver, base_url)
        self.papers_page = AddPersonPapersPage(driver, base_url)
        self.person_base_page = AddPersonPage(driver, base_url)
        self.person_enrollment = PersonEnrollmentPage(driver, base_url)

    def login(self, user, checkbox=False):
        """
        Method performs login to the application. Use app.login(User.Admin) in tests
        :param user: User.Admin or User.random at the moment
        :param checkbox: True with checkbox remember me and False without it. Default value is False
        """
        lp = self.login_page
        lp.is_this_page()
        lp.username_field.clear()
        lp.username_field.send_keys(user.username)
        lp.password_field.clear()
        lp.password_field.send_keys(user.password)
        if checkbox:
            lp.login_checkbox.click()
            lp.submit_button.click()
            self.internal_page.wait_until_page_generate()
        else:
            lp.submit_button.click()
            self.internal_page.wait_until_page_generate()

    def ensure_logged_in(self):
        """
        Method ensures you are logged in, if not it enters as Admin
        """
        element = self.wait.until(presence_of_element_located((By.CSS_SELECTOR, "nav, input[id='inputLogin']")))
        if element.tag_name == "input":
            self.login(User.Admin())

    def logout(self):
        """
        Method performs logout from application
        """
        ip = self.internal_page
        ip.is_this_page()
        ip.user_dropdown.click()
        ip.logout_button.click()

    def ensure_logout(self):
        """
        Method ensures you are logged out from application, if not it performs logout
        """
        element = self.wait.until(presence_of_element_located((By.CSS_SELECTOR, "nav, input[id='inputLogin']")))
        if element.tag_name == "nav":
            self.logout()

    def is_logged_in(self):
        """
        Method checks you are logged in
        :return True or False
        """
        return self.internal_page.is_this_page()

    def is_not_logged_in(self):
        """
        Method checks you are not logged in
        :return: True or False
        """
        return self.login_page.is_this_page()
예제 #10
0
class Application(object):
    def __init__(self, driver, base_url):
        driver.get(base_url)
        self.wait = WebDriverWait(driver, 10)
        self.login_page = LoginPage(driver, base_url)
        self.internal_page = InternalPage(driver, base_url)
        self.user_profile_page = UserProfilePage(driver, base_url)
        self.user_management_page = UserManagementPage(driver, base_url)

    def logout(self):
        self.internal_page.logout_button.click()
        self.wait.until(alert_is_present()).accept()

    def ensure_logout(self):
        element = self.wait.until(
            presence_of_element_located((By.CSS_SELECTOR, "nav, #loginform")))
        if element.tag_name == "nav":
            self.logout()

    def login(self, user):
        lp = self.login_page
        lp.is_this_page
        lp.username_field.send_keys(user.username)
        lp.password_field.send_keys(user.password)
        lp.submit_button.click()

    def ensure_login_as(self, user):
        element = self.wait.until(
            presence_of_element_located((By.CSS_SELECTOR, "nav, #loginform")))
        if element.tag_name == "nav":
            # we are on internal page
            if self.is_logged_in_as(user):
                return
            else:
                self.logout()
        self.login(user)

    def is_logged_in(self):
        return self.internal_page.is_this_page

    def is_logged_in_as(self, user):
        return self.is_logged_in() \
            and self.get_logged_user().username == user.username

    def is_not_logged_in(self):
        return self.login_page.is_this_page

    def get_logged_user(self):
        self.internal_page.user_profile_link.click()
        upp = self.user_profile_page
        upp.is_this_page
        return User(
            username=upp.user_form.username_field.get_attribute("value"),
            email=upp.user_form.email_field.get_attribute("value"))

    def add_user(self, user):
        self.internal_page.user_management_link.click()
        ump = self.user_management_page
        ump.is_this_page
        ump.user_form.username_field.send_keys(user.username)
        ump.user_form.email_field.send_keys(user.email)
        ump.user_form.password_field.send_keys(user.password)
        ump.user_form.password1_field.send_keys(user.password)
        #ump.user_form.role_select.select_by_visible_text(user.role)
        ump.user_form.submit_button.click()

    def ensure_movie_added(self, movie):
        self.internal_page.go_home()
        original_movie_count = len(
            self.wait.until(
                presence_of_all_elements_located(
                    (By.CSS_SELECTOR, "div.nocover"))))

        self.internal_page.add_movie(movie)

        new_movie_count = len(
            self.wait.until(
                presence_of_all_elements_located(
                    (By.CSS_SELECTOR, "div.nocover"))))

        assert new_movie_count == original_movie_count + 1
        self.internal_page.go_home()

    def ensure_movie_removed(self):
        self.internal_page.go_home()
        original_movie_count = len(
            self.wait.until(
                presence_of_all_elements_located(
                    (By.CSS_SELECTOR, "div.nocover"))))

        self.internal_page.remove_last_movie()

        new_movie_count = len(
            self.wait.until(
                presence_of_all_elements_located(
                    (By.CSS_SELECTOR, "div.nocover"))))

        assert new_movie_count == original_movie_count - 1
        self.internal_page.go_home()

    def ensure_bad_movie_not_added(self, movie):
        self.internal_page.go_home()
        original_movie_count = len(
            self.wait.until(
                presence_of_all_elements_located(
                    (By.CSS_SELECTOR, "div.nocover"))))

        element = self.internal_page.add_movie_negative(movie)

        assert element
        assert "Please enter a valid number" == element.text

        self.internal_page.go_home()
        new_movie_count = len(
            self.wait.until(
                presence_of_all_elements_located(
                    (By.CSS_SELECTOR, "div.nocover"))))

        assert new_movie_count == original_movie_count

        self.internal_page.go_home()