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()
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 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)
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)
def test_login(self): driver = self.driver login_page = LoginPage.LoginPage(driver) login_page.open() login_page.login() self.assertTrue( utilities.is_element_present(driver, By.ID, "expandDisplayName"))
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)
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)
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)
def test_login_where_email_without_domain(self): home = LoginPage.LoginPage(self.driver) home.set_login(2) home.set_password(0) home.sign_in() assert self.driver.find_element_by_class_name( "text-help").is_displayed()
def test_login_with_incorrect_password(self): home = LoginPage.LoginPage(self.driver) home.set_login(0) home.set_password(1) home.sign_in() assert self.driver.find_element_by_class_name( "text-help").is_displayed()
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)
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)
def setUp(self): """ Instantiate the page objects. """ super(OAuth2FlowTests, self).setUp() self.insights_login_page = LoginPage(self.browser)
def login(add_waits, cmdopt_url, login_param): """fixture to login""" login_page = LoginPage(add_waits, cmdopt_url) login_page.navigate() login, password = login_param login_page.login(login, password) return login_page.get_url()
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()
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)
def test_login_with_valid_data(self): home = LoginPage.LoginPage(self.driver) home.set_login(0) home.set_password(0) home.sign_in() assert self.driver.find_element_by_xpath( "//*[@id='app-container']/div/div/nav").is_displayed()
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))
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()
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()
def login_negative(get_driver, cmdopt_url): """fixture to test negative scenario""" login_page = LoginPage(get_driver, cmdopt_url) login_page.navigate() login_page.login("admin", "admin1") current_result = login_page.get_alert() expected_result = "No match for Username and/or Password." return expected_result, current_result
def test_table_sort(browser, eyes): eyes.open(browser, "Applitools Demo", "Table Sort Test") home_page = HomePage(browser) LoginPage(browser).login_user("aaa", "aaa") eyes.check_window("Before sorting") home_page.sort_table_items() eyes.check_window("After sorting") eyes.close()
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()
def test_login_where_email_without_at(self): home = LoginPage.LoginPage(self.driver) home.set_login(8) home.set_password(0) home.sign_in() assert self.driver.find_element_by_xpath( "/html/body/div[2]/div/div[2]/div/div/form/fieldset/div[1]/div[1]" ).is_displayed()
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()
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
def setUp(self): page = LoginPage().log_in(helpers.create_user()) self.client = OsfClient(api_key=page.settings.add_api_key()) page.log_out() page = page.user_login.log_in(helpers.create_user()) self.non_contrib_client = OsfClient( api_key=page.settings.add_api_key()) page.close()
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 setup(self, browser): link = "http://selenium1py.pythonanywhere.com/" page = MainPage(browser, link) page.open() page.go_to_login_page() login_page = LoginPage(browser, browser.current_url) login_page.register_new_user(email=str(time.time()) + "@fakemail.org", password='******') login_page.should_be_authorized_user()
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)