WinRunner测试设计(7)
1、发送消息到结果测试窗口
你可以在测试脚本中定义一个消息,WinRunner会把它发送到测试结果窗口。要这么做,需要在测试脚本中增加一条report_msg语句。
语法如下:
report_msg(message);
在下面的例子中,WinRunner得到航班预订窗口的label属性的值,并把label属性值发送到测试结果窗口。
win_get_info("Flight Reservation","label",value);
report_msg("The label of the window is "& value);
2、从测试脚本中开始应用程序
你可以用invoke_application函数调用来从WinRuner测试脚本中开始运行应用程序。
语法如下:
invoke_application(file, command_option, working_dir, show);
---------------------
file指定调用的应用程序的文件名,它是带有完全路径的。
commnad_option参数指定要应用的命令行选项。
work_dir指定应用程序的工作目录和具体指定当应用程序打开时其主窗口如何显示。
例如:
invoke_application("c://flight4a.exe","","",SW_MINIMIZED);
3、定义测试脚本的步骤:
当你运行一个测试后,WinRunner在Report表单上显示全部的测试结果。要决定是否测试节通过或者失败,需要增加tl_step语句到测试脚本中。
tl_step(step_name,status,description);
---------------------
step_name是测试步骤的名字。它的状态决定了步骤是否通过,通过用0来表示,未通过用非0的任意值表示。
例如:在下面的测试脚本片段中,WinRunner从Notepad中读取文本,tl_step函数被用于决定是否读入了正确的文本。
win_get_text("Document - Notepad",text,247,309,427,329);
if(text=="100-Percent Compatible")
tl_step("Verify Text",0,"Correct text was found in Notepad");
else
tl_step("Verify Text",1,"Wrong text was found in Notepad");
---------------------
4、比较两个文件
WinRunner允许你在测试运行时比较两个文件并浏览它们的区别,通过使用file_compare函数来实现。
如果文件不完全相同,或者文件不能打开,在测试报告中会指出。在文件不完全匹配的情况下,你可以直接浏览report,看那些不同行的内容。
例如:你的应用程序允许你使用Save As...(另存为)来保存文件。那么你可以使用文件比较来检测文件是否正确的保存,或者文件是否有差异。
要在测试运行期间比较两个文件,你可以用file_compare语句进行编程,放入测试脚本中适当的位置。
语法如下:
file_compare(file_1,file_2[,save_file]);
---------------------
file_1,file_2参数指定要比较的两个文件的文件名。如果一个文件不在当前的测试文件目录下,那么你必须指定带全路径的文件名。
可选参数save_file保存的第三个文件的名字,它包含了两个文件之间的不同点。
见下面的例子,WinRunner测试Wordpad的另存为的功能。测试在Notepad中打开win.ini文件,并把它另存为win1.ini文件,file_compare函数被用于检测是否win.ini和win1.ini文件间有无区别。
#Open win.ini using Wordpad
system("write.exe c:/windows/win.ini");
set_window("win.ini-WordPad",1);
#Save win.ini as win1.ini
menu_select_item("File; Save As...");
set_window("Save As");
edit_set("File Name:_0","c://windows/win1.ini");
set_window("Save As",10);
button_press("Save");
#Compare win.ini to win1.ini and save both files to "save".
file_compare("c://windows//win.ini","c://windows//win1.ini","save");
---------------------
5、检查TSL脚本的语法
当WinRunner运行一个测试时,它将检查每一个脚本行的基本语法是否错误,象不正确的语法或丢失的元素等。
例如:如果WinRunner发现下面之一的错误,它将停止并让测试失败。
#if statement without then
if()
report_msg("Bad If Structure");
#while statement without end condition
while(){
report_msg("Bad While Structure");
}
#for statement without closing brackets
for(i=0;i<5;i++)
{
--------------------------------------
在运行测试前,你可以使用语法检查(Syntax Check)选项来检查这些错误类型。要运行语法检查来检查你的整个脚本文件,可以选择Tools菜单下的Syntax Check子菜单下的Syntax Check from Top命令。
要运行语法检查来从你选定的位置开始检查语法,可以可以选择Tools菜单下的Syntax Check子菜单下的Syntax Check from Arrow命令。
技巧:如果左边装订线(left gutter)不可见,可以选择Tools菜单下的Editor Options命令,然后选择Visible gutter。
如果在语法检查期间发现语法错误,会弹出消息描述框。