Esempio n. 1
0
    def hit_login_button(self):
        """
		1. Click on Log In button
		2. Wait until URL changes
		3. Returns OverviewPageModel object on success
		4. Return TimeOut exception on failure
		:return:
		"""
        element = Element(self.driver, self.explicit_wait_time,
                          BasePageLocator.CUSTOMER_LOGIN_BUTTON)
        current_url = self.url()
        element.click_on()
        WebDriverWait(self.driver, self.explicit_wait_time).until(
            EC.url_changes(current_url))

        if self.url(
        ) == self.config.base_url + AccountsOverviewPageContent.URL:
            from page_object_models.accounts_overview_page_model import AccountsOverviewPageModel
            return AccountsOverviewPageModel(config=self.config,
                                             driver=self.driver,
                                             implicit_wait_time=5,
                                             explicit_wait_time=10)

        if self.url() == self.config.base_url + LoginPageContent.URL:
            from page_object_models.login_page_model import LoginPageModel
            return LoginPageModel(config=self.config,
                                  driver=self.driver,
                                  implicit_wait_time=5,
                                  explicit_wait_time=10)

        raise Exception("Unknown URL: {} > Flow is not implemented".format(
            self.driver.current_url))
Esempio n. 2
0
    def hit_log_out_button(self):
        '''
		1. Click on "Log Out"
		2. Wait until URL changes
		3. Returns HomePageModel on success
		4. Return TimeoutException on failure

		An expectation for checking the current url.
        url is the expected url, which must not be an exact match
        returns True if the url is different, false otherwise.

        Source: https://seleniumhq.github.io/selenium/docs/api/py/_modules/selenium/webdriver/support/expected_conditions.html#url_changes
		:return:
		'''

        current_url = self.driver.current_url
        element = Element(self.driver, self.explicit_wait_time,
                          AccountServicesMenuLocator.LOG_OUT)
        element.click_on()
        WebDriverWait(self.driver, self.explicit_wait_time).until(
            EC.url_changes(current_url))
        from page_object_models.home_page_model import HomePageModel
        return HomePageModel(config=self.config,
                             driver=self.driver,
                             implicit_wait_time=5,
                             explicit_wait_time=10)
    def hit_clean_button(self):
        '''
		Hit Clean button
		:return:
		'''
        element = Element(self.driver, self.explicit_wait_time,
                          AdminPageLocator.CLEAN_BUTTON)
        element.click_on()
        return None
Esempio n. 4
0
    def open_new_account(self):
        '''
		Click on "Open New Account"
		:return:
		'''
        element = Element(self.driver, self.explicit_wait_time,
                          AccountServicesMenuLocator.OPEN_NEW_ACCOUNT)
        element.click_on()
        return None
Esempio n. 5
0
    def request_loan(self):
        '''
		Click on "Request Loan"
		:return:
		'''
        element = Element(self.driver, self.explicit_wait_time,
                          AccountServicesMenuLocator.REQUEST_LOAN)
        element.click_on()
        return None
Esempio n. 6
0
    def update_contact_info(self):
        '''
		Click on "Update Contact Info"
		:return:
		'''
        element = Element(self.driver, self.explicit_wait_time,
                          AccountServicesMenuLocator.UPDATE_CONTACT_INFO)
        element.click_on()
        return None
Esempio n. 7
0
    def find_transactions(self):
        '''
		Click on "Find Transactions"
		:return:
		'''
        element = Element(self.driver, self.explicit_wait_time,
                          AccountServicesMenuLocator.FIND_TRANSACTIONS)
        element.click_on()
        return None
Esempio n. 8
0
    def bill_pay(self):
        '''
		Click on "Bill Pay"
		:return:
		'''
        element = Element(self.driver, self.explicit_wait_time,
                          AccountServicesMenuLocator.BILL_PAY)
        element.click_on()
        return None
Esempio n. 9
0
    def transfer_funds(self):
        '''
		Click on "Transfer Funds"
		:return:
		'''
        element = Element(self.driver, self.explicit_wait_time,
                          AccountServicesMenuLocator.TRANSFER_FUNDS)
        element.click_on()
        return None
Esempio n. 10
0
    def accounts_overview(self):
        '''
		Click on "Account Overview"
		:return:
		'''
        element = Element(self.driver, self.explicit_wait_time,
                          AccountServicesMenuLocator.ACCOUNTS_OVERVIEW)
        element.click_on()
        return None
    def hit_initialize_button(self):
        '''
		Hit Initialize button
		:return:
		'''
        element = Element(self.driver, self.explicit_wait_time,
                          AdminPageLocator.INITIALIZE_BUTTON)
        element.click_on()
        return None
Esempio n. 12
0
    def click_send_btn(self):
        """
		Click on "FIND MY LOGIN INFO" button
		:return:
		"""

        element = Element(self.driver, self.explicit_wait_time,
                          ContactPageLocator.SEND_BUTTON)
        element.click_on()
        return None
	def hit_register_btn(self):
		'''
		Click on register button
		:return:
		'''

		element = Element(self.driver, self.explicit_wait_time, RegisterPageLocator.REGISTER_BUTTON)
		element.click_on()
		return RegisterPageModel(config=self._config,
		                         driver=self.driver,
		                         implicit_wait_time=5,
		                         explicit_wait_time=10)
    def hit_send_payment_button(self):
        """
		Click on "Send Payment" button
		Raise NoSuchElementException on failure
		:param:
		:return:
		"""
        element = Element(driver=self.driver,
                          explicit_wait_time=self.explicit_wait_time,
                          locator=BillPayPageLocator.SEND_PAYMENT_BUTTON)
        element.click_on()
        return None
    def hit_find_info_btn(self):
        '''
		Click on "FIND MY LOGIN INFO" button
		:return:
		'''

        element = Element(self.driver, self.explicit_wait_time,
                          ForgotLoginInfoPageLocator.FIND_MY_LOGIN_INFO_BUTTON)
        element.click_on()
        return ForgotLoginInfoPageModel(config=self._config,
                                        driver=self.driver,
                                        implicit_wait_time=5,
                                        explicit_wait_time=5)
Esempio n. 16
0
    def hit_bill_pay(self):
        """
		Press on "Bill Pay" menu item
		Returns "Bill Payment Service" page object on success

		:return:
		"""
        current_url = self.driver.current_url
        element = Element(self.driver, self.explicit_wait_time,
                          BasePageLocator.BILL_PAY)
        element.click_on()
        WebDriverWait(self.driver, self.explicit_wait_time).until(
            EC.url_changes(current_url))
        from page_object_models.bill_pay_page_model import BillPayPageModel
        return BillPayPageModel(config=self.config,
                                driver=self.driver,
                                implicit_wait_time=self.implicit_wait_time,
                                explicit_wait_time=10)
Esempio n. 17
0
    def hit_accounts_overview(self):
        """
		Press on "Accounts Overview" menu item
		Returns "Accounts Overview" page object on success

		:return:

		"""
        current_url = self.driver.current_url
        element = Element(self.driver, self.explicit_wait_time,
                          BasePageLocator.ACCOUNTS_OVERVIEW)
        element.click_on()
        WebDriverWait(self.driver, self.explicit_wait_time).until(
            EC.url_changes(current_url))
        from page_object_models.accounts_overview_page_model import AccountsOverviewPageModel
        return AccountsOverviewPageModel(
            config=self.config,
            driver=self.driver,
            implicit_wait_time=self.implicit_wait_time,
            explicit_wait_time=10)