def test_update_basic_information(self, base_url, selenium, ldap, counter_api, token):
        home_page = Homepage(base_url, selenium)
        two_fa = home_page.login_with_ldap(ldap['email'], ldap['password'])
        two_fa.enter_passcode(conftest.passcode(ldap['secret_seed'],
                                                conftest.increase_otp_counter(counter_api)))
        while two_fa.is_error_message_displayed:
            two_fa.enter_passcode(conftest.passcode(ldap['secret_seed'],
                                                    conftest.increase_otp_counter(counter_api)))
        settings_page = home_page.header.click_settings_menu_item()
        profile_page = settings_page.profile
        existing_username = profile_page.username
        existing_full_name = profile_page.full_name
        new_username = '******'.format(str(uuid.uuid4())[:10])
        new_first_name = 'FirstName{0}'.format(str(uuid.uuid4())[:10])
        new_last_name = 'LastName{0}'.format(str(uuid.uuid4())[:10])
        new_full_name = '{0} {1}'.format(new_first_name, new_last_name)
        profile_page.set_username(new_username)
        profile_page.sef_full_name(new_full_name)
        profile_page.click_update_basic_information()
        time.sleep(8)
        api = token['api']
        user_logs = requests.get(api, headers={'Authorization': 'Bearer {0}'.format(conftest.access_token(token))})
        assert new_username == json.loads(user_logs.content)['app_metadata']['userName']
        assert new_first_name == json.loads(user_logs.content)['app_metadata']['firstName']
        assert new_last_name == json.loads(user_logs.content)['app_metadata']['lastName']
        assert new_full_name == json.loads(user_logs.content)['app_metadata']['displayName']

        # Cleanup
        profile_page.set_username(existing_username)
        profile_page.sef_full_name(existing_full_name)
        profile_page.click_update_basic_information()
Ejemplo n.º 2
0
    def test_e2e(self, data_e2e):
        log = self.get_logger()
        self.log_testdata_info(log, data_e2e)

        # Test Data
        products_to_buy = [x.strip() for x in str(data_e2e['products']).split(',')]
        search_destination = data_e2e['search_country']
        ship_to_destination = data_e2e['country']
        success_message_expected = ShopData.SUCCESS_MSG_EXPECTED

        # Steps and Assertions
        homepage = Homepage(self.driver, self.test_url)
        homepage.goto()
        product_page = homepage.click_shop_button()
        product_page.add_products_to_cart(products_to_buy)
        assert product_page.get_checkout_number() == len(products_to_buy)

        cart_page = product_page.click_checkout_button()
        products_in_cart = cart_page.get_products()
        product_names_in_cart = [p.name for p in products_in_cart]
        assert product_names_in_cart == products_to_buy

        product_totals_in_cart = [p.total for p in products_in_cart]
        assert sum(product_totals_in_cart) == cart_page.get_total()

        checkout_page = cart_page.click_checkout_button()
        checkout_page.enter_destination(search_destination)
        checkout_page.select_destination_from_dropdown(ship_to_destination)
        assert ship_to_destination == checkout_page.get_destination()

        checkout_page.click_agree_condition()
        checkout_page.click_purchase_button()
        assert success_message_expected in checkout_page.get_success_text()
    def test_update_emails(self, base_url, selenium, ldap, counter_api, token, new_user):
        home_page = Homepage(base_url, selenium)
        two_fa = home_page.login_with_ldap(ldap['email'], ldap['password'])
        two_fa.enter_passcode(conftest.passcode(ldap['secret_seed'],
                                                conftest.increase_otp_counter(counter_api)))
        while two_fa.is_error_message_displayed:
            two_fa.enter_passcode(conftest.passcode(ldap['secret_seed'],
                                                    conftest.increase_otp_counter(counter_api)))
        settings_page = home_page.header.click_settings_menu_item()
        profile_page = settings_page.profile
        primary_email = profile_page.primary_email
        new_email = new_user['email']
        profile_page.add_email(new_email)
        profile_page.click_update_emails()
        assert new_email in profile_page.secondary_email_address
        time.sleep(8)
        api = token['api']
        user_logs = requests.get(api, headers={'Authorization': 'Bearer {0}'.format(conftest.access_token(token))})
        assert primary_email == json.loads(user_logs.content)['app_metadata']['emails'][0]['value']
        a = len(json.loads(user_logs.content)['app_metadata']['emails'])
        assert new_email == json.loads(user_logs.content)['app_metadata']['emails'][a - 1]['value']

        # Cleanup
        profile_page.delete_secondary_email(new_email)
        profile_page.click_update_emails()
    def test_biodiverse_3_fail(self):
        # Fails due to bad threshold selected
        homepage = Homepage(self.driver)
        login_page = homepage.click_login()
        homepage = login_page.valid_login(self.username, self.password)
        experiment_page = homepage.click_experiments()

        # First create an SDM experiment to work with:
        new_sdm_page = experiment_page.click_new_sdm_experiment()
        sdm_experiment_name = create_sdm(self, new_sdm_page)

        # Click on Experiments
        experiment_page = homepage.click_experiments()

        # New projection experiment
        new_projection_page = experiment_page.click_new_projection_experiment()
        projection_experiment_name = create_projection(self, sdm_experiment_name, new_projection_page)

        # Click on Experiments
        experiment_page = homepage.click_experiments()

        # New biodiverse experiment
        new_biodiverse_page = experiment_page.click_new_biodiverse_experiment()

        # generate a unique identifier for the projection experiment
        biodiverse_experiment_name = "biodiverse_" + generate_timestamp()
        new_biodiverse_page.enter_experiment_name(biodiverse_experiment_name)
        new_biodiverse_page.enter_experiment_description("This is a biodiverse experiment")

        # select the earlier generated projection experiment
        new_biodiverse_page.select_source_projection_tab()
        new_biodiverse_page.select_projection_experiments(projection_experiment_name)
        new_biodiverse_page.select_species("Phascolarctus cinereus")
        new_biodiverse_page.select_years("2015")
        new_biodiverse_page.select_layers("proj_RCP3PD_gfdl-cm20_2015_Phascolarctus.cinereus.tif")

        # select the configuration tab
        new_biodiverse_page.select_configuration_tab()
        new_biodiverse_page.select_threshold_value("KAPPA")
        new_biodiverse_page.select_cluster_size("20000")

        # run the experiment
        new_biodiverse_page.select_run()
        experiment_result_page = new_biodiverse_page.select_run_experiment()

        experiment_result_page.wait_for_experiment_to_complete()
        self.assertTrue(experiment_result_page.has_completed_with_failure())

        # Check results
        self.assertTrue(experiment_result_page.has_results_header(biodiverse_experiment_name))

        self.assertTrue(experiment_result_page.has_result_file("proj_RCP3PD_gfdl-cm20_2015_Phascolarctus.cinereus.tif"))
        self.assertTrue(experiment_result_page.has_result_file("biodiverse.plout"))
        self.assertTrue(experiment_result_page.has_result_file("pstats.json"))

        # Cleanup
        self.delete_experiment(sdm_experiment_name)
        self.delete_experiment(projection_experiment_name)
        self.delete_experiment(biodiverse_experiment_name)
Ejemplo n.º 5
0
 def test_select_gender_pronoun(self, selenium, base_url):
     homepage = Homepage(selenium, base_url).open()
     homepage.login("email", "password", "secret_seed")
     profile = homepage.go_to_my_profile()
     assert profile.is_profile_picture_shown
     profile.edit_profile_intro()
     profile.add_gender_pronoun("Test")
     profile.save_intro()
Ejemplo n.º 6
0
    def test_navigation_to_jobs_page(self):
        homepage = Homepage(self.driver)
        homepage.navigate_to_jobs()

        jobs = Jobs(self.driver)
        self.assertEqual(
            jobs.get_tagline_text(),
            'We’re looking for curious, nimble and passionate people.',
        )
Ejemplo n.º 7
0
 def test_edit_first_name(self, selenium, base_url):
     homepage = Homepage(selenium, base_url).open()
     profile = homepage.go_to_my_profile()
     assert profile.is_profile_picture_shown
     initial_name = profile.name
     profile.edit_profile_intro()
     profile.add_first_name("Test")
     profile.save_intro()
     assert initial_name != profile.name
Ejemplo n.º 8
0
 def test_edit_alternative_name(self, selenium, base_url):
     homepage = Homepage(selenium, base_url).open()
     homepage.login("email", "password", "secret_seed")
     profile = homepage.go_to_my_profile()
     assert profile.is_profile_picture_shown
     initial_alternative_name = profile.alternative_name
     edit_profile = profile.edit_profile_intro()
     edit_profile.add_alternative_name("super 88 bau")
     edit_profile.save_intro()
     assert initial_alternative_name != profile.alternative_name
Ejemplo n.º 9
0
 def test_edit_fun_job_title(self, selenium, base_url):
     homepage = Homepage(selenium, base_url).open()
     homepage.login("email", "password", "secret_seed")
     profile = homepage.go_to_my_profile()
     assert profile.is_profile_picture_shown
     initial_fun_job_title = profile.fun_job_title
     edit_profile = profile.edit_profile_intro()
     edit_profile.add_fun_job_title("make fun of bugs")
     edit_profile.save_intro()
     assert initial_fun_job_title != profile.fun_job_title
Ejemplo n.º 10
0
 def test_change_privacy_for_first_name(self, selenium, base_url):
     homepage = Homepage(selenium, base_url).open()
     homepage.login("email", "password", "secret_seed")
     profile = homepage.go_to_my_profile()
     assert profile.is_profile_picture_shown
     edit_profile = profile.edit_profile_intro()
     initial_privacy = edit_profile.first_name_privacy
     edit_profile.set_privacy_for_first_name("Public")
     edit_profile.save_intro()
     assert edit_profile.first_name_privacy != initial_privacy
Ejemplo n.º 11
0
 def test_edit_first_name(self, selenium, base_url):
     homepage = Homepage(selenium, base_url).open()
     homepage.login("email", "password", "secret_seed")
     assert homepage.is_user_picture_displayed
     profile = homepage.go_to_my_profile()
     assert profile.is_profile_picture_shown
     initial_name = profile.name
     edit_profile = profile.edit_profile_intro()
     edit_profile.add_first_name("Test")
     edit_profile.save_intro()
     assert initial_name != profile.name
Ejemplo n.º 12
0
def step_impl(context):
    """Verifications"""
    """Verify that user is on homepage"""
    homepage = Homepage(context.driver)
    expected_title = Data.HOMEPAGE_TITLE
    actual_title = homepage.get_title()
    assert expected_title == actual_title, "Wrong title! Got: %r" % actual_title
    """Verify that newly registrated user is logged"""
    expected_user_fullname = Property.FIRST_NAME + ' ' + Property.LAST_NAME
    actual_user_fullname = homepage.get_user_fullname_from_topbar()
    assert expected_user_fullname == actual_user_fullname, "Wrong fullname! Got: %r" % actual_user_fullname
    context.driver.quit()
Ejemplo n.º 13
0
 def test_login(self):
     driver = self.driver
     driver.get(self.getDomain())
     Homepage_obj = Homepage(self.driver)
     Homepage_obj.user_is_on_homepage()
     Homepage_obj.login()
     Homepage_obj.successful_login()
Ejemplo n.º 14
0
 def test_login_error(self):
     driver = self.driver
     driver.get(self.getDomain())
     Homepage_obj = Homepage(self.driver)
     Homepage_obj.user_is_on_homepage()
     Homepage_obj.login_invalid_email()
     Homepage_obj.error_login()
Ejemplo n.º 15
0
class HomepageActions:
    def __init__(self, app):
        self.app = app
        self.driver = app.driver
        self.hp_actions = Homepage(driver=self.driver)

    @allure.step('Expand main menu')
    def expand_main_menu(self):
        LOGGER.info("Expand main menu")
        driver = self.app.driver
        driver.implicitly_wait(180)
        menu_hover = self.hp_actions.catalog_header
        actions = ActionChains(driver)
        actions.move_to_element(menu_hover).perform()
        wait(lambda: self.hp_actions.is_element_present("computers_label"),
             timeout_seconds=20.0)

    @allure.step('Expand 2nd level menu')
    def expand_computers_menu(self):
        LOGGER.info("Expand computers menu")
        driver = self.app.driver
        driver.implicitly_wait(180)
        menu_hover = self.hp_actions.computers_label
        actions = ActionChains(driver)
        actions.move_to_element(menu_hover).perform()
        wait(lambda: self.hp_actions.is_element_present(
            "laptops_accessories_label"),
             timeout_seconds=20.0)

    @allure.step('Expand 3rd level menu')
    def expand_laptops_menu(self):
        LOGGER.info("Expand computers menu")
        driver = self.app.driver
        driver.implicitly_wait(180)
        menu_hover = self.hp_actions.laptops_accessories_label
        actions = ActionChains(driver)
        actions.move_to_element(menu_hover).perform()
        wait(lambda: self.hp_actions.is_element_present("laptops_label"),
             timeout_seconds=20.0)

    @allure.step('Click laptops label')
    def click_laptops(self):
        LOGGER.info("Click 'Ноутбуки' menu item")
        driver = self.app.driver
        driver.implicitly_wait(10)
        actions = ActionChains(driver)
        laptops_label = self.hp_actions.laptops_label
        actions.move_to_element(laptops_label).perform()
        laptops_label.click()
Ejemplo n.º 16
0
 def test_upload_species_dataset(self):
     homepage = Homepage(self.driver)
     login_page = homepage.click_login()
     homepage = login_page.valid_login(self.username, self.password)
     datasets_page = homepage.click_datasets()
     upload_page = datasets_page.select_dataset_upload()
     upload_page = upload_page.select_dataset_type("Species Dataset")
     upload_page.upload_file(os.getcwd() + "test.csv")
     upload_page.enter_dataset_title("species_dataset" + generate_timestamp())
     upload_page.enter_dataset_description("bleh")
     upload_page.enter_scientific_name("bleh")
     upload_page.enter_taxon_id("bluh")
     upload_page.enter_common_name("bloop")
     upload_page.agree_to_terms_and_conditions()
     upload_page.submit()
 def test_update_tshirt_size(self, base_url, selenium, ldap, counter_api, token):
     home_page = Homepage(base_url, selenium)
     two_fa = home_page.login_with_ldap(ldap['email'], ldap['password'])
     two_fa.enter_passcode(conftest.passcode(ldap['secret_seed'],
                                             conftest.increase_otp_counter(counter_api)))
     while two_fa.is_error_message_displayed:
         two_fa.enter_passcode(conftest.passcode(ldap['secret_seed'],
                                                 conftest.increase_otp_counter(counter_api)))
     settings_page = home_page.header.click_settings_menu_item()
     you_and_mozilla_page = settings_page.you_and_mozilla
     new_tshirt_size = random.choice(you_and_mozilla_page.tshirt_sizes_list)
     you_and_mozilla_page.select_tshirt_size(new_tshirt_size)
     you_and_mozilla_page.click_update_tshirt_size()
     time.sleep(8)
     api = token['api']
     user_logs = requests.get(api, headers={'Authorization': 'Bearer {0}'.format(conftest.access_token(token))})
     assert new_tshirt_size == json.loads(user_logs.content)['app_metadata']['shirtSize']
Ejemplo n.º 18
0
 def test_upload_futureclimate_layer(self):
     homepage = Homepage(self.driver)
     login_page = homepage.click_login()
     homepage = login_page.valid_login(self.username, self.password)
     datasets_page = homepage.click_datasets()
     upload_page = datasets_page.select_dataset_upload()
     upload_page = upload_page.select_dataset_type("Future Climate Layer")
     upload_page.upload_file(os.getcwd() + "test.csv")
     upload_page.enter_dataset_title("environmental_layer" + generate_timestamp())
     upload_page.enter_dataset_description("blurp")
     #upload_page.select_type("continuous")
     upload_page.select_resolution("30\" (~1km)")
     upload_page.enter_start_date(1, 1, 2000, "wow")
     upload_page.enter_end_date(2, 2, 2001, "weo")
     upload_page.select_emission_scenario("RCP6")
     upload_page.select_global_climate_model("Coupled Global Climate Model (CGCM3)")
     upload_page.agree_to_terms_and_conditions()
     upload_page.submit()
Ejemplo n.º 19
0
    def test_addtocart(self):
            driver = self.driver

            driver.get("http://demo.automationtesting.in/")
            titleoflandingPage = driver.title
            print(titleoflandingPage)
            land = LandingPage(driver)
            land.skipsignin()
            registerpage = driver.title
            print(registerpage)
            self.assertNotEqual(titleoflandingPage,registerpage,"page didnt change")
            time.sleep(5)
            practice = RegistrationPage(driver)
            practice.click_practicetest()
            time.sleep(5)
            practicesite =driver.title
            print(practicesite)
            self.assertEqual("Automation Practice Site",practicesite,"Both title matches")
            x= Homepage(driver)
            x.select_seleniumruby()
            y =Productpage(driver)
            y.click_add()
            driver.get_screenshot_as_file("/Users/sumit/Desktop/CACC Barsha/DemoautomationtestingRegistration/screenshots/addtocart.png")
            c =Productpage(driver)
            c.click_cart()
            co =CheckoutPage(driver)
            co.click_checkout()
            b =BillingPage(driver)
            b.enter_firstname("Brish")
            b.enter_lastname("Cool")
            b.enter_Email("*****@*****.**")
            b.enter_phoneno("6758972345")
            b.enter_country("Canada")
            b.enter_streetname("167 luella cres")
            b.enter_townname("Brampton")
            b.select_province("Ontario")
            #driver.find_element_by_xpath("//span[@id='select2-chosen-2']").click()
            b.enter_postalcode("l7a3h9")
            b.select_casondelivery()
            time.sleep(5)
            b.place_order()
            time.sleep(10)
            driver.get_screenshot_as_file("/Users/sumit/Desktop/CACC Barsha/DemoautomationtestingRegistration/screenshots/Orderplaced.png")
Ejemplo n.º 20
0
    def test_ensemble_SDM(self):
        homepage = Homepage(self.driver)
        login_page = homepage.click_login()
        homepage = login_page.valid_login(self.username, self.password)
        experiment_page = homepage.click_experiments()
        new_sdm_page = experiment_page.click_new_sdm_experiment()

        experiment_name = "ann_" + generate_timestamp()

        new_sdm_page.enter_experiment_name(experiment_name)
        new_sdm_page.enter_experiment_description('Artificial Neural Network with Koala occurrences')
        new_sdm_page.select_configuration()
        new_sdm_page.select_sdm_algorithm('Artificial Neural Network')
        new_sdm_page.select_occurrences()
        new_sdm_page.select_occurrences_dataset('Koala - Mini occurrence dataset for Redland City')
        new_sdm_page.select_absences()
        new_sdm_page.select_absences_dataset('Koala - Mini absence dataset for Redland City')
        new_sdm_page.select_environment()
        new_sdm_page.select_current_climate_layers('30" (~1km)', 'Current climate layers for Redland City, 30" (~1km)')
        new_sdm_page.select_environmental_datasets('Current climate layers for Redland City, 30" (~1km)',
                                                   'B14 - Precipitation of Driest Month')
        new_sdm_page.select_run()
        experiment_view = new_sdm_page.select_review_start_experiment()

        # Wait until completion
        experiment_view.wait_for_experiment_to_complete()
        self.assertTrue(experiment_view.has_completed_successfully())

        experiments_page = experiment_view.click_experiments()
        new_ensemble_page = experiments_page.click_new_ensemble_experiment()
        new_ensemble_page.enter_experiment_name("Ensemble_" + generate_timestamp())
        new_ensemble_page.enter_experiment_description("A description goes here.")
        new_ensemble_page.click_source_data()
        new_ensemble_page.select_dataset_type("sdm")
        # Choose the SDM from before
        new_ensemble_page.select_source_experiment(experiment_name)
        # Choose a file from that SDM experiment:
        new_ensemble_page.select_available_file("proj_current_Phascolarctus.cinereus.tif")
        new_ensemble_page.click_run()
        experiment_results = new_ensemble_page.click_start_experiment()

        experiment_results.wait_for_experiment_to_complete()
        self.assertTrue(experiment_results.has_completed_successfully())
Ejemplo n.º 21
0
def display_page(pathname):
    decache_data()

    if (pathname == '/cgroup'):
        return GroupData(groupdata)
    elif (pathname == '/cguess'):
        return GuessData(guessdata)
    elif (pathname == '/about'):
        return About()
    else:
        return Homepage(guessdata, groupdata)
    def test_update_groups(self, base_url, selenium, ldap, counter_api, token):
        home_page = Homepage(base_url, selenium)
        two_fa = home_page.login_with_ldap(ldap['email'], ldap['password'])
        two_fa.enter_passcode(conftest.passcode(ldap['secret_seed'],
                                                conftest.increase_otp_counter(counter_api)))
        while two_fa.is_error_message_displayed:
            two_fa.enter_passcode(conftest.passcode(ldap['secret_seed'],
                                                    conftest.increase_otp_counter(counter_api)))
        settings_page = home_page.header.click_settings_menu_item()
        groups = settings_page.groups
        groups_page = groups.click_find_group_link()
        new_group_name = 'group-{0}'.format(str(uuid.uuid4())[:10])
        groups_page.create_group(new_group_name)
        time.sleep(8)
        api = token['api']
        user_logs = requests.get(api, headers={'Authorization': 'Bearer {0}'.format(conftest.access_token(token))})
        assert '{0}{1}'.format('mozilliansorg_', new_group_name) in json.loads(user_logs.content)['app_metadata']['groups']

        # Cleanup
        groups_page.check_delete_aknowledgement()
        groups_page.click_delete_group()
Ejemplo n.º 23
0
    def test_upload_species_trait(self):
        homepage = Homepage(self.driver)
        login_page = homepage.click_login()
        homepage = login_page.valid_login(self.username, self.password)
        datasets_page = homepage.click_datasets()
        upload_page = datasets_page.select_dataset_upload()
        upload_page = upload_page.select_dataset_type("Species Trait")
        upload_page.upload_file(os.getcwd() + "test.csv")
        dataset_title = "species_trait_test_" + generate_timestamp()
        upload_page.enter_dataset_title(dataset_title)
        upload_page.enter_dataset_description("Description")

        upload_page.agree_to_terms_and_conditions()
        datasets_page = upload_page.submit()

        # Retry while datasets page hasn't loaded.
        datasets = datasets_page.get_dataset_list()
        while (len(datasets) == 0):
            datasets = datasets_page.get_dataset_list()

        self.assertTrue(dataset_title in datasets)
Ejemplo n.º 24
0
    def test_import_ALA(self):
        homepage = Homepage(self.driver)
        login_page = homepage.click_login()
        homepage = login_page.valid_login(self.username, self.password)
        datasets_page = homepage.click_datasets()

        # Get the number of datasets
        name_list = datasets_page.get_dataset_list()
        number_of_datasets = len(name_list)

        # import koala
        datasets_discover_page = datasets_page.select_dataset_discover()
        datasets_discover_page.enter_find_species("koala")
        datasets_discover_page.click_species()

        # We get redirected back to datasets list page here
        datasets_page = datasets_discover_page.click_download_species()

        # Try generate the list of names
        name_list = datasets_page.get_dataset_list()

        # The first one should be koala
        # Make sure we can find koala in the first one'
        self.assertNotEqual(name_list[0].find("koala"), -1, "Could not find koala dataset")

        # Check we have one more dataset than before.
        if number_of_datasets == 20: # The page only shows 100, so check it's 100 still
            self.assertEqual(len(name_list), 20, "Mismatch number of datasets")
        else:
            self.assertEqual(len(name_list), number_of_datasets + 1, "Mismatch number of datasets")

        # Wait until the first one doesn't have a spinner anymore
        datasets_page.wait_while_spinner(0)

        # Refresh the page
        datasets_page.driver.refresh()

        # See if the first one still has controls
        self.assertFalse(datasets_page.check_spinner(0), "Spinner still found when it shouldn't have been!")
        self.assertTrue(datasets_page.check_controls_exist(0), "Dataset controls not found for this dataset entry")
Ejemplo n.º 25
0
    def test_sharing_experiment(self):
        homepage = Homepage(self.driver)
        login_page = homepage.click_login()
        homepage = login_page.valid_login(self.username, self.password)
        experiment_page = homepage.click_experiments()
        new_sdm_page = experiment_page.click_new_sdm_experiment()
        experiment_name = "sharing_test_" + generate_timestamp()
        new_sdm_page.enter_experiment_name(experiment_name)
        new_sdm_page.enter_experiment_description('Artificial Neural Network with Koala occurrences')
        new_sdm_page.select_configuration()
        new_sdm_page.select_sdm_algorithm('Artificial Neural Network')
        new_sdm_page.select_occurrences()
        new_sdm_page.select_occurrences_dataset('Koala - Mini occurrence dataset for Redland City')
        new_sdm_page.select_absences()
        new_sdm_page.select_absences_dataset('Koala - Mini absence dataset for Redland City')
        new_sdm_page.select_environment()
        new_sdm_page.select_current_climate_layers('30" (~1km)', 'Current climate layers for Redland City, 30" (~1km)')
        new_sdm_page.select_environmental_datasets('Current climate layers for Redland City, 30" (~1km)',
                                                   'B14 - Precipitation of Driest Month')
        new_sdm_page.select_run()
        experiment_view = new_sdm_page.select_review_start_experiment()

        # Wait until completion
        experiment_view.wait_for_experiment_to_complete()
        self.assertTrue(experiment_view.has_completed_successfully())


        # Navigate back to experiment list
        experiment_page = experiment_view.click_experiments()

        # Check it's in the list
        experiments = experiment_page.get_experiment_list()
        self.assertTrue(experiment_name.lower() in experiments[0], "Could not find SDM experment")

        # Share it
        sharing_page = experiment_page.click_share_experiment(experiment_name)
        sharing_page.check_can_view("Logged-in users")
        sharing_page.agree_to_terms_and_conditions()
        sharing_page.select_share_save()

        # Log out
        logged_out_homepage = homepage.click_logout()
        login_page = logged_out_homepage.click_login()
        login_page.valid_login("testuser", "Pass.123")
        experiment_page = homepage.click_experiments()

        experiments = experiment_page.get_experiment_list()
        self.assertTrue(experiment_name in experiments[0])

        # Log out so we can delete it
        logged_out_homepage = homepage.click_logout("test user")
        login_page = logged_out_homepage.click_login()
        login_page.valid_login(self.username, self.password)

        # Cleanup
        self.delete_experiment(experiment_name)
Ejemplo n.º 26
0
class TestHomepage:
    @pytest.fixture(autouse=True)
    def pre_test_setup(self, env: str, request: FixtureRequest):
        self.webdriver_client = WebDriverClient()
        self.homepage = Homepage(env, self.webdriver_client)
        request.addfinalizer(self.teardown)

    def teardown(self):
        if hasattr(self, 'webdriver_client'):
            self.webdriver_client.quit()

    def test_perform_one_super_basic_search_without_checking_search_results(
            self):
        self.homepage.open()
        job = random.choice(JobType.JOBS)
        city = random.choice(CityType.CITIES)
        self.homepage.type_in_what(job)
        self.homepage.type_in_where(city)
        self.homepage.click_find_jobs_button()
Ejemplo n.º 27
0
 def register_user(self):
     '''Method for simple user registration (fills only required fields)'''
     '''Filling step 1 registration fields'''
     registration_page = RegistrationPage(self._driver).wait_for_registration_page_load() \
         .type_first_name(Property.FIRST_NAME).type_last_name(Property.LAST_NAME) \
         .type_email(Property.EMAIL).type_password(Property.PASSWORD) \
         .type_phone(Property.PHONE).type_date_of_birth(Property.DATE_OF_BIRTH) \
         .type_postcode(Property.POSTCODE).type_address1(Property.ADDRESS1).type_city(Property.CITY)
     '''Filling step 2 registration fields'''
     registration_step2_page = registration_page.click_next_button().wait_for_registration_page_step2_to_laod() \
         .select_shares(Property.SHARES).select_forex(Property.FOREX)\
         .select_cfds(Property.CFDS).select_spread_betting(Property.SPREAD_BETTING)\
         .select_relevent_experience(Property.FINANCIAL_SECTOR_EXPERIENCE)
     registration_step2_page.scroll_to_bottom_of_the_page()
     registration_step2_page\
         .select_trading_platform().select_trading_currency(Property.CURRENCY)\
         .select_annual_income(Property.APPROX_ANNUAL_INCOME).select_employment_status(Property.EMPOLYMENT_STATUS)\
         .select_value_of_assets(Property.APPROX_VALUE_OF_ASSETS)\
         .check_i_have_read()
     '''Accepting terms from policy update'''
     policy_popup = registration_step2_page.click_finish_button()\
         .wait_for_policy_popup_load()\
         .click_agree_button()
     return Homepage(self._driver)
    def test_logout(self):
        try:
            driver = self.driver
            homepage = Homepage(driver)
            homepage.click_welcome()
            homepage.click_Logout()
            x = driver.title
            assert x == "ORANGEeHRM"

        except AssertionError as error:
            print("Assertion error occurred")
            print(error)
            currTime = moment.now().strftime("%d-%m-%Y_%H-%M-%S")
            testName = utils.whoami()
            screenshotName = testName + "_" + currTime
            allure.attach(self.driver.get_screenshot_as_png(),
                          name=screenshotName,
                          attachment_type=allure.attachment_type.PNG)
            driver.get_screenshot_as_file(
                "C:/Users/manikandan/PycharmProjects/AutomationFramework_1/screenshots/"
                + screenshotName + ".png")

            raise

        except:
            print("There was an exception")
            currTime = moment.now().strftime("%d-%m-%Y_%H-%M-%S")
            testName = utils.whoami()
            screenshotName = testName + "_" + currTime
            allure.attach(self.driver.get_screenshot_as_png(),
                          name=screenshotName,
                          attachment_type=allure.attachment_type.PNG)
            driver.get_screenshot_as_file(
                "C:/Users/manikandan/PycharmProjects/AutomationFramework_1/screenshots/"
                + screenshotName + ".png")

            raise

        else:
            print("No exceptions occurred")

        finally:
            print("This block will always execute and Close DB")
    def test_logout(self):
        try:
            driver = self.driver
            home = Homepage(driver)
            home.click_welcome()
            home.click_logout()
            x = driver.title
            assert x == "OrangeHRM"

        except AssertionError as Error:
            print("Assertion Error Occured")
            currTime = moment.now().strftime("%d-%m-%Y_%H-%M-%S")
            testName = util.whoami()
            screenshotName = testName + "_" + currTime
            allure.attach(self.driver.get_screenshot_as_png(),
                          name=screenshotName,
                          attachment_type=allure.attachment_type.PNG)
            driver.get_screenshot_as_file(
                "C:/Users/vijayago/PycharmProjects/Automation_Framework1/screenshots/"
                + screenshotName + ".png")
            print(Error)
            raise

        except:
            print("There was an exception")
            currTime = moment.now().strftime("%d-%m-%Y_%H-%M-%S")
            testName = util.whoami()
            screenshotName = testName + "_" + currTime
            allure.attach(self.driver.get_screenshot_as_png(),
                          name=screenshotName,
                          attachment_type=allure.attachment_type.PNG)
            driver.get_screenshot_as_file(
                "C:/Users/vijayago/PycharmProjects/Automation_Framework1/screenshots/"
                + screenshotName + ".png")

        else:
            print("There was no Error")

        finally:
            print("Final block executed")
        def test_logout(self,test_setup):
        try:
            home_obj = Homepage(driver)
            home_obj.click_welcome()
            home_obj.click_logout()
            x= driver.title
            assert x== "OrangeHRM"

        except AssertionError as error:
            print("Assertionerror")
            print(error)
            raise

        except:
            print("there is an exception")
            raise

        else:
            print("No Exception occured")

        finally:
            print("Test Completed")
Ejemplo n.º 31
0
 def test_datasets_page(self):
     homepage = Homepage(self.driver)
     login_page = homepage.click_login()
     homepage = login_page.valid_login(self.username, self.password)
     datasets_page = homepage.click_datasets()
     self.assertEqual("BCCVL Datasets", datasets_page.title)
Ejemplo n.º 32
0
 def test_experiments_page(self):
     homepage = Homepage(self.driver)
     login_page = homepage.click_login()
     homepage = login_page.valid_login(self.username, self.password)
     experiments_page = homepage.click_experiments()
     self.assertEqual("BCCVL Experiment List", experiments_page.title)
Ejemplo n.º 33
0
 def test_knowledgebase_page(self):
     homepage = Homepage(self.driver)
     login_page = homepage.click_login()
     homepage = login_page.valid_login(self.username, self.password)
     knowledge_base_page = homepage.click_knowledge_base()
     self.assertEqual("BCCVL Knowledge Base", knowledge_base_page.title)
Ejemplo n.º 34
0
 def test_app_login(self):
     homepage = Homepage(self.driver)
     self.assertEqual("BCCVL Home", homepage.title)
     login_page = homepage.click_login()
     homepage = login_page.valid_login(self.username, self.password)
Ejemplo n.º 35
0
 def pre_test_setup(self, env: str, request: FixtureRequest):
     self.webdriver_client = WebDriverClient()
     self.homepage = Homepage(env, self.webdriver_client)
     request.addfinalizer(self.teardown)
Ejemplo n.º 36
0
    def test_sharing_dataset(self):
        homepage = Homepage(self.driver)
        login_page = homepage.click_login()
        homepage = login_page.valid_login(self.username, self.password)

        datasets_page = homepage.click_datasets()

        datasets_discover_page = datasets_page.select_dataset_discover()
        datasets_discover_page.enter_find_species("pig")
        datasets_discover_page.click_species()

        # We get redirected back to datasets list page here
        datasets_page = datasets_discover_page.click_download_species()

        # Try generate the list of names
        name_list = datasets_page.get_dataset_list()

        # The first one should be pig
        # Make sure we can find pig in the first one'
        self.assertNotEqual(name_list[0].find("pig"), -1, "Could not find pig dataset")

        # Wait until the first one doesn't have a spinner anymore
        datasets_page.wait_while_spinner(0)

        # Refresh the page
        datasets_page.driver.refresh()

        # See if the first one still has controls
        self.assertFalse(datasets_page.check_spinner(0), "Spinner still found when it shouldn't have been!")
        self.assertTrue(datasets_page.check_controls_exist(0), "Dataset controls not found for this dataset entry")

        # click on share.
        sharing_page = datasets_page.click_share_dataset("pig")
        sharing_page.check_can_view("Logged-in users")
        sharing_page.agree_to_terms_and_conditions()
        datasets_page = sharing_page.select_share_save()
        logged_in_homepage = datasets_page.click_homepage()

        # Log out
        logged_out_homepage = logged_in_homepage.click_logout("admin")
        login_page = logged_out_homepage.click_login()
        homepage = login_page.valid_login("testuser", "Pass.123")
        datasets_page = homepage.click_datasets()

        datasets = datasets_page.get_dataset_list()
        self.assertTrue("pig" in datasets[0].lower())

        # ************************************#
        # At this point, we log out of testuser, back into admin
        # to add a different ALA set to make sure the test
        # passed not because of a coincidence
        # ************************************#
        logged_out_homepage = homepage.click_logout("test user")
        login_page = logged_out_homepage.click_login()
        homepage = login_page.valid_login(self.username, self.password)
        datasets_page = homepage.click_datasets()
        datasets_discover_page = datasets_page.select_dataset_discover()
        datasets_discover_page.enter_find_species("platypus")
        datasets_discover_page.click_species()

        # We get redirected back to datasets list page here
        datasets_page = datasets_discover_page.click_download_species()

        # Try generate the list of names
        name_list = datasets_page.get_dataset_list()

        # The first one should be pig
        # Make sure we can find pig in the first one'
        self.assertNotEqual(name_list[0].find("platypus"), -1, "Could not find platypus dataset")

        # Wait until the first one doesn't have a spinner anymore
        datasets_page.wait_while_spinner(0)

        # Refresh the page
        datasets_page.driver.refresh()

        # See if the first one still has controls
        self.assertFalse(datasets_page.check_spinner(0), "Spinner still found when it shouldn't have been!")
        self.assertTrue(datasets_page.check_controls_exist(0), "Dataset controls not found for this dataset entry")

        # click on share.
        sharing_page = datasets_page.click_share_dataset("platypus")
        sharing_page.check_can_view("Logged-in users")
        sharing_page.agree_to_terms_and_conditions()
        sharing_page.select_share_save()

        # Log out
        logged_out_homepage = homepage.click_logout()
        login_page = logged_out_homepage.click_login()
        homepage = login_page.valid_login("testuser", "Pass.123")
        datasets_page = homepage.click_datasets()

        datasets = datasets_page.get_dataset_list()
        self.assertTrue("platypus" in datasets[0].lower())
def step_impl(context):
    context.homepage = Homepage(context.browser)
    context.homepage.navigate_to()
Ejemplo n.º 38
0
 def __init__(self, app):
     self.app = app
     self.driver = app.driver
     self.hp_actions = Homepage(driver=self.driver)
Ejemplo n.º 39
0
import time
from selenium.webdriver import Chrome
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait

from pages.homepage import Homepage
import config

driver = Chrome(config.CHROMEDRIVER)
# url = config.HOMEPAGE_URL
url = config.EDU_URL

#driver.implicitly_wait(30)      # 设置隐式等待时长,超过该时间仍未找到元素则跳过操作

page = Homepage(driver=driver, url=url)
Ejemplo n.º 40
0
 def setUpClass(cls):
     cls.driver = Chrome(config.CHROMEDRIVER)  # chromedriver的文件地址
     url = config.HOMEPAGE_URL
     cls.session = Homepage(driver=cls.driver, url=url)
     cls.session.fullscreen()
     cls.m = Menus()
Ejemplo n.º 41
0
    def test_unsharing_dataset(self):
        homepage = Homepage(self.driver)
        login_page = homepage.click_login()
        homepage = login_page.valid_login(self.username, self.password)

        datasets_page = homepage.click_datasets()

        datasets_discover_page = datasets_page.select_dataset_discover()
        datasets_discover_page.enter_find_species("pig")
        datasets_discover_page.click_species()

        # We get redirected back to datasets list page here
        datasets_page = datasets_discover_page.click_download_species()

        # Try generate the list of names
        name_list = datasets_page.get_dataset_list()

        # The first one should be pig
        # Make sure we can find pig in the first one'
        self.assertNotEqual(name_list[0].find("pig"), -1, "Could not find pig dataset")

        # Wait until the first one doesn't have a spinner anymore
        datasets_page.wait_while_spinner(0)

        # Refresh the page
        datasets_page.driver.refresh()

        # See if the first one still has controls
        self.assertFalse(datasets_page.check_spinner(0), "Spinner still found when it shouldn't have been!")
        self.assertTrue(datasets_page.check_controls_exist(0), "Dataset controls not found for this dataset entry")

        # click on share.
        sharing_page = datasets_page.click_share_dataset("pig")
        sharing_page.check_can_view("Logged-in users")
        sharing_page.agree_to_terms_and_conditions()
        sharing_page.select_share_save()

        # Do this again with a different dataset, so that when we unshare one, we know
        # which one should be at the top.
        datasets_discover_page = datasets_page.select_dataset_discover()
        datasets_discover_page.enter_find_species("rat")
        datasets_discover_page.click_species()

        # We get redirected back to datasets list page here
        datasets_page = datasets_discover_page.click_download_species()

        # Try generate the list of names
        name_list = datasets_page.get_dataset_list()

        # The first one should be pig
        # Make sure we can find pig in the first one'
        self.assertNotEqual(name_list[0].find("rat"), -1, "Could not find rat dataset")

        # Wait until the first one doesn't have a spinner anymore
        datasets_page.wait_while_spinner(0)

        # Refresh the page
        datasets_page.driver.refresh()

        # See if the first one still has controls
        self.assertFalse(datasets_page.check_spinner(0), "Spinner still found when it shouldn't have been!")
        self.assertTrue(datasets_page.check_controls_exist(0), "Dataset controls not found for this dataset entry")

        # click on share.
        sharing_page = datasets_page.click_share_dataset("rat")
        sharing_page.check_can_view("Logged-in users")
        sharing_page.agree_to_terms_and_conditions()
        datasets_list = sharing_page.select_share_save()
        logged_in_homepage = datasets_list.click_homepage()

        # Log out
        logged_out_homepage = logged_in_homepage.click_logout()
        login_page = logged_out_homepage.click_login()
        homepage = login_page.valid_login("testuser", "Pass.123")
        datasets_page = homepage.click_datasets()

        datasets = datasets_page.get_dataset_list()
        self.assertNotEqual("rat" in datasets[0].lower(), -1, "Wrong dataset in dataset list")

        # ************************************#
        # At this point, we log back into admin to unshare pig
        # ************************************#
        logged_out_homepage = homepage.click_logout("test user")
        login_page = logged_out_homepage.click_login()
        homepage = login_page.valid_login(self.username, self.password)
        datasets_page = homepage.click_datasets()

        # Toggle rat. (i.e. unshare)
        sharing_page = datasets_page.click_share_dataset("rat")
        sharing_page.check_can_view("Logged-in users")
        sharing_page.agree_to_terms_and_conditions()
        datasets_list = sharing_page.select_share_save()
        logged_in_homepage = datasets_list.click_homepage()

        logged_out_homepage = logged_in_homepage.click_logout()
        login_page = logged_out_homepage.click_login()
        homepage = login_page.valid_login("testuser", "Pass.123")
        datasets_page = homepage.click_datasets()
        datasets = datasets_page.get_dataset_list()

        self.assertNotEqual("pig" in datasets[0].lower(), -1, "Wrong dataset in the dataset list")
Ejemplo n.º 42
0
 def test_login(self, selenium, base_url):
     homepage = Homepage(selenium, base_url).open()
     homepage.login("email", "password", "secret_seed")
     assert homepage.is_user_picture_displayed
Ejemplo n.º 43
0
 def test_logout(self):
     driver = self.driver
     lp = Homepage(driver)
     lp.click_navigation_drpdwn()
     lp.click_logout_btn()