Script 1.8.1

runCTest

原型:

runCTest(TestrunName, configFileName, jsScriptFilename, configName, configNameArr)

描述:

以多线程的方式,在单个设备上执行指定脚本

参数:

TestrunName:用户自定义的Testrun名称。
configFileName: tpf配置参数文件名。为相对路径,tpf文件必须与第三个参数指定的js文件在同一个路径下。
jsScriptFilename: 要执行的js文件名,为相对路径,会依次在用户自定义的scriptPath, <我的文档>/scripts, %appdata%/Sigma-RT/Total Control/Scripts下查到该脚本文件,如果都没有,lastError会提示错误。
configName: 此参数指定采用configFileName对应文件中的哪一个配置。
configNameArr: 此参数指定要分别执行脚本的附加配置。

执行runCTest的场景如下:
用户需要同时用不同的参数执行同一个脚本。

在这种情况下,用户可以将这些参数配置在同一个配置文件的不同configName中。然后将这些不同的configName存放于一个数组之内。在执行脚本时,这个数组内的每一个configName对应参数,将与第二个参数configFileName的对应参数合并起来,作为脚本运行时的预定义参数。具体请参考后面的示例。

返回值:

runCTest运行时会自动创建多个Testrun对象。返回值即是这些对象的数组。
异常:lastError();

示例:
	var configs = ['login1', 'login2', 'login3'];
	var objArr = runCTest('Hello', 'facebook.tpf', '测试env.js', 'sendMessage', configs);
		
	delay(1000);
		
	for (var i=0; i < objArr.length; i++) {
		print(objArr[i].name + " Status: " + objArr[i].getStatus());
	}
		
	delay(1000);
		
	for (var i=0; i < objArr.length; i++) {
		objArr[i].stop();
	}
		
	delay(1000);
		
	for (var i=0; i < objArr.length; i++) {
		print("Status: " + objArr[i].getStatus());
	}

当执行上面的语句后,将会同时启动三个线程执行《测试env.js》脚本。每个线程的预定义参数分别为:

  • 'login1' + 'sendmessage'

  • 'login2' + 'sendmessage'

  • 'login3' + 'sendmessage'