示例#1
0
def confirm_image_is_deleted(driver):
    """confirm image is deleted."""
    assert wait_on_element(driver, 10, '//*[contains(.,"Please wait")]')
    assert wait_on_element_disappear(driver, 35,
                                     '//*[contains(.,"Please wait")]')
    assert wait_on_element_disappear(driver, 15,
                                     '//tr[contains(.,"nextcloud")]')
示例#2
0
def the_active_directory_setup_should_successfully_save_without_an_error(
        driver):
    """the Active Directory setup should successfully save without an error.."""
    assert wait_on_element_disappear(driver, 30,
                                     '//h6[contains(.,"Please wait")]')
    assert wait_on_element_disappear(driver, 30, '//h1[text()="Start"]')
    assert wait_on_element(driver, 7, f'//span[text()="{domain.upper()}"]')
示例#3
0
def confirm_installation_is_successful(driver):
    """confirm installation is successful."""
    time.sleep(2)  # we have to wait for the page to settle down and the card to fully load
    assert wait_on_element(driver, 10, '//div[contains(text(),"Installed Applications")]', 'clickable')
    driver.find_element_by_xpath('//div[contains(text(),"Installed Applications")]').click()
    time.sleep(2)  # we have to wait for the page to settle down and the cards to fully load
    if is_element_present(driver, '//mat-card[contains(.,"plex-test")]//span[@class="status active"]') is False:
        assert wait_on_element(driver, 20, '//strong[contains(.,"plex-test")]')
        assert wait_on_element(driver, 20, '//strong[contains(.,"plex-test")]', 'clickable')
        driver.find_element_by_xpath('//strong[contains(.,"plex-test")]').click()
        if wait_on_element(driver, 5, '//*[contains(.,"Please wait")]'):
            assert wait_on_element_disappear(driver, 10, '//*[contains(.,"Please wait")]')
        assert wait_on_element(driver, 10, '//div[@class="logo-container" and contains(.,"plex-test")]')
        assert wait_on_element(driver, 10, '//mat-panel-title[contains(.,"Application Events")]', 'clickable')
        driver.find_element_by_xpath('//mat-panel-title[contains(.,"Application Events")]').click()
        while is_element_present(driver, '//div[(normalize-space(text())="Started container plex")]') is False:
            time.sleep(2)
            assert wait_on_element(driver, 10, '//span[contains(.,"Refresh Events")]', 'clickable')
            driver.find_element_by_xpath('//span[contains(.,"Refresh Events")]').click()
            # make sure Please wait pop up is gone before continuing.
            if wait_on_element(driver, 3, '//*[contains(.,"Please wait")]'):
                assert wait_on_element_disappear(driver, 10, '//*[contains(.,"Please wait")]')
        else:
            assert wait_on_element(driver, 10, '//span[contains(.,"Close")]', 'clickable')
            driver.find_element_by_xpath('//span[contains(.,"Close")]').click()
            time.sleep(30)  # Because of slow start up times, Plex takes another 10-15 second to switch from "Deploying to Active"  So we can either flip the page constantly or just wait and give it time.
            assert wait_on_element(driver, 10, '//div[contains(text(),"Available Applications")]', 'clickable')
            driver.find_element_by_xpath('//div[contains(text(),"Available Applications")]').click()
            assert wait_on_element(driver, 10, '//div[contains(text(),"Installed Applications")]', 'clickable')
            driver.find_element_by_xpath('//div[contains(text(),"Installed Applications")]').click()
            assert wait_on_element(driver, 300, '//mat-card[contains(.,"plex-test")]//span[@class="status active"]')
    else:
        assert wait_on_element(driver, 300, '//mat-card[contains(.,"plex-test")]//span[@class="status active"]')
示例#4
0
def verify_the_group_was_deleted(driver):
    """verify the group was deleted."""
    assert wait_on_element_disappear(driver, 20,
                                     '//h6[contains(.,"Please wait")]')
    assert wait_on_element(driver, 10, '//h1[contains(.,"Groups")]')
    assert wait_on_element_disappear(driver, 10,
                                     '//div[contains(.,"gidtestdupe")]')
示例#5
0
def click_the_save_button_which_should_be_returned_to_the_storage_page_on_the_edit_acl_page_verify_that_the_group_name_is_group_name(
        driver, group_name):
    """click the Save button, which should be returned to the storage page, on the Edit ACL page, verify that the group name is "{group_name}".."""
    assert wait_on_element(
        driver, 5, '//span[contains(text(),"Save Access Control List")]',
        'clickable')
    driver.find_element_by_xpath(
        '//span[contains(text(),"Save Access Control List")]').click()
    assert wait_on_element_disappear(driver, 30,
                                     '//h6[contains(.,"Please wait")]')
    assert wait_on_element(driver, 10, '//h1[text()="Storage"]')
    assert wait_on_element_disappear(driver, 15,
                                     '//mat-spinner[@role="progressbar"]')
    assert wait_on_element(driver, 10,
                           '//div[contains(text(),"my_acl_dataset")]')
    assert wait_on_element(
        driver, 5,
        '//tr[contains(.,"my_acl_dataset")]//mat-icon[text()="more_vert"]',
        'clickable')
    driver.find_element_by_xpath(
        '//tr[contains(.,"my_acl_dataset")]//mat-icon[text()="more_vert"]'
    ).click()
    assert wait_on_element(
        driver, 5, '//button[normalize-space(text())="View Permissions"]')
    driver.find_element_by_xpath(
        '//button[normalize-space(text())="View Permissions"]').click()
    assert wait_on_element(driver, 7, f'//div[text()="Group - {group_name}"]')
示例#6
0
def confirm_installation_is_successful(driver):
    """confirm installation is successful."""
    assert wait_on_element(driver, 180, '//h3[text()="plex"]')
    assert wait_on_element(driver, 10, '//div[contains(.,"plex") and @class="content"]//button', 'clickable')
    time.sleep(1)
    assert wait_on_element(driver, 10, '//div[contains(text(),"Installed Applications")]', 'clickable')
    driver.find_element_by_xpath('//div[contains(text(),"Installed Applications")]').click()
    assert wait_on_element(driver, 120, '//strong[text()="plex-test"]')
    time.sleep(2)
    if is_element_present(driver, '//mat-card[contains(.,"truecommand-test")]//span[@class="status active"]') is False:
        assert wait_on_element(driver, 20, '//strong[contains(.,"truecommand-test")]')
        assert wait_on_element(driver, 20, '//strong[contains(.,"truecommand-test")]', 'clickable')
        driver.find_element_by_xpath('//strong[contains(.,"truecommand-test")]').click()
        if wait_on_element(driver, 3, '//*[contains(.,"Please wait")]'):
            assert wait_on_element_disappear(driver, 60, '//*[contains(.,"Please wait")]')
        # refresh loop
        assert wait_on_element(driver, 10, '//mat-panel-title[contains(.,"Application Events")]', 'clickable')
        driver.find_element_by_xpath('//mat-panel-title[contains(.,"Application Events")]').click()
        while is_element_present(driver, '//div[(normalize-space(text())="Started container ix-chart")]') is False:
            time.sleep(2)
            assert wait_on_element(driver, 10, '//span[contains(.,"Refresh Events")]', 'clickable')
            driver.find_element_by_xpath('//span[contains(.,"Refresh Events")]').click()
            # make sure Please wait pop up is gone before continuing.
            if wait_on_element(driver, 3, '//*[contains(.,"Please wait")]'):
                assert wait_on_element_disappear(driver, 10, '//*[contains(.,"Please wait")]')
        else:
            assert wait_on_element(driver, 10, '//span[contains(.,"Close")]', 'clickable')
            driver.find_element_by_xpath('//span[contains(.,"Close")]').click()
        assert wait_on_element(driver, 300, '//mat-card[contains(.,"truecommand-test")]//span[@class="status active"]')
    else:
        assert wait_on_element(driver, 300, '//mat-card[contains(.,"truecommand-test")]//span[@class="status active"]')
示例#7
0
def confirm_installation_is_successful(driver):
    """confirm installation is successful."""
    assert wait_on_element(driver, 10, '//div[contains(text(),"Installed Applications")]', 'clickable')
    driver.find_element_by_xpath('//div[contains(text(),"Installed Applications")]').click()
    time.sleep(2)  # we have to wait for the page to settle down and the card to fully load
    if is_element_present(driver, '//mat-card[contains(.,"collabora-test")]//span[@class="status active"]') is False:
        assert wait_on_element(driver, 20, '//strong[contains(.,"collabora-test")]')
        assert wait_on_element(driver, 20, '//strong[contains(.,"collabora-test")]', 'clickable')
        driver.find_element_by_xpath('//strong[contains(.,"collabora-test")]').click()
        if wait_on_element(driver, 5, '//*[contains(.,"Please wait")]'):
            assert wait_on_element_disappear(driver, 10, '//*[contains(.,"Please wait")]')
        assert wait_on_element(driver, 10, '//div[@class="logo-container" and contains(.,"collabora-test")]')
        assert wait_on_element(driver, 10, '//mat-panel-title[contains(.,"Application Events")]', 'clickable')
        driver.find_element_by_xpath('//mat-panel-title[contains(.,"Application Events")]').click()
        while is_element_present(driver, '//div[(normalize-space(text())="Started container collabora")]') is False:
            time.sleep(2)
            assert wait_on_element(driver, 10, '//span[contains(.,"Refresh Events")]', 'clickable')
            driver.find_element_by_xpath('//span[contains(.,"Refresh Events")]').click()
            # make sure Please wait pop up is gone before continuing.
            if wait_on_element(driver, 3, '//*[contains(.,"Please wait")]'):
                assert wait_on_element_disappear(driver, 10, '//*[contains(.,"Please wait")]')
        else:
            assert wait_on_element(driver, 10, '//span[contains(.,"Close")]', 'clickable')
            driver.find_element_by_xpath('//span[contains(.,"Close")]').click()
            time.sleep(1)  # wait for popup to close
            # we have to change tab for UI to refresh
            assert wait_on_element(driver, 10, '//div[contains(text(),"Available Applications")]', 'clickable')
            driver.find_element_by_xpath('//div[contains(text(),"Available Applications")]').click()
            assert wait_on_element(driver, 10, '//div[contains(text(),"Installed Applications")]', 'clickable')
            driver.find_element_by_xpath('//div[contains(text(),"Installed Applications")]').click()
            assert wait_on_element(driver, 300, '//mat-card[contains(.,"collabora-test")]//span[@class="status active"]')
    else:
        assert wait_on_element(driver, 300, '//mat-card[contains(.,"collabora-test")]//span[@class="status active"]')
示例#8
0
def change_should_be_saved(driver):
    """Change should be saved."""
    assert wait_on_element_disappear(driver, 20,
                                     '//h6[contains(.,"Please wait")]')
    assert wait_on_element_disappear(driver, 7,
                                     '//h3[contains(.,"Edit User")]')
    assert wait_on_element(driver, 7, '//div[contains(.,"Users")]')
    assert wait_on_element(driver, 10, '//td[contains(.,"root")]')
示例#9
0
def create_pool_should_appear_while_pool_is_being_created_you_should_be_returned_to_list_of_pools_and_tank_should_appear_in_the_list(
        driver):
    """Create Pool should appear while pool is being created. You should be returned to list of pools and tank should appear in the list."""
    assert wait_on_element(driver, 0.2, 30, '//h1[contains(.,"Create Pool")]')
    driver.find_element_by_xpath('//h1[contains(.,"Create Pool")]')
    wait_on_element_disappear(driver, 1, 30, '//h1[contains(.,"Create Pool")]')
    assert wait_on_element(driver, 1, 30,
                           '//mat-panel-title[contains(.,"tank")]')
    driver.find_element_by_xpath('//mat-panel-title[contains(.,"tank")]')
    driver.find_element_by_xpath('//td[@ix-auto="value__tank_name"]')
示例#10
0
def verify_the_checkbox_works_and_click_save(driver):
    """verify the checkbox works and click Save."""
    wait_for_value = wait_for_attribute_value(
        driver, 5, '//ix-checkbox[@formcontrolname="rootlogin"]//mat-checkbox',
        'class', 'mat-checkbox-checked')
    assert wait_for_value
    assert wait_on_element(driver, 5, '//span[contains(text(),"Save")]',
                           'clickable')
    driver.find_element_by_xpath('//span[contains(text(),"Save")]').click()
    wait_on_element_disappear(driver, 10, '//h6[contains(.,"Please wait")]')
示例#11
0
def Please_wait_should_appear_while_settings_are_being_applied(driver):
    """Please wait should appear while settings are being applied."""
    # assert need to be added after the UI get fix.
    assert wait_on_element_disappear(driver, 30, '//mat-progress-bar')
    assert wait_on_element_disappear(
        driver, 20,
        '//div[contains(.,"System Dataset Pool:")]//span[text()="tank"]')
    assert wait_on_element(
        driver, 5,
        '//div[contains(.,"System Dataset Pool:")]//span[text()="dozer"]')
示例#12
0
def verify_the_checkbox_works_and_click_save(driver):
    """verify the checkbox works and click Save."""
    wait_for_value = wait_for_attribute_value(
        driver, 5,
        '//mat-checkbox[@ix-auto="checkbox__Log in as Root with Password"]',
        'class', 'mat-checkbox-checked')
    assert wait_for_value
    assert wait_on_element(driver, 5, '//button[@ix-auto="button__SAVE"]',
                           'clickable')
    driver.find_element_by_xpath('//button[@ix-auto="button__SAVE"]').click()
    wait_on_element_disappear(driver, 10, '//h6[contains(.,"Please wait")]')
示例#13
0
def change_should_be_saved_open_the_user_dropdown_the_email_value_should_be_visible(driver):
    """change should be saved, open the user dropdown, the email value should be visible."""
    wait_on_element_disappear(driver, 1, '//h6[contains(.,"Please wait")]')
    time.sleep(3)
    assert wait_on_element(driver, 7, '//div[contains(.,"Users")]')
    assert wait_on_element(driver, 10, '//tr[@ix-auto="expander__ericbsd"]/td', 'clickable')
    driver.find_element_by_xpath('//tr[@ix-auto="expander__ericbsd"]/td').click()
    driver.find_element_by_xpath('//h4[contains(.,"Email:")]')
        ## return to dashboard
    assert wait_on_element(driver, 10, '//mat-list-item[@ix-auto="option__Dashboard"]', 'clickable')
    driver.find_element_by_xpath('//mat-list-item[@ix-auto="option__Dashboard"]').click()
    time.sleep(1)
示例#14
0
def reopen_the_user_edit_page_and_verify_all_permissions_are_save_properly(
        driver):
    """reopen the user edit page and verify all permissions are save properly."""
    assert wait_on_element_disappear(driver, 60,
                                     '//h6[contains(.,"Please wait")]')
    assert wait_on_element(driver, 7, '//div[contains(.,"Users")]')
    assert wait_on_element(driver, 10, '//tr[contains(.,"ericbsd")]//mat-icon',
                           'clickable')
    driver.find_element_by_xpath(
        '//tr[contains(.,"ericbsd")]//mat-icon').click()
    assert wait_on_element(
        driver, 10,
        '(//tr[contains(.,"ericbsd")]/following-sibling::ix-user-details-row)[1]//button[contains(.,"Edit")]',
        'clickable')
    driver.find_element_by_xpath(
        '(//tr[contains(.,"ericbsd")]/following-sibling::ix-user-details-row)[1]//button[contains(.,"Edit")]'
    ).click()
    assert wait_on_element(driver, 10, '//h3[contains(.,"Edit User")]')
    assert wait_on_element_disappear(driver, 10,
                                     '//h6[contains(.,"Please wait")]')
    time.sleep(1)
    assert wait_on_element(
        driver, 2, '//mat-checkbox[@ix-auto="checkbox__home_mode_groupWrite"]')
    assert attribute_value_exist(
        driver, '//mat-checkbox[@ix-auto="checkbox__home_mode_ownerWrite"]',
        'class', 'mat-checkbox-checked')
    assert attribute_value_exist(
        driver, '//mat-checkbox[@ix-auto="checkbox__home_mode_ownerRead"]',
        'class', 'mat-checkbox-checked')
    assert attribute_value_exist(
        driver, '//mat-checkbox[@ix-auto="checkbox__home_mode_ownerExec"]',
        'class', 'mat-checkbox-checked')
    assert attribute_value_exist(
        driver, '//mat-checkbox[@ix-auto="checkbox__home_mode_groupRead"]',
        'class', 'mat-checkbox-checked')
    assert attribute_value_exist(
        driver, '//mat-checkbox[@ix-auto="checkbox__home_mode_groupWrite"]',
        'class', 'mat-checkbox-checked')
    assert attribute_value_exist(
        driver, '//mat-checkbox[@ix-auto="checkbox__home_mode_groupExec"]',
        'class', 'mat-checkbox-checked') is False
    assert attribute_value_exist(
        driver, '//mat-checkbox[@ix-auto="checkbox__home_mode_otherRead"]',
        'class', 'mat-checkbox-checked')
    assert attribute_value_exist(
        driver, '//mat-checkbox[@ix-auto="checkbox__home_mode_otherWrite"]',
        'class', 'mat-checkbox-checked')
    assert attribute_value_exist(
        driver, '//mat-checkbox[@ix-auto="checkbox__home_mode_otherExec"]',
        'class', 'mat-checkbox-checked') is False
示例#15
0
def click_save_and_changes_should_be_saved_the_dropdown_details_pane_should_show_the_home_directory_has_changed(
        driver):
    """click save and changes should be saved, the drop-down details pane should show the home directory has changed."""
    assert wait_on_element(driver, 2, '//button[span[contains(.,"Save")]]')
    driver.find_element_by_xpath('//button[span[contains(.,"Save")]]').click()
    assert wait_on_element_disappear(driver, 20,
                                     '//h6[contains(.,"Please wait")]')
    assert wait_on_element(driver, 7, '//div[contains(.,"Users")]')
    assert wait_on_element(driver, 10, '//tr[contains(.,"ericbsd")]//mat-icon',
                           'clickable')
    driver.find_element_by_xpath(
        '//tr[contains(.,"ericbsd")]//mat-icon').click()
    assert wait_on_element_disappear(driver, 10,
                                     '//h4[contains(.,"/nonexistent")]')
示例#16
0
def create_1st_dataset_rtacltest1(driver, dataset_name):
    """Create 1st dataset rt-acl-test-1."""
    assert wait_on_element(
        driver, 5, '//tr[contains(.,"tank")]//mat-icon[text()="more_vert"]',
        'clickable')
    driver.find_element_by_xpath(
        '//tr[contains(.,"tank")]//mat-icon[text()="more_vert"]').click()
    assert wait_on_element(driver, 4,
                           '//button[normalize-space(text())="Add Dataset"]',
                           'clickable')
    driver.find_element_by_xpath(
        '//button[normalize-space(text())="Add Dataset"]').click()
    assert wait_on_element(driver, 5, '//h3[text()="Add Dataset"]')
    assert wait_on_element(driver, 5, '//input[@ix-auto="input__Name"]',
                           'inputable')
    driver.find_element_by_xpath('//input[@ix-auto="input__Name"]').clear()
    driver.find_element_by_xpath('//input[@ix-auto="input__Name"]').send_keys(
        dataset_name)
    assert wait_on_element(driver, 5,
                           '//mat-select[@ix-auto="select__Share Type"]')
    driver.find_element_by_xpath(
        '//mat-select[@ix-auto="select__Share Type"]').click()
    assert wait_on_element(driver, 5,
                           '//mat-option[@ix-auto="option__Share Type_SMB"]',
                           'clickable')
    driver.find_element_by_xpath(
        '//mat-option[@ix-auto="option__Share Type_SMB"]').click()
    assert wait_on_element(driver, 5, '//button[@ix-auto="button__SAVE"]',
                           'clickable')
    driver.find_element_by_xpath('//button[@ix-auto="button__SAVE"]').click()
    assert wait_on_element_disappear(driver, 15,
                                     '//h6[contains(.,"Please wait")]')
示例#17
0
def click_create_confirm_the_warning_checkbox_and_click_create_pool(driver):
    """click create confirm the warning checkbox and click CREATE POOL."""
    assert wait_on_element(driver, 10, '//h1[contains(.,"Warning")]')
    assert wait_on_element(driver, 7,
                           '//mat-checkbox[@name="confirm_checkbox"]',
                           'clickable')
    driver.find_element_by_xpath(
        '//mat-checkbox[@name="confirm_checkbox"]').click()
    assert wait_on_element(driver, 7, '//button[@ix-auto="button__CONTINUE"]',
                           'clickable')
    driver.find_element_by_xpath(
        '//button[@ix-auto="button__CONTINUE"]').click()
    assert wait_on_element(driver, 5,
                           '//button[@id="pool-manager__create-button"]',
                           'clickable')
    driver.find_element_by_xpath(
        '//button[@id="pool-manager__create-button"]').click()
    assert wait_on_element(driver, 10, '//h1[contains(.,"Warning")]')
    assert wait_on_element(driver, 7,
                           '//mat-checkbox[@name="confirm_checkbox"]',
                           'clickable')
    driver.find_element_by_xpath(
        '//mat-checkbox[@name="confirm_checkbox"]').click()
    assert wait_on_element(driver, 7,
                           '//button[@ix-auto="button__CREATE POOL"]',
                           'clickable')
    driver.find_element_by_xpath(
        '//button[@ix-auto="button__CREATE POOL"]').click()
    assert wait_on_element_disappear(driver, 60,
                                     '//h6[contains(.,"Create Pool")]')
    assert wait_on_element(driver, 30, '//button[contains(text(),"Done")]',
                           'clickable')
    driver.find_element_by_xpath('//button[contains(text(),"Done")]').click()
    assert wait_on_element(driver, 10, '//h1[contains(.,"Storage")]')
示例#18
0
def active_directory_should_successfully_save_and_start_without_an_error(
        driver):
    """Active Directory should successfully save and start without an error."""
    assert wait_on_element_disappear(driver, 1, 20,
                                     '//h6[contains(.,"Please wait")]')
    assert wait_on_element(driver, 1, 7,
                           '//div[contains(.,"Settings saved.")]')
示例#19
0
def click_save_and_changes_should_be_saved_the_dropdown_details_pane_should_show_the_home_directory_has_changed(
        driver):
    """click save and changes should be saved, the drop-down details pane should show the home directory has changed."""
    assert wait_on_element(driver, 2, '//button[@ix-auto="button__SAVE"]')
    driver.find_element_by_xpath('//button[@ix-auto="button__SAVE"]').click()
    assert wait_on_element_disappear(driver, 20,
                                     '//h6[contains(.,"Please wait")]')
    assert wait_on_element(driver, 2, '//div[contains(.,"Users")]')
    time.sleep(6)
    assert wait_on_element(driver, 7, '//div[contains(.,"Users")]')
    assert wait_on_element(driver, 10, '//tr[@ix-auto="expander__ericbsd"]/td',
                           'clickable')
    driver.find_element_by_xpath(
        '//tr[@ix-auto="expander__ericbsd"]/td').click()
    #driver.find_element_by_xpath('//h4[contains(.,"/nonexistent")]') is False
    assert wait_on_element(driver, 10,
                           '//h4[contains(.,"/nonexistent")]') is False
    ## return to dashboard
    time.sleep(1)
    assert wait_on_element(driver, 10,
                           '//mat-list-item[@ix-auto="option__Dashboard"]',
                           'clickable')
    driver.find_element_by_xpath(
        '//mat-list-item[@ix-auto="option__Dashboard"]').click()
    time.sleep(1)
示例#20
0
def click_on_the_dataset_name_3_dots_button_select_edit_permissions(
        driver, dataset_name):
    """click on the "{dataset_name}" 3 dots button, select Edit Permissions.."""
    assert wait_on_element(driver, 7, '//h1[text()="Storage"]')
    assert wait_on_element_disappear(driver, 15,
                                     '//mat-spinner[@role="progressbar"]')
    assert wait_on_element(driver, 10,
                           '//div[contains(text(),"my_acl_dataset")]')
    assert wait_on_element(
        driver, 5,
        '//tr[contains(.,"my_acl_dataset")]//mat-icon[text()="more_vert"]',
        'clickable')
    driver.find_element_by_xpath(
        '//tr[contains(.,"my_acl_dataset")]//mat-icon[text()="more_vert"]'
    ).click()
    assert wait_on_element(
        driver, 5, '//button[normalize-space(text())="View Permissions"]',
        'clickable')
    driver.find_element_by_xpath(
        '//button[normalize-space(text())="View Permissions"]').click()
    assert wait_on_element(driver, 5,
                           '//mat-icon[normalize-space(text())="edit"]',
                           'clickable')
    driver.find_element_by_xpath(
        '//mat-icon[normalize-space(text())="edit"]').click()
示例#21
0
def click_summit_the_dataset_name_data_should_be_created(driver, dataset_name):
    """click Summit the "{dataset_name}" data should be created.."""
    assert wait_on_element(driver, 5, '//button[@ix-auto="button__SAVE"]',
                           'clickable')
    driver.find_element_by_xpath('//button[@ix-auto="button__SAVE"]').click()
    assert wait_on_element_disappear(driver, 20,
                                     '//h6[contains(.,"Please wait")]')
示例#22
0
def click_setting_reset_pool(driver):
    """click setting, reset pool."""
    assert wait_on_element(
        driver, 10,
        '//button[@ix-auto-type="button"]//span[contains(text(),"Settings")]',
        'clickable')
    driver.find_element_by_xpath(
        '//button[@ix-auto-type="button"]//span[contains(text(),"Settings")]'
    ).click()
    assert wait_on_element(driver, 10,
                           '//span[contains(text(),"Choose Pool")]',
                           'clickable')
    driver.find_element_by_xpath(
        '//span[contains(text(),"Choose Pool")]').click()
    assert wait_on_element(driver, 7,
                           '//h1[contains(.,"Choose a pool for Apps")]')
    assert wait_on_element(driver, 5, '//mat-select[@ix-auto="select__Pools"]',
                           'clickable')
    driver.find_element_by_xpath(
        '//mat-select[@ix-auto="select__Pools"]').click()
    assert wait_on_element(driver, 7,
                           '//mat-option[@ix-auto="option__Pools_tank"]',
                           'clickable')
    driver.find_element_by_xpath(
        '//mat-option[@ix-auto="option__Pools_tank"]').click()
    assert wait_on_element(driver, 7, '//button[@name="Choose_button"]',
                           'clickable')
    driver.find_element_by_xpath('//button[@name="Choose_button"]').click()
    assert wait_on_element_disappear(driver, 60,
                                     '//h1[contains(.,"Configuring...")]')
    assert wait_on_element(driver, 7, '//button[@ix-auto="button__CLOSE"]',
                           'clickable')
    driver.find_element_by_xpath('//button[@ix-auto="button__CLOSE"]').click()
    assert wait_on_element(driver, 7,
                           '//div[contains(.,"Available Applications")]')
示例#23
0
def change_should_be_saved(driver):
    """Change should be saved."""
    assert wait_on_element(driver, 0.5, 7, '//button[@ix-auto="button__SAVE"]')
    driver.find_element_by_xpath('//button[@ix-auto="button__SAVE"]').click()
    assert wait_on_element_disappear(driver, 1, 20,
                                     '//h6[contains(.,"Please wait")]')
    assert wait_on_element(driver, 0.5, 7, '//div[contains(.,"Users")]')
示例#24
0
def reopen_the_user_edit_page_and_verify_sshkey_was_saved(driver, ssh_key):
    """reopen the user edit page and verify sshkey was saved.."""
    assert wait_on_element(driver, 7, '//div[contains(.,"Users")]')
    assert wait_on_element(driver, 10, '//tr[contains(.,"ericbsd")]//mat-icon',
                           'clickable')
    driver.find_element_by_xpath(
        '//tr[contains(.,"ericbsd")]//mat-icon').click()
    assert wait_on_element(
        driver, 10,
        '(//tr[contains(.,"ericbsd")]/following-sibling::ix-user-details-row)[1]//button[contains(.,"Edit")]',
        'clickable')
    driver.find_element_by_xpath(
        '(//tr[contains(.,"ericbsd")]/following-sibling::ix-user-details-row)[1]//button[contains(.,"Edit")]'
    ).click()
    assert wait_on_element(driver, 10, '//h3[contains(.,"Edit User")]')
    assert wait_on_element_disappear(driver, 10,
                                     '//h6[contains(.,"Please wait")]')
    assert wait_on_element(
        driver, 5, '//ix-textarea[@formcontrolname = "sshpubkey"]//textarea',
        'inputable')
    assert attribute_value_exist(
        driver, '//ix-textarea[@formcontrolname = "sshpubkey"]//textarea',
        'value', ssh_key)
    time.sleep(0.5)
    assert wait_on_element(driver, 10, '//*[@id="ix-close-icon"]', 'clickable')
    driver.find_element_by_xpath('//*[@id="ix-close-icon"]').click()
示例#25
0
def create_pool_should_appear_while_pool_is_being_created_you_should_be_returned_to_the_storage_page(
        driver):
    """Create Pool should appear while pool is being created. You should be returned to the Storage page."""
    assert wait_on_element(driver, 7, '//h1[contains(.,"Create Pool")]')
    assert wait_on_element_disappear(driver, 120,
                                     '//h1[contains(.,"Create Pool")]')
    assert wait_on_element(driver, 7, '//mat-panel-title[contains(.,"tank")]')
示例#26
0
def storage_page_should_load_and_the_pool_should_be_gone(driver):
    """storage page should load and the pool should be gone."""
    assert wait_on_element(driver, 20, '//button[@ix-auto="button__CLOSE"]',
                           'clickable')
    driver.find_element_by_xpath('//button[@ix-auto="button__CLOSE"]').click()
    assert wait_on_element_disappear(driver, 10,
                                     '//div[contains(.,"encrypted_tank")]')
示例#27
0
def confirm_options(driver):
    """confirm options."""
    assert wait_on_element(driver, 7, '//button[@ix-auto="button__SAVE"]', 'clickable')
    driver.find_element_by_xpath('//button[@ix-auto="button__SAVE"]').click()

    assert wait_on_element(driver, 5, '//*[contains(.,"Installing")]')
    assert wait_on_element_disappear(driver, 45, '//*[contains(.,"Installing")]')
示例#28
0
def click_save(driver):
    """click Save."""
    assert wait_on_element(driver, 5, '//button[@ix-auto="button__SAVE"]',
                           'clickable')
    driver.find_element_by_xpath('//button[@ix-auto="button__SAVE"]').click()
    assert wait_on_element_disappear(driver, 10,
                                     '//h6[contains(.,"Please wait")]')
示例#29
0
def click_install(driver):
    """click install."""
    time.sleep(2)  # we have to wait for the page to settle down and the card to fully load
    assert wait_on_element(driver, 20, '//mat-card[contains(.,"plex")]//span[contains(.,"Install")]', 'clickable')
    driver.find_element_by_xpath('//mat-card[contains(.,"plex")]//span[contains(.,"Install")]').click()
    if is_element_present(driver, '//*[contains(.,"Please wait")]'):
        assert wait_on_element_disappear(driver, 10, '//*[contains(.,"Please wait")]')
示例#30
0
def the_user_edit_page_should_open_change_disable_password_to_no_and_click_save(
        driver):
    """the User Edit Page should open, change "Disable Password" to No and click save."""
    assert wait_on_element_disappear(driver, 10,
                                     '//h6[contains(.,"Please wait")]')
    assert wait_on_element(driver, 10, '//h3[contains(.,"Edit User")]')
    assert wait_on_element(
        driver, 3,
        '//ix-slide-toggle[@formcontrolname="password_disabled"]//mat-slide-toggle/label',
        'clickable')
    driver.find_element_by_xpath(
        '//ix-slide-toggle[@formcontrolname="password_disabled"]//mat-slide-toggle/label'
    ).click()
    value_exist = attribute_value_exist(
        driver,
        '//ix-slide-toggle[@formcontrolname="password_disabled"]//mat-slide-toggle',
        'class', 'mat-checked')
    if value_exist:
        driver.find_element_by_xpath(
            '//ix-slide-toggle[@formcontrolname="password_disabled"]//mat-slide-toggle/label'
        ).click()
    element = driver.find_element_by_xpath(
        '//button[span[contains(.,"Save")]]')
    driver.execute_script("arguments[0].scrollIntoView();", element)
    assert wait_on_element(driver, 10, '//button[span[contains(.,"Save")]]',
                           'clickable')
    driver.find_element_by_xpath('//button[span[contains(.,"Save")]]').click()
    time.sleep(1)