执行一栏用以产生测试脚本,主要功能有片段、全部、工作流等。
1、片段
片段用来辅助用户快速的选择一个或多个场景产生脚本从而可以进行运行和调试。
(1)打开AlldayTest,打开相应项目,确认场景中是否存在项目,点击菜单栏“执行”-->“片段”,出现片段界面。
(2)选择“展开所有”按键,既可显示所有场景步骤;再次选择,还原。
展开所有图:
还原图:
(3)选择所要的场景步骤。
(4)点击“确定”按键,产生脚本。
(5)界面中的“选择所有”按键,点击后效果如下:
2、全部
用以产生场景中的所有步骤。
(1)打开AlldayTest,打开相应项目文件,确认场景中是否存在步骤,点击“执行”-->“全部”,将会显示全部脚本。
3、运行
脚本生成后,点击“运行”,开始运行脚本。
4、停止
用来停止(F4)正在运行的脚本,或者使用快捷键F2,可暂停运行,再按一次F2可继续运行脚本。
5、工作流
工作流用来包装场景管理里面的基本场景,生成可以运行并满足需求的测试流程。可根据需求选择顺序工作流来完成普通业务流程或是状态机工作流来实现对超复杂业务流程的数据驱动与状态驱动测试。
1)点击“执行”-->“工作流”,弹出工作流界面。
2)添加测试套件
点击菜单栏“执行”-->“工作流”,在套件树一栏右击,选择添加测试套件。一个测试套件可以包括多个工作流。
3)添加顺序工作流
顺序工作流可以将各个场景按照执行顺序排列,用以完成普通的业务流程。
(1)点击菜单栏“执行”-->“工作流”,右击TestSuit,选择“添加顺序工作流”后建立新项目。
(2)双击新项目后按需求重新命名。
(3)在右侧栏中选择ScenarioActivity,并拖入工作流中的相应位置。
拖动完成:
(4)右击ScenarioActivity,选择需要封装的场景。
(5)如此执行添加场景直至添加完成后进行保存,点击运行按键开始执行。
4)添加状态机工作流。
状态机工作流可根据当前的状态跳转到不同的地方,执行不同的工作流活动。
(1)右键点击TestSuite,选择“添加状态机工作流”后建立新项目。
(2)双击新项目后重新命名。
(3)双击StateActivity或者点击StateActivity后拖动至工作流栏内。
(4)对StateActivity进行重命名。
(5)双击EventDrivenActivity或者点击EventDrivenActivity后拖动至StateActivity内。
(6)双击StateActivity内的EventDrivenActivity,将DelayActivity拖入进来。
(7)同样再向下添加ScenarioActivity。添加完成后右键点击scenarioActivity,选择“选择场景”。
(8)在弹出的窗体中选择要加入的场景。单击“确定”返回。
(9)最后加入setStateActivity,并改选其中的TargetStateName选项。
(10)点击Workflow返回上一层,并且改选InitialStateName值。单个状态机工作流建立完成。
4)工作流中各种Activity解释。
(1)VariableActivity
用于设置全局的变量。可以在工作流运行中各个位置所使用,并可以起到集中常见变量,便于维护的作用。; K/点击右键,选择“添加/删除变量”,可以进行变量的添加和删除。
(2)ReadWriteActivity
用于读写一个文本文件,获取其中的值或者向其中写入值。
相关属性:
IsRead:设为True表示为从文件中读取值(所取得的值放入RuntimeKey定义的全局变量名称中),设为false表示写入值到文件中。
Path:要读或者写的文件
RuntimeKey :AlldayTest中的全局变量名,用于指定要读或者写入的数据来源。
(3)SendMailActivity
在设置相关信息后,用于发送Email。
(4)WhileActivity
用于根据条件做循环,可以通过向其添加SequenceActivity来实现多个子Activity的添加并执行。
A、未添加SequenceActivity时只能实现一个子Activity的添加。
B、向其中添加SequenceActivity后可添加多个子Activity。
(5)SequenceActivity
用于在一些Activity内部添加子顺序Activity。比如WhileAcitvity只能添加一个子Acitvity,可以通过先添加SequenceActivity来实现WhileActivity可以运行多个子Activity。
(6)Suspend
用于将当前工作流暂停并弹出对话框,待用户点击对话框之后再继续执行。使用时单击拖动Suspend至需要暂停的场景即可。
(7)Terminate
用于终止当前工作流运行。使用时将Terminate单击拖动至想结束的步骤下即可。
(8)IfelseActivity
IfElseActivity用于添加判断逻辑,它的条件设置中的this.GetData()常常和场景里的AddData()一起使用,从而可以沟通工作流和场景,进行数据交换。
A、建立顺序工作流,建立一个ScenarioActivity。
B、拖动IfElseActivity至ScenarioActivity下。
C、在IfElseActivity的两个选择分支上分别建立一个ScenarioActivity。
D、点击编辑栏内的Condition右侧的下拉选择框,将选项选成“声明性条件规则”。
E、点击Condition左侧的“+”键,展开选项。
F、点击ConditionName选项栏右侧的弹出对话框键。
G、在弹出的对话框内选择新建。
H、在弹出的新建条件框内建立分支条件语句。
I、点击确定退出。
(9)SetStateActivity
用在StateActivity中最后一步,设置该StateActivity要跳转的下一步状态(StateActivity)。使用时单击拖动SetStateActivity至编辑窗体内。
(10)ScenarioActivity
ScenarioActivity用于承载场景管理里面的场景。它一个一个链接起来可用于组织场景管理里面场景的执行顺序,从而满足测试人员自身的测试逻辑。在ScenarioActivity上点击右键,有场景选择对话框出现,可用来绑定一个或者多个场景。
相关属性:
DataRowIndex :用于指定从第几行开始进行数据循环,与只有在IsDataLoop设置为True的时候才起作用。
1 S7 h9 \$ {6 [IsDataLoop:设定是否让TestData.xls中与场景对应的数据循环使用。
IsDataParameterize:设定是否让产生的脚本参数化,在需要切换测试数据时(SetDataFile('othertest.xls');),必须将该值设置为True。
A、单击ScenarioActivity拖动至编辑窗体内。
B、右键点击ScenarioActivity,选择“选择场景”。
C、选择好场景后点击“确定”。
D、完成。
(11)DelayActivity
用于delay一段时间。 尤其在StateActivity的流程当中,第一个必须是DelayActivity。使用时先双击StateActivity中的EventDrivenActivity,使其展开,再单击DelayActivity拖动至其中。
(12)EventDrivenActivity
用于和StateActivity一起使用,要添加在StateActivity中。建立好StateActivity后,单击EventDrivenActivity拖动到StateActivity中。
(13)StateActivity
只能用在状态机工作流当中。用于设置一个可以被跳转的状态。该状态要包含一些流程,DelayActivity以及它执行完后要跳转的状态。使用时单击StateActivity,拖动至中间窗体内进行操作。
(14)DBActivity
用于操作并返回数据库数据的活动。支持SqlServer,Mysql和Oracle。
相关属性:
ConnectionString:
Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=132.228.97.140)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=DBTESTNT)));
User; password=pwd;
; DataBaseType: 可以选择SqlServer,Mysql和Oracle。
DataParameterKey: 数据库入参的关键字。
: \ R9 F1 n. P6 _& l: ` DataTable: 查询返回的值的关键字。
6、 任务管理器
通过任务管理器用户可以设置未来的测试任务列表,包括测试任务的开始时间,结束时间,测试频率等。这样用户就不必人为地去开始测试任务,当到达测试开始时间时,通过时间触发器触发,系统将自动按照任务列表进行测试。
(1)点击菜单栏“执行”-->“任务管理器”。
(2)根据需求设置管理器内各项设置。
上面窗口显示已设定好的测试任务列表,可以随时更改列表内容。
下面窗口显示所选的时间触发器的类型及其属性,可以重新根据需要设置。
设置单个任务项具体步骤:点击Workflow项,选择将要执行的Workflow项目名,再点击触发器类型项,在列表中选择好触发器类型,如:Daily,并设置好其属性后,点Save保存。
如此下去,可以设置多个任务项,构成一个任务列表。
7、报告
报告用来存储运行时的所有结果。
当脚本运行完成或者停止后会出现报告。(每次运行完是否自动显示报告,可在配置中设置)