From 3c7c7650db0cd1c7ceb365fedc1e883b4b2452fa Mon Sep 17 00:00:00 2001 From: spo Date: Fri, 16 Oct 2015 10:58:54 +0300 Subject: [PATCH] Add SQUISH test suite_OBJECT_BROWSER/tst_ACTIVE_DOC_MANAGEMENT --- test.squish/suite_OBJECT_BROWSER/envvars | 0 .../shared/scripts/common.py | 1 + test.squish/suite_OBJECT_BROWSER/suite.conf | 10 ++ .../tst_ACTIVE_DOC_MANAGEMENT/test.py | 126 ++++++++++++++++++ test_squish.sh | 4 + 5 files changed, 141 insertions(+) create mode 100644 test.squish/suite_OBJECT_BROWSER/envvars create mode 120000 test.squish/suite_OBJECT_BROWSER/shared/scripts/common.py create mode 100644 test.squish/suite_OBJECT_BROWSER/suite.conf create mode 100644 test.squish/suite_OBJECT_BROWSER/tst_ACTIVE_DOC_MANAGEMENT/test.py diff --git a/test.squish/suite_OBJECT_BROWSER/envvars b/test.squish/suite_OBJECT_BROWSER/envvars new file mode 100644 index 000000000..e69de29bb diff --git a/test.squish/suite_OBJECT_BROWSER/shared/scripts/common.py b/test.squish/suite_OBJECT_BROWSER/shared/scripts/common.py new file mode 120000 index 000000000..c9dd6a8ec --- /dev/null +++ b/test.squish/suite_OBJECT_BROWSER/shared/scripts/common.py @@ -0,0 +1 @@ +../../../shared/scripts/common.py \ No newline at end of file diff --git a/test.squish/suite_OBJECT_BROWSER/suite.conf b/test.squish/suite_OBJECT_BROWSER/suite.conf new file mode 100644 index 000000000..1dcb78159 --- /dev/null +++ b/test.squish/suite_OBJECT_BROWSER/suite.conf @@ -0,0 +1,10 @@ +AUT=salome_run.sh +CWD= +ENVVARS=envvars +HOOK_SUB_PROCESSES=true +IMPLICITAUTSTART=0 +LANGUAGE=Python +OBJECTMAP=../objects_salome.map +TEST_CASES=tst_BASE tst_ACTIVE_DOC_MANAGEMENT +VERSION=3 +WRAPPERS=Qt diff --git a/test.squish/suite_OBJECT_BROWSER/tst_ACTIVE_DOC_MANAGEMENT/test.py b/test.squish/suite_OBJECT_BROWSER/tst_ACTIVE_DOC_MANAGEMENT/test.py new file mode 100644 index 000000000..68fabf937 --- /dev/null +++ b/test.squish/suite_OBJECT_BROWSER/tst_ACTIVE_DOC_MANAGEMENT/test.py @@ -0,0 +1,126 @@ +#[tested functionality] + +ENABLE_COLOR='#FF000000' +DISABLE_COLOR='#FFC0C0C0' + +def checkPartActivatedState(scenario): + #[step] Check that Part is activated + allPartSetElements = [ + "Parameters (0)", + "Constructions (4)", + "Constructions (4).Origin", + "Constructions (4).YOZ", + "Constructions (4).XOZ", + "Constructions (4).XOY", + "Parts (1)"] + for element in allPartSetElements: + test.compare(DISABLE_COLOR, waitForObjectItem(":Object browser_XGUI_DataTree", element).foregroundColor, "%s is disabled after: %s" % (element, scenario)) + + partElements = [ + "Part\\_1", + "Part\\_1.Parameters (0)", + "Part\\_1.Constructions (0)", + "Part\\_1.Bodies (0)"] + for element in partElements: + test.compare(ENABLE_COLOR, waitForObjectItem(":Object browser_XGUI_DataTree", element).foregroundColor, "%s is enabled after: %s" % (element, scenario)) + + #[step] Check that Part tree is unfolded + test.compare(False, waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1").collapsed, "Part is unfolded after: %s" % scenario) + +# #[step] Check that PartSet elements are folded +# partSetElements = [ +# "Parameters (0)", +# "Constructions (4)", +# "Parts (1)"] +# for element in partSetElements: +# test.compare(True, waitForObjectItem(":Object browser_XGUI_DataTree", element).collapsed, "%s is folded after: %s" % (element, scenario)) + +def checkPartDeactivatedState(scenario): + #[step] Check that Part id disabled and folded + partElements = [ + "Part\\_1.Parameters (0)", + "Part\\_1.Constructions (0)", + "Part\\_1.Bodies (0)"] + for element in partElements: + test.compare(DISABLE_COLOR, waitForObjectItem(":Object browser_XGUI_DataTree", element).foregroundColor, "%s is disabled after: %s" % (element, scenario)) + test.compare(ENABLE_COLOR, waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1").foregroundColor, "Part is enable after: %s" % scenario) + test.compare(True, waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1").collapsed, "Part is unfolded after: %s" % scenario) + + #[step] Check that PartSet is enabled + allPartSetElements = [ + "Parameters (0)", + "Constructions (4)", + "Constructions (4).Origin", + "Constructions (4).YOZ", + "Constructions (4).XOZ", + "Constructions (4).XOY", + "Parts (1)"] + for element in allPartSetElements: + test.compare(ENABLE_COLOR, waitForObjectItem(":Object browser_XGUI_DataTree", element).foregroundColor, "%s is enabled after: %s" % (element, scenario)) + +def findMenuItem(menuObject, item): + for child in object.children(menuObject): + if child.text == item: + return child + return None + +def main(): + source(findFile("scripts", "common.py")) + + startApplication("salome_run.sh") + activate_newgeom() + + #[step] Check that default elements are enabled: Parameters (0), Constructions (4), Parts (0) + waitForObjectItem(":Object browser_XGUI_DataTree", "Constructions (4)") + clickItem(":Object browser_XGUI_DataTree", "Constructions (4)", -10, 10, 0, Qt.LeftButton) + + allPartSetElements = [ + "Parameters (0)", + "Constructions (4)", + "Constructions (4).Origin", + "Constructions (4).YOZ", + "Constructions (4).XOZ", + "Constructions (4).XOY", + "Parts (0)"] + for element in allPartSetElements: + test.compare(ENABLE_COLOR, waitForObjectItem(":Object browser_XGUI_DataTree", element).foregroundColor, "%s is enabled by default" % element) + + #[step] Create Part + activateItem(waitForObjectItem(":SALOME*_QMenuBar", "Part")) + activateItem(waitForObjectItem(":Part_QMenu", "New part")) + + checkPartActivatedState("Part creation") + + #[step] Deactivate part by double click + waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1") + doubleClickItem(":Object browser_XGUI_DataTree", "Part\\_1", 10, 10, 0, Qt.LeftButton) + + checkPartDeactivatedState("Part deactivation by double click") + + #[step] Activate part by double click + waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1") + doubleClickItem(":Object browser_XGUI_DataTree", "Part\\_1", 10, 10, 0, Qt.LeftButton) + + checkPartActivatedState("Part activation by double click") + + #[step] Check that Activate is disabled in Part context menu + openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1", 10, 10, 0) + test.compare(False, findMenuItem(waitForObject(":_QMenu"), "Activate").enabled, "Activate is disabled on active Part") + + #[step] Deactivate part by context menu on PartSet + openContextMenu(waitForObject(":Object browser_QLineEdit"), 10, 10, 0) + activateItem(waitForObjectItem(":_QMenu", "Activate")) + + checkPartDeactivatedState("Part deactivation by context menu on PartSet") + + #[step] Check that Activate is disabled in PartSet context menu + openContextMenu(waitForObject(":Object browser_QLineEdit"), 10, 10, 0) + test.compare(False, findMenuItem(waitForObject(":_QMenu"), "Activate").enabled, "Activate is disabled on active PartSet") + + #[step] Activate part by context menu on Part + openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1", 104, 6, 0) + activateItem(waitForObjectItem(":_QMenu", "Activate")) + + checkPartActivatedState("Part activation by context menu on Part") + + close_application() diff --git a/test_squish.sh b/test_squish.sh index cf1fbad99..8a660740f 100755 --- a/test_squish.sh +++ b/test_squish.sh @@ -60,6 +60,10 @@ TESTCASES="" TESTCASES="${TESTCASES} --testcase tst_679" squishrunner-run suite_ERROR_NOTIFICATION "${TESTCASES}" +TESTCASES="" +TESTCASES="${TESTCASES} --testcase tst_ACTIVE_DOC_MANAGEMENT" +squishrunner-run suite_OBJECT_BROWSER "${TESTCASES}" + TESTCASES="" TESTCASES="${TESTCASES} --testcase tst_474" TESTCASES="${TESTCASES} --testcase tst_576" -- 2.39.2