自动化测试 - 创建第一个测试用例



编写脚本

1. 创建脚本目录

首先在 %appdata%\Sigma-RT\Total Control\modules\test目录下创建一个文件夹,例如testsuite,用于存储您的脚本。



2. 编写一个自动化测试脚本

创建一个后缀名为 js 的脚本文件,开始编写您的测试用例脚本。

例如,您可以创建一个包含 2 个测试用例的脚本,命名为 scrollIntoViewTest.js, 它的主要功能如下:

  • 用例 1:打开Total Control 连接的所有设备上的 SigmaTestApp 应用
  • 用例 2:打开Total Control 连接的所有设备上的 SigmaTestApp 应用,并点击屏幕上的 CHECKBOX 按钮
/**
 * Set up function called before any test.
 */
exports.setUp = function() {
	print("setUp")
};
 
/**
 * Test function to check to test restart app
 */
exports.test_restartapp = function() {
	print("test_case1:open test app")
    var alldevices = Device.searchObject(tcConst.DevAll)
	alldevices.restartAppSync("com.sigma_rt.sigmatestapp");
	delay(3000)
	//start to check 
	for(var i=0;i < alldevices.length;i++){
		var ret = alldevices[i].getForegroundApp();
		if(ret!="com.sigma_rt.sigmatestapp"){
			assert("Start app failed")
		}
	}
}
 
/**
 * Test function to click CHECKBOX button
 */
exports.test_clickCHECKBOX = function() {
	print("test_case1:open test app")
    var alldevices = Device.searchObject(tcConst.DevAll)
	alldevices.restartAppSync("com.sigma_rt.sigmatestapp");
	delay(3000)
	//start to click CHECKBOX button 
	alldevices.sendAai({query:"T:CHECKBOX",action:"click"});
	delay(3000)
	//start to check 
	for(var i=0;i < alldevices.length;i++){
		var ret = alldevices[i].sendAai({query:"T:Radio Group"});
		if(ret==null){
			assert("Click CHECKBOX button failed")
		}
	}
}
  
/**
 * Tear down function called after each test.
 */
exports.tearDown = function() {
    // Navigate back
	print("tearDown")
}
 
/**
 * Module ID for exporting.
 */
exports.id = module.id; 

说明:

  • "exports.setUp" 用于定义您的每个用例的预置条件
  • "exports.tearDown" 用于定义您的每个测试用例执行完成后的后置动作
  • "exports.test_" 以test开始的函数变量,用于定义您的测试用例
  • "exports.id = module.id;" 导出的 module id


3. 创建启动脚本

启动脚本建议放在执行器的默认路径下。打开电脑上的 Total Control,点击脚本打开脚本窗口,在脚本窗口中可以看到默认路径,路径可修改。


创建一个启动脚本,命名为 runcases.js, 代码如下所示:

注意:如果您复制使用这个脚本,请将第一行代码中的脚本目录地址更改为您的实际地址(即您在第 1步中创建的 testsuite 目录地址),否则脚本无法正常运行。

addToClasspath('C:/Users/admin/AppData/Roaming/Sigma-RT/Total Control/modules/test/testsuite'); 

exports.testScrollIntoView = require('scrollIntoViewTest');
//exports.testSettings = require('settings');

test = require('sigma/test');
logFilename = "D:/log.txt";
test.logFile(logFilename);
test.run(exports);
//print(require('fs').read(logFilename));

说明:

  • "addToClasspath" 您的用例脚本路径
  • "exports.testScrollIntoView = require('scrollIntoViewTest'); " 其中'scrollIntoViewTest'即步骤2中定义的脚本名称
  • "logFilename" 日志文件保存路径



执行脚本

执行脚本之前,请先将测试设备连接到 Total Control,当前脚本可以在已连接的所有设备上同时执行。

1. 脚本创建完成后,重启一下脚本窗口,可以在列表中看到 runcases.js 脚本,点击脚本后方的按钮,创建一个任务,并点击开始



2. 开始执行,执行完成后,可以看到执行结果,测试用例通过的数量,失败的数量,点击日志图标还可以查看日志。