Automated tests 测试完成:如何从测试完成函数中知道测试函数名、测试文件名和项目名

Automated tests 测试完成:如何从测试完成函数中知道测试函数名、测试文件名和项目名,automated-tests,jscript,testcomplete,Automated Tests,Jscript,Testcomplete,我们正在尝试执行一个测试函数,我们需要知道测试函数的名称、当前文件的名称以及测试函数中当前项目的名称 差不多 function TestGlobalSearchClientContacts(){ var this_function_name = ?? var this_file_name = ?? . . . testcode } 当使用TestComplete时,如何做到这一点? 我们正在使用JScript,TC版本为9。要获取项目名称,请使用: aqFileSystem.G

我们正在尝试执行一个测试函数,我们需要知道测试函数的名称、当前文件的名称以及测试函数中当前项目的名称

差不多

function TestGlobalSearchClientContacts(){
 var this_function_name = ??
 var this_file_name = ??
 .
 .
 .
 testcode 

}
当使用TestComplete时,如何做到这一点?
我们正在使用JScript,TC版本为9。要获取项目名称,请使用:

aqFileSystem.GetFileNameWithoutExtension(Project.FileName)
要获取当前函数名,可以调用此函数:

function getCurrentFunctionName() {
  return arguments.callee.caller.toString().match(/function\s+([^\s\(]+)/)[1];
}
要获取当前单元名称,需要将测试作为测试项运行。然后您可以使用:

function getCurrentUnitName() {
  return Project.TestItems.Current.ElementToBeRun.Caption.match(/Script\\([^ ]+) -/)[1];
}
如果在测试中启用
log.CallStackSettings.EnableStackOn…
settings,您还可以在测试日志的调用堆栈选项卡中看到单元和函数名称