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")]')
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()}"]')
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"]')
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")]')
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}"]')
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"]')
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"]')
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")]')
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"]')
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")]')
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"]')
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")]')
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)
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
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")]')
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")]')
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")]')
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.")]')
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)
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()
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")]')
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")]')
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")]')
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()
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")]')
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")]')
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")]')
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")]')
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")]')
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)