def _test_view_stl(browser): project_dict, workspace_page = startup(browser) workspace_window = browser.current_window_handle # add a STL geometry file file_name = 'box.stl' file_path = pkg_resources.resource_filename('openmdao.gui.test.functional', 'files/box.stl') workspace_page.add_file(file_path) time.sleep(2) # view the STL file geom_page = workspace_page.view_geometry(file_name) # if we have a canvas... (some test platforms don't support canvas) if geom_page.has_canvas(): time.sleep(5) geom_page.expand_faces() faces = geom_page.get_face_names() eq(faces, ['box_solid1']) # Back to workspace. browser.close() browser.switch_to_window(workspace_window) # Clean up. closeout(project_dict, workspace_page)
def _test_view_image(browser): project_dict, workspace_page = startup(browser) workspace_window = browser.current_window_handle # add an image file file_name = 'Engine_Example_Process_Diagram.png' file_path = pkg_resources.resource_filename('openmdao.gui.test.functional', 'files/' + file_name) workspace_page.add_file(file_path) time.sleep(2) # view the image file images_page = workspace_page.view_image(file_name) time.sleep(2) # the image will appear twice.. in the main view and as a thumbnail image_names = images_page.get_image_names() eq(len(image_names), 2) eq(image_names[0].endswith(file_name), True) eq(image_names[1].endswith(file_name), True) # Back to workspace. browser.close() browser.switch_to_window(workspace_window) # Clean up. closeout(project_dict, workspace_page)
def _test_hidden_files(browser): project_dict, workspace_page = startup(browser) # there are no visible files in a new project file_names = workspace_page.get_files() eq(len(file_names), 0) # show hidden files using file tree pane context menu workspace_page.toggle_files() # confirm that formerly hidden files are now visible time.sleep(0.5) file_names = workspace_page.get_files() assert '_settings.cfg' in file_names # hide files again using file tree pane context menu workspace_page.toggle_files() # there should be no visible files time.sleep(0.5) file_names = workspace_page.get_files() eq(len(file_names), 0) # Clean up. closeout(project_dict, workspace_page)
def _test_addfiles(browser): # Adds multiple files to the project. project_dict, workspace_page = startup(browser) # Get path to paraboloid file. paraboloidPath = pkg_resources.resource_filename( 'openmdao.examples.simple', 'paraboloid.py') # Get path to optimization_unconstrained file. optPath = pkg_resources.resource_filename('openmdao.examples.simple', 'optimization_unconstrained.py') # Add the files # would like to test adding multiple files but Selenium doesn't support it #workspace_page.add_files(paraboloidPath, optPath) workspace_page.add_file(paraboloidPath) workspace_page.add_file(optPath) # Check to make sure the files were added. time.sleep(0.5) file_names = workspace_page.get_files() expected_file_names = ['optimization_unconstrained.py', 'paraboloid.py'] if sorted(file_names) != sorted(expected_file_names): raise TestCase.failureException( "Expected file names, '%s', should match existing file names, '%s'" % (expected_file_names, file_names)) # Clean up. closeout(project_dict, workspace_page)
def _test_addfiles(browser): # Adds multiple files to the project. project_dict, workspace_page = startup(browser) # Get path to paraboloid file. paraboloidPath = pkg_resources.resource_filename('openmdao.examples.simple', 'paraboloid.py') # Get path to optimization_unconstrained file. optPath = pkg_resources.resource_filename('openmdao.examples.simple', 'optimization_unconstrained.py') # Add the files # would like to test adding multiple files but Selenium doesn't support it #workspace_page.add_files(paraboloidPath, optPath) workspace_page.add_file(paraboloidPath) workspace_page.add_file(optPath) # Check to make sure the files were added. time.sleep(0.5) file_names = workspace_page.get_files() expected_file_names = ['optimization_unconstrained.py', 'paraboloid.py'] if sorted(file_names) != sorted(expected_file_names): raise TestCase.failureException( "Expected file names, '%s', should match existing file names, '%s'" % (expected_file_names, file_names)) # Clean up. closeout(project_dict, workspace_page)
def _test_view_image(browser): project_dict, workspace_page = startup(browser) workspace_window = browser.current_window_handle # add an image file file1_name = 'Engine_Example_Process_Diagram.png' file1_path = pkg_resources.resource_filename( 'openmdao.gui.test.functional', 'files/' + file1_name) workspace_page.add_file(file1_path) time.sleep(1) # view the image file images_page = workspace_page.view_image(file1_name) time.sleep(2) # check that the image is displayed image = images_page.get_image() eq(image.endswith(file1_name), True) # Back to workspace. browser.close() browser.switch_to_window(workspace_window) # add an image file to a folder workspace_page.new_folder('folder') time.sleep(1) file2_name = 'bmp_24.bmp' file2_path = pkg_resources.resource_filename( 'openmdao.gui.test.functional', 'files/' + file2_name) workspace_page.add_file_to_folder('folder', file2_path) time.sleep(1) # view the image file workspace_page.expand_folder('folder') time.sleep(1) images_page = workspace_page.view_image('folder/' + file2_name) time.sleep(2) # check that the image is displayed image = images_page.get_image() eq(image.endswith(file2_name), True) # check that both images appear in the thumbnails thumbnails = images_page.get_thumbnails() thumbnails.sort() eq(len(thumbnails), 2) eq(thumbnails[0].endswith(file1_name), True) eq(thumbnails[1].endswith(file2_name), True) # Back to workspace. browser.close() browser.switch_to_window(workspace_window) # Clean up. closeout(project_dict, workspace_page)
def _test_view_image(browser): project_dict, workspace_page = startup(browser) workspace_window = browser.current_window_handle # add an image file file1_name = 'Engine_Example_Process_Diagram.png' file1_path = pkg_resources.resource_filename('openmdao.gui.test.functional', 'files/' + file1_name) workspace_page.add_file(file1_path) time.sleep(1) # view the image file images_page = workspace_page.view_image(file1_name) time.sleep(2) # check that the image is displayed image = images_page.get_image() eq(image.endswith(file1_name), True) # Back to workspace. browser.close() browser.switch_to_window(workspace_window) # add an image file to a folder workspace_page.new_folder('folder') time.sleep(1) file2_name = 'bmp_24.bmp' file2_path = pkg_resources.resource_filename('openmdao.gui.test.functional', 'files/' + file2_name) workspace_page.add_file_to_folder('folder', file2_path) time.sleep(1) # view the image file workspace_page.expand_folder('folder') time.sleep(1) images_page = workspace_page.view_image('folder/'+file2_name) time.sleep(2) # check that the image is displayed image = images_page.get_image() eq(image.endswith(file2_name), True) # check that both images appear in the thumbnails thumbnails = images_page.get_thumbnails() thumbnails.sort() eq(len(thumbnails), 2) eq(thumbnails[0].endswith(file1_name), True) eq(thumbnails[1].endswith(file2_name), True) # Back to workspace. browser.close() browser.switch_to_window(workspace_window) # Clean up. closeout(project_dict, workspace_page)
def _test_view_file(browser): project_dict, workspace_page = startup(browser) workspace_window = browser.current_window_handle # add an image file file_name = 'Engine_Example_Process_Diagram.png' file_path = pkg_resources.resource_filename('openmdao.gui.test.functional', 'files/' + file_name) workspace_page.add_file(file_path) time.sleep(2) # view the image file in browser new_page = workspace_page.view_file(file_name) time.sleep(2) # the new page should have an img tag with the selected file name images = new_page.browser.find_elements_by_css_selector('img') eq(len(images), 1) eq(images[0].get_attribute('src').strip().endswith(file_name), True) # Back to workspace. browser.close() browser.switch_to_window(workspace_window) # add a pdf file file_name = 'sample.pdf' file_path = pkg_resources.resource_filename('openmdao.gui.test.functional', 'files/' + file_name) workspace_page.add_file(file_path) time.sleep(2) # view the pdf file in browser new_page = workspace_page.view_file(file_name) time.sleep(2) # the new page should have an embed tag with the selected file name embeds = new_page.browser.find_elements_by_css_selector('embed') eq(len(embeds), 1) eq(embeds[0].get_attribute('src').strip().endswith(file_name), True) eq(embeds[0].get_attribute('type'), 'application/pdf') # Back to workspace. browser.close() browser.switch_to_window(workspace_window) # Clean up. closeout(project_dict, workspace_page)
def _test_remove_folder(browser): # Adds multiple files to the project. project_dict, workspace_page = startup(browser) # Test deleting a folder, but cancel the confirmation workspace_page.new_folder('test_folder') time.sleep(1.0) paraboloidPath = pkg_resources.resource_filename( 'openmdao.examples.simple', 'paraboloid.py') workspace_page.add_file_to_folder('test_folder', paraboloidPath) time.sleep(2.0) workspace_page.expand_folder('test_folder') time.sleep(1.0) workspace_page.delete_files(['test_folder'], False) expected_file_names = ['paraboloid.py'] # Check to make sure the folder was NOT deleted time.sleep(1.5) file_names = workspace_page.get_files() if sorted(file_names) != sorted(expected_file_names): raise TestCase.failureException( "Expected file names, '%s', should match existing file names, '%s'" % (expected_file_names, file_names)) # toggle hidden files on and off to reset selected/highlighted files workspace_page.toggle_files() workspace_page.toggle_files() # Test deleting a folder time.sleep(1.0) workspace_page.delete_files(['test_folder']) expected_file_names = [] # Check to make sure the folder was deleted time.sleep(1.5) file_names = workspace_page.get_files() if sorted(file_names) != sorted(expected_file_names): raise TestCase.failureException( "Expected file names, '%s', should match existing file names, '%s'" % (expected_file_names, file_names)) # Clean up. closeout(project_dict, workspace_page)
def _test_remove_folder(browser): # Adds multiple files to the project. project_dict, workspace_page = startup(browser) # Test deleting a folder, but cancel the confirmation workspace_page.new_folder('test_folder') time.sleep(1.0) paraboloidPath = pkg_resources.resource_filename('openmdao.examples.simple', 'paraboloid.py') workspace_page.add_file_to_folder('test_folder', paraboloidPath) time.sleep(2.0) workspace_page.expand_folder('test_folder') time.sleep(1.0) workspace_page.delete_files(['test_folder'], False) expected_file_names = ['paraboloid.py'] # Check to make sure the folder was NOT deleted time.sleep(1.5) file_names = workspace_page.get_files() if sorted(file_names) != sorted(expected_file_names): raise TestCase.failureException( "Expected file names, '%s', should match existing file names, '%s'" % (expected_file_names, file_names)) # toggle hidden files on and off to reset selected/highlighted files workspace_page.toggle_files() workspace_page.toggle_files() # Test deleting a folder time.sleep(1.0) workspace_page.delete_files(['test_folder']) expected_file_names = [] # Check to make sure the folder was deleted time.sleep(1.5) file_names = workspace_page.get_files() if sorted(file_names) != sorted(expected_file_names): raise TestCase.failureException( "Expected file names, '%s', should match existing file names, '%s'" % (expected_file_names, file_names)) # Clean up. closeout(project_dict, workspace_page)
def _test_view_csm(browser): try: from pygem_diamond import gem except ImportError: raise SkipTest('pygem_diamond is not installed.') project_dict, workspace_page = startup(browser) workspace_window = browser.current_window_handle # add a CSM geometry file file_name = 'box.csm' file_path = pkg_resources.resource_filename('openmdao.gui.test.functional', 'files/box.csm') workspace_page.add_file(file_path) time.sleep(2) # view the CSM file geom_page = workspace_page.view_geometry(file_name) # if we have a canvas... (some test platforms don't support canvas) if geom_page.has_canvas(): time.sleep(5) geom_page.expand_edges() edges = geom_page.get_edge_names() eq(edges, [ 'Body 1 Edge 1', 'Body 1 Edge 2', 'Body 1 Edge 3', 'Body 1 Edge 4', 'Body 1 Edge 5', 'Body 1 Edge 6', 'Body 1 Edge 7', 'Body 1 Edge 8', 'Body 1 Edge 9', 'Body 1 Edge 10', 'Body 1 Edge 11', 'Body 1 Edge 12' ]) geom_page.expand_faces() faces = geom_page.get_face_names() eq(faces, [ 'Body 1 Face 1', 'Body 1 Face 2', 'Body 1 Face 3', 'Body 1 Face 4', 'Body 1 Face 5', 'Body 1 Face 6' ]) # Back to workspace. browser.close() browser.switch_to_window(workspace_window) # Clean up. closeout(project_dict, workspace_page)
def _test_rename_file(browser): # Rename a file in the project. project_dict, workspace_page = startup(browser) # Add paraboloid.py paraboloidPath = pkg_resources.resource_filename( 'openmdao.examples.simple', 'paraboloid.py') workspace_page.add_file(paraboloidPath) time.sleep(0.5) file_names = workspace_page.get_files() eq(file_names, ['paraboloid.py']) workspace_page.rename_file('paraboloid.py', 'xyzzy.py') time.sleep(0.5) file_names = workspace_page.get_files() eq(file_names, ['xyzzy.py']) # Clean up. #closeout(projects_page, project_info_page, project_dict, workspace_page) closeout(project_dict, workspace_page)
def _test_rename_file(browser): # Rename a file in the project. project_dict, workspace_page = startup(browser) # Add paraboloid.py paraboloidPath = pkg_resources.resource_filename('openmdao.examples.simple', 'paraboloid.py') workspace_page.add_file(paraboloidPath) time.sleep(0.5) file_names = workspace_page.get_files() eq(file_names, ['paraboloid.py']) workspace_page.rename_file('paraboloid.py', 'xyzzy.py') time.sleep(0.5) file_names = workspace_page.get_files() eq(file_names, ['xyzzy.py']) # Clean up. #closeout(projects_page, project_info_page, project_dict, workspace_page) closeout(project_dict, workspace_page)
def _test_view_csm(browser): project_dict, workspace_page = startup(browser) workspace_window = browser.current_window_handle # add a CSM geometry file file_name = 'box.csm' file_path = pkg_resources.resource_filename('openmdao.gui.test.functional', 'files/box.csm') workspace_page.add_file(file_path) time.sleep(2) # view the CSM file geom_page = workspace_page.view_geometry(file_name) # if we have a canvas... (some test platforms don't support canvas) if geom_page.has_canvas(): time.sleep(5) geom_page.expand_edges() edges = geom_page.get_edge_names() eq(edges, ['Body 1 Edge 1', 'Body 1 Edge 2', 'Body 1 Edge 3', 'Body 1 Edge 4', 'Body 1 Edge 5', 'Body 1 Edge 6', 'Body 1 Edge 7', 'Body 1 Edge 8', 'Body 1 Edge 9', 'Body 1 Edge 10', 'Body 1 Edge 11', 'Body 1 Edge 12']) geom_page.expand_faces() faces = geom_page.get_face_names() eq(faces, ['Body 1 Face 1', 'Body 1 Face 2', 'Body 1 Face 3', 'Body 1 Face 4', 'Body 1 Face 5', 'Body 1 Face 6']) # Back to workspace. browser.close() browser.switch_to_window(workspace_window) # Clean up. closeout(project_dict, workspace_page)
def _test_remove_files(browser): # Adds multiple files to the project. project_dict, workspace_page = startup(browser) # Add some files paraboloidPath = pkg_resources.resource_filename( 'openmdao.examples.simple', 'paraboloid.py') optPath = pkg_resources.resource_filename('openmdao.examples.simple', 'optimization_unconstrained.py') workspace_page.add_file(paraboloidPath) workspace_page.add_file(optPath) expected_file_names = ['optimization_unconstrained.py', 'paraboloid.py'] # Check to make sure the files were added. time.sleep(0.5) file_names = workspace_page.get_files() if sorted(file_names) != sorted(expected_file_names): raise TestCase.failureException( "Expected file names, '%s', should match existing file names, '%s'" % (expected_file_names, file_names)) # test delete file using context menu, but cancel the confirmation workspace_page.delete_file('paraboloid.py', False) # Check to make sure the file was NOT deleted time.sleep(0.5) file_names = workspace_page.get_files() if sorted(file_names) != sorted(expected_file_names): raise TestCase.failureException( "Expected file names, '%s', should match existing file names, '%s'" % (expected_file_names, file_names)) # test delete file using context menu workspace_page.delete_file('paraboloid.py') expected_file_names = [ 'optimization_unconstrained.py', ] # Check to make sure the file was deleted time.sleep(0.5) file_names = workspace_page.get_files() if sorted(file_names) != sorted(expected_file_names): raise TestCase.failureException( "Expected file names, '%s', should match existing file names, '%s'" % (expected_file_names, file_names)) # add more files file_path_one = pkg_resources.resource_filename( 'openmdao.gui.test.functional', 'files/basic_model.py') file_path_two = pkg_resources.resource_filename( 'openmdao.examples.enginedesign', 'vehicle_singlesim.py') workspace_page.add_file(file_path_one) workspace_page.add_file(file_path_two) expected_file_names = [ 'optimization_unconstrained.py', 'basic_model.py', 'vehicle_singlesim.py' ] # Test deleting multiple files using the delete files pick # on the Files menu, but cancel the confirmation workspace_page.delete_files( ['vehicle_singlesim.py', 'optimization_unconstrained.py'], False) # toggle hidden files on and off to reset selected/highlighted files workspace_page.toggle_files() workspace_page.toggle_files() # Check to make sure the files were NOT deleted time.sleep(1.5) file_names = workspace_page.get_files() if sorted(file_names) != sorted(expected_file_names): raise TestCase.failureException( "Expected file names, '%s', should match existing file names, '%s'" % (expected_file_names, file_names)) # Test deleting multiple files using the delete files pick # on the Files menu workspace_page.delete_files( ['vehicle_singlesim.py', 'optimization_unconstrained.py']) expected_file_names = ['basic_model.py'] # Check to make sure the files were deleted time.sleep(1.5) file_names = workspace_page.get_files() if sorted(file_names) != sorted(expected_file_names): raise TestCase.failureException( "Expected file names, '%s', should match existing file names, '%s'" % (expected_file_names, file_names)) # Test deleting a file in a folder workspace_page.new_folder('test_folder') time.sleep(1.0) workspace_page.add_file_to_folder('test_folder', paraboloidPath) time.sleep(2.0) workspace_page.expand_folder('test_folder') time.sleep(1.0) workspace_page.delete_files([ 'test_folder/paraboloid.py', ]) expected_file_names = ['basic_model.py'] # Check to make sure the file was deleted time.sleep(1.5) file_names = workspace_page.get_files() if sorted(file_names) != sorted(expected_file_names): raise TestCase.failureException( "Expected file names, '%s', should match existing file names, '%s'" % (expected_file_names, file_names)) # Clean up. closeout(project_dict, workspace_page)
def _test_view_geometry(browser): project_dict, workspace_page = startup(browser) workspace_window = browser.current_window_handle #drop 'GeomComponent' onto the grid geom_comp_name = workspace_page.put_element_on_grid('GeomComponent') #find it on the page geom_comp = workspace_page.get_dataflow_figure(geom_comp_name) #open the 'edit' dialog on GeomComponent geom_comp_editor = geom_comp.editor_page(False) geom_comp_editor.show_slots() # Plug BoxParametricGeometry into parametric_geometry slot = find_slot_figure(workspace_page, 'parametric_geometry', prefix=geom_comp_name) workspace_page.fill_slot_from_library(slot, 'BoxParametricGeometry') # Open the geom window geom_comp_editor('outputs_tab').click() outputs = geom_comp_editor.get_outputs() outputs.rows[0].cells[2].click() time.sleep(2) # wait to make sure it is displayed # Should be two windows now eq(len(browser.window_handles), 2) # switch to the geom window geom_window = browser.window_handles[-1] browser.switch_to_window(geom_window) # FIXME: there are still problems with diffing the PNG files. Not sure # if there are differences due to platform or what. Also on windows # document.getElementById("statusline") returns null (could be just a timing thing) # For now, just commenting all of this out until someone has time to # fix it and verify it works on all 3 platforms # Compare it to what we expect to get # file_path = pkg_resources.resource_filename('openmdao.gui.test.functional', # 'files/box-geom-screenshot.png') # hide the framerate status line #browser.execute_script( 'document.getElementById("statusline").style.display = "none"') #browser.save_screenshot( "geom.png") #assert filecmp.cmp( "geom.png", file_path) #try: # os.remove("geom.png") #except IOError: # pass # give it a bit time.sleep(3) geom_page = GeometryPage.verify(browser, workspace_page.port) # if we have a canvas... (some test platforms don't support canvas) if geom_page.has_canvas(): # give it a bit more time.sleep(5) geom_page.expand_edges() edges = geom_page.get_edge_names() eq(edges, ['Edge 1', 'Edge 2', 'Edge 3', 'Edge 4', 'Edge 5', 'Edge 6']) edges = geom_page.get_edge('Edges') edge1 = geom_page.get_edge('Edge 1') edge2 = geom_page.get_edge('Edge 2') eq([edges.viz, edges.grd, edges.ori], [True, False, False]) eq([edge1.viz, edge1.grd, edge1.ori], [True, False, False]) eq([edge2.viz, edge2.grd, edge2.ori], [True, False, False]) # toggle visibility for an edge edge1.viz = False # check for expected new edges state eq([edges.viz, edges.grd, edges.ori], [False, False, False]) eq([edge1.viz, edge1.grd, edge1.ori], [False, False, False]) eq([edge2.viz, edge2.grd, edge2.ori], [True, False, False]) # toggle visibility for all edges edges.viz = True # check for expected new edges state eq([edges.viz, edges.grd, edges.ori], [True, False, False]) eq([edge1.viz, edge1.grd, edge1.ori], [True, False, False]) eq([edge2.viz, edge2.grd, edge2.ori], [True, False, False]) # check initial state of faces tree geom_page.expand_faces() faces = geom_page.get_face_names() eq(faces, ['Face 1', 'Face 2', 'Face 3', 'Face 4', 'Face 5', 'Face 6']) faces = geom_page.get_face('Faces') face3 = geom_page.get_face('Face 3') face5 = geom_page.get_face('Face 5') eq([faces.viz, faces.grd, faces.trn], [True, False, False]) eq([face3.viz, face3.grd, face3.trn], [True, False, False]) eq([face5.viz, face5.grd, face5.trn], [True, False, False]) # toggle transparency for a face face3.trn = True # check for expected new faces state eq([faces.viz, faces.grd, faces.trn], [True, False, False]) eq([face3.viz, face3.grd, face3.trn], [True, False, True]) eq([face5.viz, face5.grd, face5.trn], [True, False, False]) # toggle grid for all faces faces.grd = True # check for expected new faces state eq([faces.viz, faces.grd, faces.trn], [True, True, False]) eq([face3.viz, face3.grd, face3.trn], [True, True, True]) eq([face5.viz, face5.grd, face5.trn], [True, True, False]) # Back to workspace. browser.close() browser.switch_to_window(workspace_window) # Clean up. closeout(project_dict, workspace_page)
def _test_remove_files(browser): # Adds multiple files to the project. project_dict, workspace_page = startup(browser) # Add some files paraboloidPath = pkg_resources.resource_filename('openmdao.examples.simple', 'paraboloid.py') optPath = pkg_resources.resource_filename('openmdao.examples.simple', 'optimization_unconstrained.py') workspace_page.add_file(paraboloidPath) workspace_page.add_file(optPath) expected_file_names = ['optimization_unconstrained.py', 'paraboloid.py'] # Check to make sure the files were added. time.sleep(0.5) file_names = workspace_page.get_files() if sorted(file_names) != sorted(expected_file_names): raise TestCase.failureException( "Expected file names, '%s', should match existing file names, '%s'" % (expected_file_names, file_names)) # test delete file using context menu, but cancel the confirmation workspace_page.delete_file('paraboloid.py', False) # Check to make sure the file was NOT deleted time.sleep(0.5) file_names = workspace_page.get_files() if sorted(file_names) != sorted(expected_file_names): raise TestCase.failureException( "Expected file names, '%s', should match existing file names, '%s'" % (expected_file_names, file_names)) # test delete file using context menu workspace_page.delete_file('paraboloid.py') expected_file_names = ['optimization_unconstrained.py', ] # Check to make sure the file was deleted time.sleep(0.5) file_names = workspace_page.get_files() if sorted(file_names) != sorted(expected_file_names): raise TestCase.failureException( "Expected file names, '%s', should match existing file names, '%s'" % (expected_file_names, file_names)) # add more files file_path_one = pkg_resources.resource_filename('openmdao.gui.test.functional', 'files/basic_model.py') file_path_two = pkg_resources.resource_filename('openmdao.examples.enginedesign', 'vehicle_singlesim.py') workspace_page.add_file(file_path_one) workspace_page.add_file(file_path_two) expected_file_names = ['optimization_unconstrained.py', 'basic_model.py', 'vehicle_singlesim.py'] # Test deleting multiple files using the delete files pick # on the Files menu, but cancel the confirmation workspace_page.delete_files(['vehicle_singlesim.py', 'optimization_unconstrained.py'], False) # toggle hidden files on and off to reset selected/highlighted files workspace_page.toggle_files() workspace_page.toggle_files() # Check to make sure the files were NOT deleted time.sleep(1.5) file_names = workspace_page.get_files() if sorted(file_names) != sorted(expected_file_names): raise TestCase.failureException( "Expected file names, '%s', should match existing file names, '%s'" % (expected_file_names, file_names)) # Test deleting multiple files using the delete files pick # on the Files menu workspace_page.delete_files(['vehicle_singlesim.py', 'optimization_unconstrained.py']) expected_file_names = ['basic_model.py'] # Check to make sure the files were deleted time.sleep(1.5) file_names = workspace_page.get_files() if sorted(file_names) != sorted(expected_file_names): raise TestCase.failureException( "Expected file names, '%s', should match existing file names, '%s'" % (expected_file_names, file_names)) # Test deleting a file in a folder workspace_page.new_folder('test_folder') time.sleep(1.0) workspace_page.add_file_to_folder('test_folder', paraboloidPath) time.sleep(2.0) workspace_page.expand_folder('test_folder') time.sleep(1.0) workspace_page.delete_files(['test_folder/paraboloid.py', ]) expected_file_names = ['basic_model.py'] # Check to make sure the file was deleted time.sleep(1.5) file_names = workspace_page.get_files() if sorted(file_names) != sorted(expected_file_names): raise TestCase.failureException( "Expected file names, '%s', should match existing file names, '%s'" % (expected_file_names, file_names)) # Clean up. closeout(project_dict, workspace_page)