BizRunner调用说明
FWScripts作为自动化执行的脚本语言,最重要的应用场景为测试自动化,因此其支持测试用例相关的概念,如测试用例TC、测试步骤Step、执行流Flow及可重复模块Module FWScripts也支持测试用例执行时的要求,如对话框,结果报告等,主要是与BizAT紧密配合。
BizRunner的执行行为
为了实现“断点续执行”,每次调用时,BizRunner首先判断之前的执行是否已完成(记录在runtime/currentrun.json文件中),如果还没有完成,则不理会任何参数,在前一次执行的断点处继续执行。 【注意BizRunner与BizRunTime不能交叉使用,如果之前是BizRunner执行的,而且停留在断点处,后面必须由BizRunner继续执行,反之亦然】 不过,如果在命令行的开始指定了选项“-c”,则不理会前面的执行情况,直接执行后面指定的文件,如果后面没有任何指定的文件,则删除前面的执行记录后直接退出。 系统在执行过程中,会“知晓”如下情况: 1、开发平台模式(或者称为“界面模式”)还是执行模式(BizRunner vs. BizRunTime),开发平台模式提供一个界面,每一步的运行都显示出来,可进行暂停及调试;而执行模式则没有界面。 2、TestCase模式:系统获得了相应的TCJSON,“知晓”每一步的信息,系统的执行按照Exe指定的方式进行,可以调用BIZATDLL与BIZAT通信 3、Feature模式:系统也会获得相应的TCJSON,但没有步骤的概念,系统可以调用BizATDLL与BizAT通信 4、其它模式:系统执行时完全不理会BizAT,就像一个独立的脚本程序一样执行。 模式的差异体现在如何解释“[ ]”(测试步骤与模块)的信息上,以及如何设置BizMessage的消息机制上。 另外,在执行结束的时候,会依据模式决定是否要给BizAT发送执行完毕的通信信息。 【注意由于要支持断点续执行,在系统中每次仅允许一个BizRunner程序在执行,也就是说,程序启动后会检查系统中是否已经存在有一个其它的BizRunner在运行,如果有,自己则直接退出】
开发平台模式下的调用方式
BizRunner [-c | -C] [(.fws script file) | (.tc file)] [-e (.json exefile)] [-l] [-t] [-n] [-p[d]] [-D (macro define string)]* [-(digit):(valuestring)]* -c:(小写的c:to Clear up)不理会前面执行的情况,直接开始执行,如果后面没有任何参数,则去掉前面执行的信息后退出。 【也可以直接删除文件currentrun.Json达到同样的效果】 -C:(大写的C:Continuing) 如果发现上一次没有执行完,则接着执行;如果上一次已经执行完了,则直接退出。 【主要用途:将命令“BizRunner -C” 放在开机启动中,如果发现需要继续执行,则执行,如果没有继续执行的任务,则直接退出】 【注意:如果是在BizAT的框架下执行BizRunner,则无需考虑开机启动BizRunner的问题,因为SUTAgent会在开机自启动中,它会带动BizRunner的执行】 (.fws script file):以.fws结尾的脚本源码文件,如果不指定这个文件,则进入BizRunner后为空文件,需直接在开发平台中编写脚本或者打开文件。 (.tc file):以.tc结尾的测试用例自动化流程文件,为JSON格式,该文件为BizTC与BizConvert的输出文件, 打开这个格式的文件后,BizRunner将其自动转换成脚本形式的fws文件,如果没找到对应的TCJSON文件,也自动生成一个。 -e exefile:指定一个执行方式的描述文件,为JSON格式的文件。 -l:(for Lib)提供的.fws文件为一个函数库文件,BizRunner针对库函数文件提供一些特殊的功能。 -t:(for Testing)告诉BizRunner目前有BizAT执行框架,让BizRunner与SUTAgent通信,获得相关的执行信息。 -n:(execute Now)BizRunner载入源代码后,立即开始执行,通常需要使用开发平台做调试的时候使用,例如在TCJSON的flow的command的定义中,一般使用: “BizRunner tc111039.fws -n -t” -p[d]:(panel)如果没有指定exe,则直接进入testpanel 相当于针对缺省的exe设置成 exe.theoption = 5 (Validate 验证模式) 如果后面跟随一个数字字符,则exe.theoption = d;(也就是说-p相当于-p5) -D (macro define string):(Define macro)为执行的代码预先提供宏定义,可以提供多个。例如 -D “LANG en-us” 则BizRunner在载入代码的时候,先定义宏“#define LANG en-us”,使用这个功能,可以简单地支持适应多语言的脚本。 【注意,在Release方文脚本的时候,一般要对代码做优化处理,然后存成FW格式,这种状况下,就不能使用宏来实现多语言支持】 “-(digit):(stringvalue)”:例如 “-1:5”,BizRunner将该命令行参数处理成:在脚本开始的时候数字变量$1的值为字符串类型的”5”。 数字可以为0-9,对应$0-$9,也就是说最多可以预先设置10个变量的值。 【 如果需要将字符串作为一个整数处理,则在代码开始的地方,使用如下语句:“$Times = $1.*I” 该语句将$1的字符串值解析成整数,并赋值给$Times】
执行模式下的调用方式
BizRunTime [-c] [(.fws script file) | (.fw file)] [-e (.json exefile)] [-t] [-D (macro define string)]* [-(digit):(valuestring)]* 【上述在BizRunner中的选项如果BizRunTime不支持,则直接忽略,系统不报错】 【在部署之后,实际上仍旧使用BizRunner作为执行的名字,这样调试过程中的所有信息都不用更改,为了便于描述,本文档中使用BizRunTime仅用来代表非开发平台】 <.fw file > :为二进制文件,属于FwScripts的代码文件,在开发平台中存入的一种格式。
Exe相关的变量的调入
在TestCase或者Feature模式下,BizRunner需要获取对应的执行说明(简称为Exe文件,JSON格式),BizRunner可以从该Exe定义中,获取一些变量的定义: Dlist中定义的值: 如果Dlist中只是定义了一行数据,BizRunner针对Dlist中的每一个属性设置成一个变量,值为这一行的值。(normal 或 feature) 在step重复与Module重复模式下,BizRunner会将循环次数设置成Dlist中数据的长度。 $8:执行的类型 1:normal,2:step repeat 3:module repeat 4:feature $1:Exe中定义的需要重复执行的次数 $0:当前的执行次数 (仅限于Feature) $9:Exe中的dlist,也就是整个数据源,如果没有dlist,则为null
BizAT框架中的各种文件
.FWS:为方文脚本源文件,可以是待执行的程序,也可以是一个函数库。该文件可以使用一般的编辑器进行编辑,也可以在BizRunner开发平台上编辑。 .FW:为方文脚本的代码文件,在开发平台上,点击“Save”按钮后,选择这个文件类型,即可存成代码文件。 .FWL:为方文脚本库函数的代码文件,在开发平台上,如果当前操作的是库函数,则在点击保存按钮时,选择这个文件类型,即可存成库函数代码文件。 .TC: 为测试用例进行自动化改造时生成的JSON格式的文件,该文件存储与该测试用例相关的所有信息, 里面可以混杂一些容易生成的代码。 该文件由BizTC或BizConvert生成, BizRunner载入这个文件后, 可以变换成FWS文件。 TCJSON:为JSON格式的测试用例自动化脚本的描述文件,在BIZAT框架中依据这个描述文件获得测试用例自动化脚本的相关信息。该文件可以通过BizTC生成BizRunner,可使用BizTC进行编辑,也可使用通用的编辑器如notepad进行编辑。 Macro 包含文件:独立的定义方文宏的文件,在脚本文件中,使用“#include filepath”读入。该文件为txt格式,建议使用“.i”作为扩展名。 库函数说明文件:JSON格式的用于说明库函数的文件,BizRunner在执行代码的时候,将通过这个文件引入相关的库函数的名称,这样在真正调用的时候,BizRunner就“知道”应该载入哪个库函数的执行体,然后调用相应的库函数。 该文件的使用方式: “import filepath” or “^< filepath” 数据源文件:JSON格式或Excel格式,BizRunner通过调入这个文件,将文件中的数据“注入”到数据源变量中。使用方式 “$dvar ^< filepath”,BizRunner依据其扩展名来判别JSON格式还是Excel格式。 Message File:为txt格式的普通文件,用于BizRunner调用BIZATDLL的BizMessage设置消息代号。这个文件在TCJSON中指定,在载入TCJSON的时候自动载入这个文件,另外,方文脚本也提供一个接口 “@< filepath” or “messagefile filepath”,在载入时, BizATDLL如果发现跟之前载入过的文件的文件名一模一样,则忽略,否则将载入到系统中, 而且覆盖之前载入的具有相同代号的信息。 如果要考虑软件的全球化支持, 使用MessageFile很重要。
<< Web程序自动化 | ToReboot工具 >> |