From: eso Date: Wed, 26 Aug 2015 10:15:47 +0000 (+0300) Subject: Add tests for boolean operations X-Git-Tag: V_1.4.0_beta4~241 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=1d9d439aa4cf9aa781d5e36a2a82fd1eef8e9b68;p=modules%2Fshaper.git Add tests for boolean operations --- diff --git a/test.squish/shared/testdata/for_boolean_001.hdf b/test.squish/shared/testdata/for_boolean_001.hdf new file mode 100644 index 000000000..a6167d135 Binary files /dev/null and b/test.squish/shared/testdata/for_boolean_001.hdf differ diff --git a/test.squish/suite_ISSUES_SALOME/objects.map b/test.squish/suite_ISSUES_SALOME/objects.map index d2803f79d..2e1cb1d1e 100644 --- a/test.squish/suite_ISSUES_SALOME/objects.map +++ b/test.squish/suite_ISSUES_SALOME/objects.map @@ -11,6 +11,13 @@ :Arc.Start point_QGroupBox {container=':SALOME*.Arc_XGUI_PropertyPanel' title='Start point' type='QGroupBox' unnamed='1' visible='1'} :Arc.property_panel_cancel_QToolButton {container=':SALOME*.Arc_XGUI_PropertyPanel' name='property_panel_cancel' type='QToolButton' visible='1'} :Arc.property_panel_ok_QToolButton {container=':SALOME*.Arc_XGUI_PropertyPanel' name='property_panel_ok' type='QToolButton' visible='1'} +:Boolean.Main objects_QLabel {container=':SALOME*.Boolean_XGUI_PropertyPanel' text='Main objects' type='QLabel' unnamed='1' visible='1'} +:Boolean.Main objects_QListWidget {aboveWidget=':Boolean.Main objects_QLabel' container=':SALOME*.Boolean_XGUI_PropertyPanel' type='QListWidget' unnamed='1' visible='1'} +:Boolean.Tool object_QLabel {container=':SALOME*.Boolean_XGUI_PropertyPanel' text='Tool object' type='QLabel' unnamed='1' visible='1'} +:Boolean.Tool object_QListWidget {aboveWidget=':Boolean.Tool object_QLabel' container=':SALOME*.Boolean_XGUI_PropertyPanel' type='QListWidget' unnamed='1' visible='1'} +:Boolean.Type_QComboBox {container=':SALOME*.Boolean_XGUI_PropertyPanel' leftWidget=':Boolean.Type_QLabel' type='QComboBox' unnamed='1' visible='1'} +:Boolean.Type_QLabel {container=':SALOME*.Boolean_XGUI_PropertyPanel' text='Type' type='QLabel' unnamed='1' visible='1'} +:Boolean.property_panel_ok_QToolButton {container=':SALOME*.Boolean_XGUI_PropertyPanel' name='property_panel_ok' type='QToolButton' visible='1'} :Center.X _ModuleBase_ParamSpinBox {container=':Circle.Center_QGroupBox' leftWidget=':Center.X _QLabel' type='ModuleBase_ParamSpinBox' unnamed='1' visible='1'} :Center.X _ModuleBase_ParamSpinBox_2 {container=':Arc.Center_QGroupBox' leftWidget=':Center.X _QLabel_2' type='ModuleBase_ParamSpinBox' unnamed='1' visible='1'} :Center.X _QLabel {container=':Circle.Center_QGroupBox' text='X ' type='QLabel' unnamed='1' visible='1'} @@ -57,6 +64,8 @@ :Extrusion.qt_spinbox_lineedit_QLineEdit_2 {container=':SALOME*.Extrusion_XGUI_PropertyPanel' name='qt_spinbox_lineedit' occurrence='2' type='QLineEdit' visible='1'} :Extrusion.to_size_ModuleBase_ParamSpinBox {container=':SALOME*.Extrusion_XGUI_PropertyPanel' name='to_size' type='ModuleBase_ParamSpinBox' visible='1'} :Extrusion_QToolButton {container=':SALOME*.Extrusion_XGUI_PropertyPanel' occurrence='2' type='QToolButton' unnamed='1' visible='1'} +:Fatal error.OK_QPushButton {text='OK' type='QPushButton' unnamed='1' visible='1' window=':Fatal error_QMessageBox'} +:Fatal error_QMessageBox {type='QMessageBox' unnamed='1' visible='1' windowTitle='Fatal error'} :Fixed.property_panel_cancel_QToolButton {container=':SALOME*.Fixed_XGUI_PropertyPanel' name='property_panel_cancel' type='QToolButton' visible='1'} :From.from_offset_ModuleBase_ParamSpinBox {container=':Extrusion.From_ModuleBase_PageGroupBox' name='from_offset' type='ModuleBase_ParamSpinBox' visible='1'} :From_QLineEdit {container=':Extrusion.From_ModuleBase_PageGroupBox' type='QLineEdit' unnamed='1' visible='1'} @@ -102,6 +111,7 @@ :SALOME*.3D View Operations_OCCViewer_ViewPort3d {aboveWidget=':SALOME*.3D View Operations_QtxToolBar' type='OCCViewer_ViewPort3d' unnamed='1' visible='1' window=':SALOME*_STD_TabDesktop'} :SALOME*.3D View Operations_QtxToolBar {name='OCCViewer3DViewOperations' type='QtxToolBar' visible='1' window=':SALOME*_STD_TabDesktop' windowTitle='3D View Operations'} :SALOME*.Arc_XGUI_PropertyPanel {name='property_panel_dock' type='XGUI_PropertyPanel' visible='1' window=':SALOME*_STD_TabDesktop' windowTitle='Arc'} +:SALOME*.Boolean_XGUI_PropertyPanel {name='property_panel_dock' type='XGUI_PropertyPanel' visible='1' window=':SALOME*_STD_TabDesktop' windowTitle='Boolean'} :SALOME*.Circle_XGUI_PropertyPanel {name='property_panel_dock' type='XGUI_PropertyPanel' visible='1' window=':SALOME*_STD_TabDesktop' windowTitle='Circle'} :SALOME*.Close_QToolButton {text='Close' type='QToolButton' unnamed='1' visible='1' window=':SALOME*_STD_TabDesktop'} :SALOME*.Coincident_XGUI_PropertyPanel {name='property_panel_dock' type='XGUI_PropertyPanel' visible='1' window=':SALOME*_STD_TabDesktop' windowTitle='Coincident'} diff --git a/test.squish/suite_ISSUES_SALOME/shared/scripts/common.py b/test.squish/suite_ISSUES_SALOME/shared/scripts/common.py index 2c614eb5e..b8909b738 100644 --- a/test.squish/suite_ISSUES_SALOME/shared/scripts/common.py +++ b/test.squish/suite_ISSUES_SALOME/shared/scripts/common.py @@ -275,6 +275,51 @@ def horizontal(point): def fit_all(): clickButton(waitForObject(":SALOME*.Fit All_QToolButton")) +def boolean_cut(main_object, tool_object): + mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features")) + mouseClick(waitForObjectItem(":_QMenu", "Boolean")) + + mouseClick(waitForObject(":Boolean.Type_QComboBox"), 57, 9, 0, Qt.LeftButton) + mouseClick(waitForObjectItem(":Boolean.Type_QComboBox", "Cut"), 26, 7, 0, Qt.LeftButton) + + mouseClick(waitForObject(":Boolean.Main objects_QListWidget"), 89, 62, 0, Qt.LeftButton) + mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), main_object[0], main_object[1], 0, Qt.LeftButton) + + mouseClick(waitForObject(":Boolean.Tool object_QListWidget"), 98, 87, 0, Qt.LeftButton) + mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), tool_object[0], tool_object[1], 0, Qt.LeftButton) + + clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton")) + +def boolean_fuse(main_object, tool_object): + mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features")) + mouseClick(waitForObjectItem(":_QMenu", "Boolean")) + + mouseClick(waitForObject(":Boolean.Type_QComboBox"), 57, 9, 0, Qt.LeftButton) + mouseClick(waitForObjectItem(":Boolean.Type_QComboBox", "Fuse"), 26, 7, 0, Qt.LeftButton) + + mouseClick(waitForObject(":Boolean.Main objects_QListWidget"), 89, 62, 0, Qt.LeftButton) + mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), main_object[0], main_object[1], 0, Qt.LeftButton) + + mouseClick(waitForObject(":Boolean.Tool object_QListWidget"), 98, 87, 0, Qt.LeftButton) + mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), tool_object[0], tool_object[1], 0, Qt.LeftButton) + + clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton")) + +def boolean_common(main_object, tool_object): + mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features")) + mouseClick(waitForObjectItem(":_QMenu", "Boolean")) + + mouseClick(waitForObject(":Boolean.Type_QComboBox"), 57, 9, 0, Qt.LeftButton) + mouseClick(waitForObjectItem(":Boolean.Type_QComboBox", "Common"), 26, 7, 0, Qt.LeftButton) + + mouseClick(waitForObject(":Boolean.Main objects_QListWidget"), 89, 62, 0, Qt.LeftButton) + mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), main_object[0], main_object[1], 0, Qt.LeftButton) + + mouseClick(waitForObject(":Boolean.Tool object_QListWidget"), 98, 87, 0, Qt.LeftButton) + mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), tool_object[0], tool_object[1], 0, Qt.LeftButton) + + clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton")) + diff --git a/test.squish/suite_ISSUES_SALOME/tst_boolean_001/test.py b/test.squish/suite_ISSUES_SALOME/tst_boolean_001/test.py new file mode 100644 index 000000000..ec3ff5d3d --- /dev/null +++ b/test.squish/suite_ISSUES_SALOME/tst_boolean_001/test.py @@ -0,0 +1,40 @@ +def main(): + #[project] NewGEOM + #[Scenario] Boolean_001 + #[Topic] 'Boolean cut' functionality + #[Tested functionality] + #[Summary description] + #[Expected results] + #[General comments] + + source(findFile("scripts", "common.py")) + + #[section] Application start + #[step] Launch SALOME + startApplication("salome_run.sh") + + set_defaults() + + #[step] Open 'for_extrusion_001.hdf' + open(DATA_PATH + "/for_boolean_001.hdf") + + #[step] Activate NewGeom + clickButton(waitForObject(":SALOME*.NewGeom_QToolButton")) + + #[step] Activate Part_1 + waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1") + clickItem(":Object browser_XGUI_DataTree", "Part\\_1", 48, 10, 0, Qt.LeftButton) + openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1", 48, 10, 0) + activateItem(waitForObjectItem(":_QMenu", "Activate")) + + #[step] Fit all + fit_all() + + #[step] Implement boolean cut for existing objects + boolean_cut((139, 138), (420, 195)) + + #[check] Check that operation has been executed successfully + test.vp("VP1") + + # [step] Close application without saving + close_application() diff --git a/test.squish/suite_ISSUES_SALOME/tst_boolean_001/verificationPoints/VP1 b/test.squish/suite_ISSUES_SALOME/tst_boolean_001/verificationPoints/VP1 new file mode 100644 index 000000000..a33763552 --- /dev/null +++ b/test.squish/suite_ISSUES_SALOME/tst_boolean_001/verificationPoints/VP1 @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/test.squish/suite_ISSUES_SALOME/tst_boolean_002/test.py b/test.squish/suite_ISSUES_SALOME/tst_boolean_002/test.py new file mode 100644 index 000000000..d7cd805de --- /dev/null +++ b/test.squish/suite_ISSUES_SALOME/tst_boolean_002/test.py @@ -0,0 +1,40 @@ +def main(): + #[project] NewGEOM + #[Scenario] Boolean_002 + #[Topic] 'Boolean fuse' functionality + #[Tested functionality] + #[Summary description] + #[Expected results] + #[General comments] + + source(findFile("scripts", "common.py")) + + #[section] Application start + #[step] Launch SALOME + startApplication("salome_run.sh") + + set_defaults() + + #[step] Open 'for_extrusion_001.hdf' + open(DATA_PATH + "/for_boolean_001.hdf") + + #[step] Activate NewGeom + clickButton(waitForObject(":SALOME*.NewGeom_QToolButton")) + + #[step] Activate Part_1 + waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1") + clickItem(":Object browser_XGUI_DataTree", "Part\\_1", 48, 10, 0, Qt.LeftButton) + openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1", 48, 10, 0) + activateItem(waitForObjectItem(":_QMenu", "Activate")) + + #[step] Fit all + fit_all() + + #[step] Implement boolean fuse for existing objects + boolean_fuse((139, 138), (420, 195)) + + #[check] Check that operation has been executed successfully + test.vp("VP1") + + # [step] Close application without saving + close_application() diff --git a/test.squish/suite_ISSUES_SALOME/tst_boolean_002/verificationPoints/VP1 b/test.squish/suite_ISSUES_SALOME/tst_boolean_002/verificationPoints/VP1 new file mode 100644 index 000000000..69ac08f84 --- /dev/null +++ b/test.squish/suite_ISSUES_SALOME/tst_boolean_002/verificationPoints/VP1 @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/test.squish/suite_ISSUES_SALOME/tst_boolean_003/test.py b/test.squish/suite_ISSUES_SALOME/tst_boolean_003/test.py new file mode 100644 index 000000000..dafe2009b --- /dev/null +++ b/test.squish/suite_ISSUES_SALOME/tst_boolean_003/test.py @@ -0,0 +1,40 @@ +def main(): + #[project] NewGEOM + #[Scenario] Boolean_003 + #[Topic] 'Boolean common' functionality + #[Tested functionality] + #[Summary description] + #[Expected results] + #[General comments] + + source(findFile("scripts", "common.py")) + + #[section] Application start + #[step] Launch SALOME + startApplication("salome_run.sh") + + set_defaults() + + #[step] Open 'for_extrusion_001.hdf' + open(DATA_PATH + "/for_boolean_001.hdf") + + #[step] Activate NewGeom + clickButton(waitForObject(":SALOME*.NewGeom_QToolButton")) + + #[step] Activate Part_1 + waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1") + clickItem(":Object browser_XGUI_DataTree", "Part\\_1", 48, 10, 0, Qt.LeftButton) + openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1", 48, 10, 0) + activateItem(waitForObjectItem(":_QMenu", "Activate")) + + #[step] Fit all + fit_all() + + #[step] Implement boolean common for existing objects + boolean_common((139, 138), (420, 195)) + + #[check] Check that operation has been executed successfully + test.vp("VP1") + + # [step] Close application without saving + close_application() diff --git a/test.squish/suite_ISSUES_SALOME/tst_boolean_003/verificationPoints/VP1 b/test.squish/suite_ISSUES_SALOME/tst_boolean_003/verificationPoints/VP1 new file mode 100644 index 000000000..7bcccee07 --- /dev/null +++ b/test.squish/suite_ISSUES_SALOME/tst_boolean_003/verificationPoints/VP1 @@ -0,0 +1 @@ +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 \ No newline at end of file