Forum Discussion
AlexKaras
8 years agoCommunity Hero
Hi Silvio,
I am far not sure if it is possible to modify state of test items via TestComplete COM if test project is opened in TestComplete.
What I did, was to enable all/required test items via direct modification of the project file with the help of standalone .js script and then open project in TestComplete.
Note 1: Provided code sample worked in TC 12.
Note 2: Obviously, the same code might not work in subsequent versions of TC.
var oXml = GetDefaultXMLObj();
var xmlDoc = loadXML(oXml, projectFile);
//WScript.Echo("Test Items : '" + testItems + "'");
if ("" == testItems)
{
testItemXPath = "//*/testItems/children//testItem";
testItems = xmlDoc.selectNodes(testItemXPath);
for (testItemIdx = 0; testItemIdx < testItems.length; testItemIdx++)
{
element = testItems[testItemIdx];
if (null != element)
{
if ("False" == element.getAttribute("enabled"))
{
element.setAttribute("enabled", "True");
// WScript.Echo("'" + element.getAttribute("name") + "' test item was enabled");
}
}
}
WScript.Echo("All test items for the project were enabled");
}
else
{
testItems = testItems.split('~');
for (testItemIdx in testItems)
{
testItem = testItems[testItemIdx];
//WScript.Echo(testItem);
testItemXPath = "//*/testItems/children//testItem[@name='" + testItem + "']";
element = xmlDoc.selectSingleNode(testItemXPath);
if (null != element)
{
if ("False" == element.getAttribute("enabled"))
{
element.setAttribute("enabled", "True");
WScript.Echo("'" + testItem + "' test item was enabled");
}
}
else
WScript.Echo("'" + testItem + "' test item was not found");
}
}
xmlDoc.save(projectFile);