Forum Discussion
The tests i want to launch are every time different i can't create a "static KeywordTest" and than call it from an external script . Is there a way to launchmultiple tests from cmd ?
Not within the same session without writing some sort of code to make the distinction.
Here's another potential solution:
1) Create a CSV file that lists out the test names that you want to execute
2) Create code in a script that uses the DDT.CSVDriver to read that CSV file and drive a loop through it
3) Each time through the loop, call the keyword indicated by the particular row in the CSV file.
4) Set your command line to execute that script code
Then, all you need to do to change the list of tests to execute is update the CSV file with the desired list.
- egiacomi6 years agoContributor
I think a solution like this, i write in a XML the test and the within a for loop i run all the tests .
Now i have a new problem :
This is my code :
def RunFailedTests():
Log.message("CreateLogFolderOnServer")
CreateLogFolderOnServer.CreateLogFolderOnServer()
Log.message("CleanLocalTestData")
ClearLocalTestData.CleanLocalTestData()
XmlFile = BuiltIn.ParamStr(6)
Log.Message("Tests failed : " + XmlFile)
if os.path.exists(XmlFile):
Log.message("Xml file exists")
else:
Log.message("Xml file doesn't exists")
return
Test_List = ParseXMLFile(XmlFile)
#CicloCheFaEseguireTuttiITestFalliti
for test in Test_List:
try:
keywordTest.test.run()
except:
log.message(Test error)
ExportLog.ExportLog()
def ParseXMLFile(XmlFile):
Test_List = []
root = ET.parse(XmlFile).getroot()
for test in root.findall('Tests/Test'):
#obtain ProjectTestItem
TestName = test.get('ProjectTestItem')
#add the test to the listTest_List.append(TestName)
return Test_ListTo run a keywordTest I should use this call : KeywordTest.TestName.Run() , the testname is contained in a variable how can i "take"the testname contained in the variable?
- tristaanogre6 years agoEsteemed Contributor
You're writing in Python...so I'm not sure a lot about it.
In JavaScript, JScript, or other C-based scripting languages in TestComplete, you can do the followingKeywordTests['Test1'].Run()
So, you could replace the KeywordTest name with the identifier you pull out of your XML. I don't believe that is available in Python.
So, instead, you might need to do something like this
testToRun = eval('KeywordTest.' + testName)
testToRun.Run()
- egiacomi6 years agoContributor
I solved this problem in this way .
for test in Test_List:
try:
strFunctionCall = aqString.Format("KeywordTests.%s.Run()",test)
eval(strFunctionCall)
Log.Message("Test : " + test + "has positive result")
except:
Log.Message("Test : " + test + "has negative result")if a test failed the script doesn't go to the next iteration .. at the moment i haven't a solution, do you have any ideas?
Related Content
- 9 years ago
- 7 years ago
- 8 years ago
Recent Discussions
- 2 days ago
- 2 days ago
- 5 days ago