コード例 #1
0
    def setUp(self):
        self.user = helpers.create_user()
        page = LoginPage().log_in(self.user)
        key = page.settings.add_api_key()
        page.close()

        self.client = OsfClient(api_key=key)
コード例 #2
0
class Trader(object):

    def __init__(self, driver, waiting_time=5):
        self.driver = driver
        self.login_page = LoginPage(self.driver, waiting_time)
        self.trading_page = TradingPage(self.driver, waiting_time)
        self.portfolio_page = PortfolioPage(self.driver, waiting_time)

    def __del__(self):
        print("Trader destroyed!")

    def login(self):
        self.login_page.open_page()
        self.login_page.login()

    def open_trading_page(self):
        self.trading_page.open_page()

    def logout(self):
        self.trading_page.logout()

    def trade(self, ticker, action, amount):
        self.trading_page.trade(ticker, action, amount)

    def open_portfolio_page(self):
        self.portfolio_page.open_page()

    def get_portfolio(self):
        return self.portfolio_page.get_portfolio()
コード例 #3
0
    def test_login_form_fb_exists(self):
        """Ensure Facebook button present on login form"""

        page = LoginPage(self.driver)
        page.get("/user/sign-in")

        self.assertIsNotNone(page.facebook_button)
コード例 #4
0
    def setUp(self):
        self.user = helpers.create_user()
        page = LoginPage().log_in(self.user)
        key = page.settings.add_api_key()
        page.close()

        self.client = OsfClient(api_key=key)
コード例 #5
0
    def setUp(self):
        """
        Instantiate the page objects.
        """
        super(OAuth2FlowTests, self).setUp()

        self.insights_login_page = LoginPage(self.browser)
コード例 #6
0
    def test_login_page(self):
        """Ensure login page loads successfully"""

        page = LoginPage(self.driver)
        page.get("/user/sign-in")

        self.assertNotIn("Uh-oh", page.w.find_element_by_tag_name("body").text)
コード例 #7
0
    def test_add_admin_success(self):
        """
        Test case Super Admin success add new admin
        """

        # create Login page object
        self.loginpage = LoginPage(self.driver)

        # Step 1 - Login as Super Admin
        self.loginpage.login_superadmin_success()

        # create Dashboard page object
        self.dashboardpage = DashboardPage(self.driver)

        # Step 2 - Click menu admin management
        self.dashboardpage.redirect_to_admin_management_page()

        # create Admin Management page object
        self.adminmanagementpage = AdminManagementPage(self.driver)

        # Step 3 - Click add admin button fill the form with correct requirements
        self.adminmanagementpage.superadmin_success_add_admin()

        # Step 4 - Assertion : Redirected back to Admin Management page
        self.adminmanagementpage.is_visible(Locators.ADD_ADMIN_BUTTON)
コード例 #8
0
 def setUp(self):
     page = LoginPage().log_in(helpers.create_user())
     self.client = OsfClient(
         api_key=page.settings.add_api_key()
     )
     page.log_out()
     page.close()
コード例 #9
0
    def test_search_data_not_found(self):
        """
        Test case to search data with unregistered account number
        """

        # create Login page object
        self.loginpage = LoginPage(self.driver)

        # Step 1 - Login
        self.loginpage.login_admin_success()

        # create Dashboard page object
        self.dashboardpage = DashboardPage(self.driver)

        # Step 2 - Click menu Cashflow and choose 'Atur Pengeluaran'
        self.dashboardpage.redirect_to_atur_pengeluaran_page()

        # create 'Atur Pengeluaran' page object
        self.aturpengeluaranpage = AturPengeluaranPage(self.driver)

        # Step 3 - Input unregistered account number on the search bar
        self.aturpengeluaranpage.search_data_atur_pengeluaran_not_found()

        # Step 4 - Assertion : No data is presented
        element_text = self.aturpengeluaranpage.get_text(Locators.ATUR_PENGELUARAN_INFORMATION_COUNT_DATA)
        self.assertEqual('Menampilkan semua "0 atur pengeluaran"', element_text)
コード例 #10
0
    def test_add_admin_failed_username_registered(self):
        """
        Test case untuk memastikan bahwa superadmin tidak dapat menambahkan admin jika username telah terdaftar
        """
        # membuat objek loginpage
        self.loginpage = LoginPage(self.driver)

        # Step 1 - login sebagai superadmin
        self.loginpage.login_superadmin_success()

        # membuat objek dashboard page
        self.dashboardpage = DashboardPage(self.driver)

        # Step 2 - Click menu admin management
        self.dashboardpage.redirect_to_admin_management_page()

        # membuat objek admin management page
        self.adminmanagementpage = AdminManagementPage(self.driver)

        # Step 3 - Click add admin button dan lengkapi form tambah data admin
        self.adminmanagementpage.superadmin_failed_add_admin_if_username_registered(
        )

        # Step 4 - Assertion
        element_text = self.adminmanagementpage.get_text(
            Locators.ALERT_FAILED_ADD_ADMIN)
        self.assertEqual("Username is already in use!", element_text)
コード例 #11
0
    def test_add_admin_failed_username_registered(self):
        """
        Test case Super Admin failed add new admin with registered username
        """

        # create Login page object
        self.loginpage = LoginPage(self.driver)

        # Step 1 - Login as Super Admin
        self.loginpage.login_superadmin_success()

        # create Dashboard page object
        self.dashboardpage = DashboardPage(self.driver)

        # Step 2 - Click menu admin management
        self.dashboardpage.redirect_to_admin_management_page()

        # create Admin Management page object
        self.adminmanagementpage = AdminManagementPage(self.driver)

        # Step 3 - Click add admin button and fill the form with registered username
        self.adminmanagementpage.superadmin_failed_add_admin_if_username_registered()

        # Step 4 - Assertion : Alert message is visible
        element_text = self.adminmanagementpage.get_text(Locators.ALERT_FAILED_ADD_ADMIN)
        self.assertEqual("Username is already in use!", element_text)
コード例 #12
0
    def test_serach_data_not_found(self):
        """
        Test case untuk mencari data atur pengeluaran dengan account number yang tidak ada
        """
        # membuat objek loginpage
        self.loginpage = LoginPage(self.driver)

        # Step 1 - login
        self.loginpage.login_admin_success()

        # membuat objek dashboard page
        self.dashboardpage = DashboardPage(self.driver)

        # Step 2 - Click menu cashflow and choose atur pengengeluaran
        self.dashboardpage.redirect_to_atur_pengeluaran_page()

        # membuat objek atur pengeluaran page
        self.aturpengeluaranpage = AturPengeluaranPage(self.driver)

        # Step 3 - input no rekening di search bar
        self.aturpengeluaranpage.search_data_atur_pengeluaran_not_found()

        # Step 4 - Assertion
        element_text = self.aturpengeluaranpage.get_text(
            Locators.ATUR_PENGELUARAN_INFORMATION_COUNT_DATA)
        self.assertEqual('Menampilkan semua "0 atur pengeluaran"',
                         element_text)
コード例 #13
0
class TestLoginPage(MyPyTest):
    """
    腾讯登录测试类
    """
    test_case_data = GetYaml(config.TEST_DATA_PATH + '\\' +
                             'login_page_data.yaml')

    def setup(self):
        with allure.step("进入{}".format(config.URL)):
            self.lp = LoginPage(self.driver, config.URL)
            self.lp.open()

    def teardown(self):
        """
        后置动作
        :return:
        """
        self.lp.sleeping()

    @allure.story("账号密码登录")
    @allure.severity(allure.severity_level.NORMAL)
    @pytest.mark.parametrize("data", test_case_data.all_data())
    def test_login_window(self, data):
        """
        测试腾讯网的账号密码的跳转
        """
        # 跳转到登录,进入账号密码登录页面
        self.lp.dig_login_page()

        with allure.step("输入账号和密码,点击登录"):
            self.lp.login_username(data['data']['id'])
            self.lp.login_password(data['data']['pwd'])
コード例 #14
0
 def test_guest_can_go_to_login_page(self, browser):
     link = "http://selenium1py.pythonanywhere.com/"
     page = MainPage(browser, link)
     page.open()
     page.should_be_login_link()
     page.go_to_login_page()
     login_page = LoginPage(browser, browser.current_url)
     login_page.should_be_login_page()
コード例 #15
0
def test_guest_can_go_to_login_page_from_product_page(browser):
    link = "http://selenium1py.pythonanywhere.com/en-gb/catalogue/the-city-and-the-stars_95/"
    page = ProductPage(browser, link)
    page.open()
    page.should_be_login_link()
    page.go_to_login_page()
    login_page = LoginPage(browser, browser.current_url)
    login_page.should_be_login_page()
コード例 #16
0
ファイル: test_login.py プロジェクト: TatoTom/techtalk6
def test_login_correct_credentials(chrome_browser):
    CORRECT_USERNAME = '******'
    CORRECT_PASSWORD = '******'

    owncloud = LoginPage(chrome_browser)
    owncloud.login(username=CORRECT_USERNAME, password=CORRECT_PASSWORD)
    logged_user_text = owncloud.get_logged_user_text()

    assert logged_user_text == CORRECT_USERNAME
コード例 #17
0
    def setUp(self):
        # create a user
        self.user = helpers.create_user()

        # log them in
        self.browser = LoginPage().log_in(self.user)

        # create a new API key
        self.api_key = self.browser.settings.add_api_key()
コード例 #18
0
def test_ftb(browser):
    login_page = LoginPage(browser)
    assert login_page.welcomebtn.text == 'Log in'

    login_page.enter_details(PASSWORD)
    ftb_page = FTBPage(browser, force_load=True)

    # Introduce additional checks here
    print(ftb_page.page_title)
コード例 #19
0
    def setUp(self):
        # get the API key for an unrelated user
        page = LoginPage().log_in(helpers.create_user())
        self.api_key = page.settings.add_api_key()
        page.close()

        # create a user to use
        self.user = helpers.create_user()
        self.browser = LoginPage().log_in(self.user)
コード例 #20
0
class ApiAnonymousTestCase(unittest.TestCase):
    def setUp(self):
        # create a user to use
        self.user = helpers.create_user()
        self.browser = LoginPage().log_in(self.user)

    def tearDown(self):
        # close the browser
        self.browser.close()
コード例 #21
0
ファイル: test_login.py プロジェクト: TatoTom/techtalk6
def test_login_incorrect_credentials(chrome_browser):
    INCORRECT_USERNAME = '******'
    INCORRECT_PASSWORD = '******'

    owncloud = LoginPage(chrome_browser)
    owncloud.login(username=INCORRECT_USERNAME, password=INCORRECT_PASSWORD)
    lost_password_text = owncloud.get_lost_password_text()

    assert lost_password_text.strip(
    ) == OwnCloudLoginPageLocators.LOST_PASSWORD_INFO_TEXT
コード例 #22
0
ファイル: conftest.py プロジェクト: Sokolov85/otus-qa-course
def login(get_driver, cmdopt_url, login_param):
    """fixture to login"""
    login_page = LoginPage(get_driver, cmdopt_url)
    login_page.navigate()
    login, password = login_param
    login_page.login(login, password)
    login_page.close_modal_window()
    return login_page.get_url()
コード例 #23
0
ファイル: helpers.py プロジェクト: adini121/osf-ui-tests
def get_new_project(title="New Project", description=None):
    """ Create a new project; return its page.
    """

    # Log in
    from pages import LoginPage

    page = LoginPage()
    page = page.log_in(create_user())

    # create the project
    return page.new_project(title=title, description=description)
コード例 #24
0
def get_new_project(title='New Project', description=None):
    """ Create a new project; return its page.
    """

    # Log in
    from pages import LoginPage

    page = LoginPage()
    page = page.log_in(create_user())

    # create the project
    return page.new_project(title=title, description=description)
コード例 #25
0
    def test_login_failed_wrong_password(self):
        """
        Test case Login failed with wrong password
        """

        # create Login page object
        self.loginpage = LoginPage(self.driver)

        # Step 1 - Input correct username, input wrong password then click Login button
        self.loginpage.login_failed_if_wrong_password()

        # Step 2 - Assertion : Toast alert is visible
        self.loginpage.is_visible(Locators.LOGIN_ALERT_TOAST)
コード例 #26
0
    def test_login_failed_wrong_password(self):
        """
        Test case untuk memastikan bahwa login akan gagal kemudian muncul toast alert jika password salah

        """
        # membuat objek loginpage
        self.loginpage = LoginPage(self.driver)

        # Step 1 - input  username, input wrong password kemudian klik tombol login
        self.loginpage.login_failed_if_wrong_password()

        # Step 2 - Assertion
        self.loginpage.is_visible(Locators.LOGIN_ALERT_TOAST)
コード例 #27
0
class ApiNonContributorTestCase(unittest.TestCase):
    def setUp(self):
        # get the API key for an unrelated user
        page = LoginPage().log_in(helpers.create_user())
        self.api_key = page.settings.add_api_key()
        page.close()

        # create a user to use
        self.user = helpers.create_user()
        self.browser = LoginPage().log_in(self.user)

    def tearDown(self):
        # close the browser
        self.browser.close()
コード例 #28
0
class OAuth2FlowTests(WebAppTest):
    def setUp(self):
        """
        Instantiate the page objects.
        """
        super(OAuth2FlowTests, self).setUp()

        self.login_page = LoginPage(self.browser)

        self.username = USERNAME
        self.password = PASSWORD

    def test_login(self):
        # Visit login URL and get redirected
        self.login_page.visit()

        # Input credentials and authorize
        self.login_page.q(css='input[name=username]').fill(self.username)
        self.login_page.q(css='input[name=password]').fill(self.password)
        self.login_page.q(css='button[type=submit]').click()

        if ENABLE_OAUTH_AUTHORIZE:
            self.login_page.q(css='input[name=authorize]').click()

        # User should arrive at course index page (or access denied page, if no permissions)
        # Splitting this out into two separate tests would require two separate sets of credentials. That is
        # feasible, but somewhat time-consuming. For now, we will rely on unit tests to validate the permissions and
        # ensure both cases below are met.
        self.assertTrue(self.browser.title.startswith('Courses') or self.browser.title.startswith('Access Denied'))
コード例 #29
0
class ApiContributorTestCase(unittest.TestCase):
    def setUp(self):
        # create a user
        self.user = helpers.create_user()

        # log them in
        self.browser = LoginPage().log_in(self.user)

        # create a new API key
        self.api_key = self.browser.settings.add_api_key()

    def tearDown(self):
        # close the browser
        self.browser.close()
コード例 #30
0
    def test_change_user_fullname(self):
        user = helpers.create_user()
        page = LoginPage().log_in(user)
        profile_page = page.driver.find_element_by_link_text(
            'My Public Profile').get_attribute('href')
        key = page.settings.add_api_key()
        page.close()

        r = requests.post(profile_page + 'edit/',
                          auth=(
                              key.key,
                              '',
                          ),
                          data={
                              'name': 'fullname',
                              'value': 'praC auhsoJ'
                          })

        self.assertEqual(r.status_code, http.OK)
        self.assertEqual(
            json.loads(r.content).get('response'),
            'success',
        )

        page = LoginPage().log_in(user)
        self.assertEqual(page.profile.full_name, 'praC auhsoJ')
        page.close()
コード例 #31
0
    def test_others_profile(self):
        own_profile = self.client.user()

        # Create another user, get their API key
        other_user = helpers.create_user()
        page = LoginPage().log_in(other_user)
        key = page.settings.add_api_key()
        page.close()

        other_client = OsfClient(api_key=key)
        other_profile = self.client.user(user_id=other_client.user().id)

        self.assertNotEqual(
            own_profile.id,
            other_profile.id,
        )
コード例 #32
0
def main():
    init()
    props = Properties.from_env()
    LoginPage().login(props.agency, props.account)
    KeypadPage().enter_password(props.password)
    HomePage().dismiss_popup().view_transactions()
    TransactionPage().filter_by_date(date(2020, 3, 1))
コード例 #33
0
def driver(config, pytestconfig):
    # Validate and return the wait time choice from the system properties/ config data
    print('IMPLICITLY WAIT TIME: ', os.environ.get('WAIT_TIME'))
    if os.environ.get('WAIT_TIME') is None:  # Jenkins
        implicit_wait = config['wait_time']
        os.environ['WAIT_TIME'] = str(implicit_wait)
    else:
        implicit_wait = os.environ.get('WAIT_TIME')
        config['wait_time'] = implicit_wait

    print('BASE URL: ', pytestconfig.getoption('TEST_URL'))
    base_url = pytestconfig.getoption('TEST_URL')

    # Initialize WebDriver
    browser_factory = BrowserFactory.BrowserFactory()
    driver = browser_factory.get_browser(
        pytestconfig.getoption('BROWSER'),
        pytestconfig.getoption('BROWSER_MODE'))

    # Wait implicitly for elements to be ready before attempting interactions
    driver.implicitly_wait(implicit_wait)
    driver.get(pytestconfig.getoption('TEST_URL'))
    login = LoginPage.LoginPage(driver)
    login.login()
    # Return the driver object at the end of setup
    yield driver

    # For cleanup, quit the driver
    driver.quit()
コード例 #34
0
def test_dynamic_content(browser, url, eyes):
    eyes.open(browser, "Applitools Demo", "Dynamic Content Test")
    new_url = url + "?showAd=true"
    HomePage(browser).go_to_page(new_url)
    LoginPage(browser).login_user("aaa", "aaa")
    eyes.check_window("Two gifs")
    eyes.close()
コード例 #35
0
    def test_others_profile(self):
        own_profile = self.client.user()

        # Create another user, get their API key
        other_user = helpers.create_user()
        page = LoginPage().log_in(other_user)
        key = page.settings.add_api_key()
        page.close()

        other_client = OsfClient(api_key=key)
        other_profile = self.client.user(user_id=other_client.user().id)

        self.assertNotEqual(
            own_profile.id,
            other_profile.id,
        )
コード例 #36
0
    def setUp(self):
        """
        Instantiate the page objects.
        """
        super(OAuth2FlowTests, self).setUp()

        self.insights_login_page = LoginPage(self.browser)
コード例 #37
0
    def test_login_admin_success(self):
        """
        Test case untuk berhasil login sebagai admin

        """
        # membuat objek loginpage
        self.loginpage = LoginPage(self.driver)

        # Step 1 - input username dan password sebagai admiin kemudian klik login
        self.loginpage.login_admin_success()

        # membuat objek dashboard page
        self.dashboardpage = DashboardPage(self.driver)

        # Step 2 - Assertion
        self.dashboardpage.is_visible(Locators.LOGO_DASHBOARD_HEADER)
コード例 #38
0
    def test_public_project_privacy_non_contributor(self):
        page = helpers.get_new_project()

        page.public = True

        _url = page.driver.current_url
        page.close()

        page = LoginPage().log_in(user=helpers.create_user())
        page.driver.get(_url)

        page = ProjectPage(driver=page.driver)

        with self.assertRaises(NoSuchElementException):
            page.public = False

        page.close()
コード例 #39
0
    def setUp(self):
        """
        Instantiate the page objects.
        """
        super(OAuth2FlowTests, self).setUp()

        self.login_page = LoginPage(self.browser)

        self.username = USERNAME
        self.password = PASSWORD
コード例 #40
0
class OAuth2FlowTests(LoginMixin, WebAppTest):
    def setUp(self):
        """
        Instantiate the page objects.
        """
        super(OAuth2FlowTests, self).setUp()

        self.insights_login_page = LoginPage(self.browser)

    def test_login(self):
        self.login_with_lms()

        # Visit login URL and get redirected
        self.insights_login_page.visit()

        # User should arrive at course index page (or access denied page, if no permissions)
        # Splitting this out into two separate tests would require two separate sets of credentials. That is
        # feasible, but somewhat time-consuming. For now, we will rely on unit tests to validate the permissions and
        # ensure both cases below are met.
        self.assertTrue(self.browser.title.startswith('Courses') or self.browser.title.startswith('Access Denied'))
コード例 #41
0
    def test_change_user_fullname(self):
        user = helpers.create_user()
        page = LoginPage().log_in(user)
        profile_page = page.driver.find_element_by_link_text(
            'My Public Profile'
        ).get_attribute('href')
        key = page.settings.add_api_key()
        page.close()

        r = requests.post(
            profile_page + 'edit/',
            auth=(
                key.key,
                '',
            ),
            data={
                'name': 'fullname',
                'value': 'praC auhsoJ'
            }
        )

        self.assertEqual(r.status_code, http.OK)
        self.assertEqual(
            json.loads(r.content).get('response'),
            'success',
        )

        page = LoginPage().log_in(user)
        self.assertEqual(
            page.profile.full_name,
            'praC auhsoJ'
        )
        page.close()
コード例 #42
0
ファイル: test_coll.py プロジェクト: b1ca/coll_test_task
 def setUp(self):
     self.driver = get_driver()
     # 1)
     login_page = LoginPage(driver=self.driver, url=base_url)
     login_page.open()
     login_page.wait_for_loading()
     coll_page = login_page.login_with(credentials)
     self.page = coll_page
コード例 #43
0
    def test_public_nested_component_title_change_non_contributor(self):
        page = helpers.get_new_nested_component()
        page.public = True
        _url = page.driver.current_url
        page.log_out()
        page.close()

        page = LoginPage()
        page.log_in(helpers.create_user())

        page.driver.get(_url)
        page = ProjectPage(driver=page.driver)

        with self.assertRaises(NoSuchElementException):
            page.title = 'changed'

        page.close()
コード例 #44
0
 def test_user_key_creation(self):
     user = helpers.create_user()
     page = LoginPage().log_in(user)
     key = page.settings.add_api_key()
     page.close()
     self.assertIsInstance(key, ApiKey)
コード例 #45
0
 def setUp(self):
     # create a user to use
     self.user = helpers.create_user()
     self.browser = LoginPage().log_in(self.user)