调用BizAT

报告测试进展与结果

针对用于测试的自动化程序,需要报告测试结果和测试进展,FWScript提供一套接口用于报告测试进展与结果,依据自动化测试的执行环境,BizAT将自动判断是否与服务器交互。

代码描述示例
@%0 begin,end
reportomits begin,end
设定Omit的区间,报告给SUTAgent,begin与end均为数字,代表程序步骤。注意此处仅仅是报告,程序执行并不会跳到对应的地方。若需要程序也跳转到后面,使用注意此处仅仅是报告,程序执行并不会跳到对应的地方。若需要程序也跳转到后面,使用 omitsteps或omits或stepsomitreportomits 1,5
@%1
pass
reportpass
向SUTAgent报告当前步骤的执行结果为Pass@%1
@%2 str
fail str
reportfail str
向SUTAgent报告当前步骤的执行结果为fail,并指出错误的详细信息。另外,BizRunner也会在测试结果中记录这个报错信息reportfail "Error when executing the command"
@%3
reportomit
向SUTAgent报告当前步骤为omit,此处仅仅报告给SUTAgent,程序执行不退出这一步。后面需要程序调用omitstep 或 omit退出这一步,在调用的时候BizRunner将记录这一步的测试结果。 @%3
@%4
tellexitnext
告知SUTAgent 先退出然后执行下一次的程序调用(新的cycle),此处仅仅是通知SUTAgent,脚本需要在后面调用重启的指令 【无需保存环境】tellexitnext
@%5 dd
TellProgress dd
ReportProgress dd
只是向SUTAgent报告当前的Cycle数。后面可以跟一个整数或者变量,若没有值,则使用BizRunner里面的当前次数。tellprogress 15
@%6 dd
FlowOrder dd
SetCycle dd
设定当前的Cycle数,如果该执行是cycle类型的,则向测试结果cycleFile输出一个记录。后面可以跟一个整数或者变量。@SetCycle 125
@%7 str
ReportInfo str
只向SUTAgent报告当前的执行情况,后跟一个字符串,若为空,则使用特殊变量@的值ReportInfo "Now executing the command"
@%8 str
ReportErrorInfo str
向SUTAgent报告出现的错误信息,同时记录这个信息到测试结果中,注意,如果时cycle类型的,则输出到cycleFile中。后跟一个字符串,若为空,则使用特殊变量@的值ReportErrorInfo "Error when executing the command"
@%9 str
ReportError str
ReportErrorFlow str
报告出错所在的执行次数以及出错信息,使用BizRunner中的当前次数,后跟一个字符串,若为空,则使用特殊变量@的值ReportError "Error found in entering setting"
@^ str
ReportData str
在错误报告中记录测试数据,后跟一个字符串或 < expr. (即使用表达式的值),若为空,则使用特殊变量@的值ReportData "The CPU's temperature is 45"
注:前面的4个调用针对有测试步骤的TC;而后面的5678则针对Feature或非Exe的情况。最后的ReportData在TC类的执行中,将不记录步骤号。

测试报告的内容将会自动记录在本地的结果文件中,可以使用工具进行查看(HTML格式),当在BizAT测试框架下执行自动化脚本时,相关的测试报告将自动传输到服务器中,可以透过Browser访问WebServer进行集中访问。

数据报告的自定义

很多情况下,需要一段自动化脚本去收集机器的数据,而不是测试
BizAT提供一种报告的方式,让最终的界面可以方便显示收集到的数据。
如上所示,报告数据的命令为 ReportData (或者符号@^) 后面跟着产生一个字符串的表达式或者什么也不跟,使用前面定义的@的值
字符串的格式约定如下:
自由定义:*this is a report from one testing
此处第一个字符为'*',表示后面的内容在BizAT框架里面不做任何解释,在报告界面中直接将这段内容显示出来。
简便模式: /TitleName/Item1Name/Item1value/Item2Name/Item2value/Item3Name/Item3value
此处第一个字符为分隔符(注意不能为'['),如可以为%TitleName%Item1Name%Item1value%Item2Name%Item2value%Item3Name%Item3value
TitleName为显示的总的title的名字,后面跟每一项的名字与值。
Json格式: ["title", titlename", "item1name", "item1value", "item2name", "item2value"]
这种格式跟简便模式相像,但方便于程序使用Json解析。

注意:自由定义的数据报告的具体的格式由上层去解释,BizAT只是一个传输媒介,而JSON格式与简便格式则会在BIZAT的结果展示中进行解析。

测试数据报告示例:
	采用抬头与内容交替出现的一维数组(json格式)
@='["title","SYSTEM PERFORMANCE DATA", "CPU SPEED","55555", "内存","555", "PROCESS","25", "CURRENT PROCESS","reporting data"] '
reportdata
@='["title","SYSTEM PERFORMANCE DATA", "CPU SPEED","88888", "MEMORY AMOUNT","888", "PROCESS","28", "CURRENT PROCESS","TouchPad displaying"] '
reportdata

	也可以使用更为简便的格式,利用第一个字符为分隔符,抬头与内容交替出现
@="/Platform/OS/win10/Version/1703/Build/15063.726"
reportdata


服务器交互 (To Be Modified!)

要求服务器端要做的动作, 注意这些动作依赖于BIZAT的设置,像电源的打开与关闭需要BIZAT中的dashboard端配置好遥控的环境

注:早期BizAT使用的是DASHBOARD模式的服务器,目前已有较大的变化,本功能目前已不再支持,将来会有更完整的方案。

代码描述实例
@!
todo =waitseconds,param
要求服务器端等待一段时间后要做的动作,等于号=后面的时间以秒为单位,下同@!1 20,start
@!1
remoteWakeup =waitseconds
要求服务器端远程唤醒本SUT,注意此处必须要指明等待的时间,服务器端应配置有远程唤醒的软件工具,在BizATDLL中会获取本机相关信息,以便服务器唤醒。@! start
@!2
poweron [=waitseconds]
要求服务器端打开本测试机的电源,注意BizAT框架必须先设置好@!2
@!3
poweroff [=waitseconds]
要求服务器端关闭本测试机的电源,注意BizAT框架必须先设置好@!2
@!4
sendresult [=waitseconds] param
透过服务器将param字符串送到main server@!2
@!5
expect [=waitseconds] ddd/command
要求服务器端在等待ddd妙时间后,检查SUT有没有执行CancelExpect,没有的话,执行后面command定义的动作 expect 120/call ... ...
@!6
cancelexpect
告知服务器取消前面的expectcancelexpect
@!=
waittodo param
@!< loaddata $$
要求服务器端要做的动作, 并等待服务器做完,结果放在$$中。后面的loaddata语句配合使用,用于将$$中指定的内容装载到FWScript变量中@!= start
@!=1
AskServer param
要求服务器安排任务的选择,安排的内容在$$中askserver 0.34
loaddata $$
@!=2
waitpoweron [=waitseconds]
要求服务器端打开本测试机的电源,服务器做完后的结果在$$中,注意BizAT框架必须先设置好@!2
@!=3
waitpoweroff [=waitseconds]
要求服务器端关闭本测试机的电源,服务器做完后的结果在$$中,注意BizAT框架必须先设置好@!2

告知SUTAgent的行为

当需要重启机器的时候,需要通知SUTAgent先退出来

代码描述
)d
reboot, shutdown, logoff, winre
告诉SUTAgent,需要临时退出;BizRunner保存执行环境,同时自己启动关机重启命令,后跟一个数字d,则代表不同的关机的指令
@)
TellExit
告诉SUTAgent,需要退出,而BizRunner 不做任何事情(即不保存环境)。由后续代码负责BizRunner的退出与重启(使用 ))d)
)(
ToReboot
告诉SUTAgent,需要临时退出,而BizRunner 需要保存当前的环境,以便下次启动BizRunner时从)处开始运行。由后续代码负责bizrunner的退出与重启(使用 ))d)
@%4
TellExitNext
告知SUTAgent转为执行下一次的循环,然后退出。由后续代码负责bizrunner的退出与重启(使用 ))d)
@|
TellAbort @) TellExit ))d ireboot
告知SUTAgent已中止任务的运行,要求其退出;后面自己重启
@!
ToDo
让服务器一定时间后执行动作

报告测试结束及最终结果

当测试结束的时候,报告给BizAT相关信息。

代码描述
@|
TellAbort
告诉SUTAgent,程序异常结束了
||
theend programexit
程序执行正常结束了。相当于这个程序的执行自然结束
|!
taskabort
程序执行全部结束。针对于单次类型的feature,意味着后面无需再执行下去了
|$
NotReady
报告SUTAgent, 当前执行的程序为测试条件检查程序,检查结果不满足条件
|?
ScriptError
报告SUTAgent, 出现了自动化程序脚本错误,或者程序执行出现了意想不到的情况
<< 断点续执行测试脚本说明TCJSON >>