WinRunner测试脚本编程.docx
- 文档编号:6961272
- 上传时间:2023-01-13
- 格式:DOCX
- 页数:13
- 大小:214.52KB
WinRunner测试脚本编程.docx
《WinRunner测试脚本编程.docx》由会员分享,可在线阅读,更多相关《WinRunner测试脚本编程.docx(13页珍藏版)》请在冰豆网上搜索。
WinRunner测试脚本编程
预习报告成绩:
指导教师审核(签名):
年月日
预习报告
(一)实验目的
1.了解WinRunner的主要功能,熟悉WinRunner8.2的使用环境;
2.掌握掌握WinRunner的两种测试脚本录制方法;
3.掌握在测试脚本中插入同步点、建立检查点的方法。
4、掌握数据驱动测试脚本的转换方法,实现多组数据自动测试。
(二)实验内容
以样本软件Flight4A为被测对象,录制脚本、插入同步点、建立检查点、建立数据驱动测试脚本。
1.插入同步点
1)录制测试脚本:
在FlightReservation中输入一笔新订单,然后删除刚刚新增的订单。
2)改变预设的等待时间:
将预设等待时间10秒钟,缩短为1秒钟。
3)执行测试脚本。
4)在测试脚本中加入同步点,获取状态InsertDone的图像信息。
5)执行已加入同步点的测试脚本,并监视测试结果。
2.建立检查点
以样本软件Flight4A为被测对象:
1)以ContextSensitive模式录制测试脚本。
开启OpenOrder窗口,对【OrderNo.】checkbox建立检查点。
2)勾选【OrderNo.】checkbox,输入订单编号。
3)对【CustomerName】checkbox建立检查点。
4)点击【OK】按钮开启订单。
5)停止录制测试脚本,并保存。
6)执行脚本,监视测试结果。
7)在此测试脚本基础上,继续以ContextSensitive模式录制测试脚本。
开启传真订单,输入传真号码。
8)切换到Analog录制模式,在【AgentSignature】中签名。
9)再切换到ContextSensitive模式,对【AgentSignature】建立图像检查点。
10)清除签名,对【AgentSignature】再次建立图像检查点。
11)关闭传真订单窗口,停止录制。
12)执行测试脚本,查看结果。
3.建立数据驱动测试脚本
以样本软件Flight4A为被测对象:
1)开启FlightReservation并登录。
2)以ContextSensitive模式录制测试脚本:
a.开启订单,勾选【OrderNo.】输入订单号,然后点击【OK】。
b.开启FaxOrder窗口,再点击【Cancel】关闭窗口。
c.停止录制测试脚本,并保存。
3)在测试脚本中插入函数,取得传真订单窗口上的#Tickets、TicketPrice、Total各字段的值。
4)对测试脚本编程,判断Total字段的值是否正确。
5)使用Debug模式对脚本除错。
6)将测试脚本转换成数据驱动测试脚本。
7)将数据加入数据表中,调整测试脚本。
8)执行测试脚本并查看结果。
(三)实验要求
1.分别使用RapidTestScriptWizard、录制、GUIMapEditor三种方法学习GUI,将识别后的GUI对象保存到GUIMap中;
2.在GUIMap中查看GUI对象,理解GUIMap的作用以及WinRunner是如何识别对象的;
3.使用ContextSensitive和Analog两种模式录制测试脚本并执行测试脚本;
4.在测试脚本中插入同步点,执行已加入同步点的测试脚本,并监视测试结果;
5.建立图像检查点;
6.将测试脚本转换成数据驱动测试脚本,将数据加入数据表中,调整测试脚本,执行测试脚本并查看结果。
实验报告成绩:
指导教师审核(签名):
年月日
实验报告
一实验环境
Winrunner测试环境
二实验内容
以样本软件Flight4A为被测对象,录制脚本、插入同步点、建立检查点、建立数据驱动测试脚本。
1.插入同步点
1)录制测试脚本:
在FlightReservation中输入一笔新订单,然后删除刚刚新增的订单。
2)改变预设的等待时间:
将预设等待时间10秒钟,缩短为1秒钟。
3)执行测试脚本。
4)在测试脚本中加入同步点,获取状态InsertDone的图像信息。
5)执行已加入同步点的测试脚本,并监视测试结果。
2.建立检查点
以样本软件Flight4A为被测对象:
1)以ContextSensitive模式录制测试脚本。
开启OpenOrder窗口,对【OrderNo.】checkbox建立检查点。
2)勾选【OrderNo.】checkbox,输入订单编号。
3)对【CustomerName】checkbox建立检查点。
4)点击【OK】按钮开启订单。
5)停止录制测试脚本,并保存。
6)执行脚本,监视测试结果。
7)在此测试脚本基础上,继续以ContextSensitive模式录制测试脚本。
开启传真订单,输入传真号码。
8)切换到Analog录制模式,在【AgentSignature】中签名。
9)再切换到ContextSensitive模式,对【AgentSignature】建立图像检查点。
10)清除签名,对【AgentSignature】再次建立图像检查点。
11)关闭传真订单窗口,停止录制。
12)执行测试脚本,查看结果。
3.建立数据驱动测试脚本
以样本软件Flight4A为被测对象:
1)开启FlightReservation并登录。
2)以ContextSensitive模式录制测试脚本:
a.开启订单,勾选【OrderNo.】输入订单号,然后点击【OK】。
b.开启FaxOrder窗口,再点击【Cancel】关闭窗口。
c.停止录制测试脚本,并保存。
3)在测试脚本中插入函数,取得传真订单窗口上的#Tickets、TicketPrice、Total各字段的值。
4)对测试脚本编程,判断Total字段的值是否正确。
5)使用Debug模式对脚本除错。
6)将测试脚本转换成数据驱动测试脚本。
7)将数据加入数据表中,调整测试脚本。
8)执行测试脚本并查看结果。
三实验结果
1:
录制测试脚本脚本代码
#FlightReservation
set_window("FlightReservation",5);
menu_select_item("File;OpenOrder...");
#OpenOrder
set_window("OpenOrder",1);
button_set("OrderNo.",ON);
edit_set("Edit_1","2");
button_press("OK");
#FlightReservation
set_window("FlightReservation",3);
menu_select_item("File;FaxOrder...");
#FaxOrderNo.2
win_move("FaxOrderNo.2",656,477);
set_window("FaxOrderNo.2",13);
obj_type("MSMaskWndClass","
button_set("SendSignaturewithorder",ON);
win_move("FaxOrderNo.2",644,355);
win_mouse_drag("FaxOrderNo.2",239,206,329,262);
button_press("ClearSignature");
win_move("FaxOrderNo.2",692,509);
#AnalogRecording
move_locator_track
(1);
mtype("
move_locator_track
(2);
mtype("
move_locator_track(3);
move_locator_track(4);
mtype("
move_locator_track(5);
move_locator_track(6);
move_locator_track(7);
move_locator_track(8);
move_locator_track(9);
mtype("
move_locator_track(10);
#FaxOrderNo.2
set_window("FaxOrderNo.2",16);
button_press("Send");
2:
插入同步点脚本代码
#FlightReservation
set_window("FlightReservation",1);
menu_select_item("File;NewOrder");
obj_type("MSMaskWndClass","053111");
list_select_item("FlyFrom:
","Denver");#ItemNumber0;
list_select_item("FlyTo:
","Frankfurt");#ItemNumber0;
obj_mouse_click("FLIGHT",39,29,LEFT);
#FlightsTable
set_window("FlightsTable",4);
list_select_item("Flight","15781DEN08:
00AMFRA08:
45AMAA$105.40");#ItemNumber2;
button_press("OK");
#FlightReservation
set_window("FlightReservation",20);
edit_set("Name:
","swpu");
button_press("InsertOrder");
set_window("FlightReservation",9);
obj_wait_bitmap("InsertOrder","Img1",10);
button_press("DeleteOrder");
#FlightReservations
set_window("FlightReservations",1);
button_press("f/(Y)")
3插入GUI对象检查点脚本代码
#FlightReservation
set_window("FlightReservation",7);
menu_select_item("File;OpenOrder...");
#OpenOrder
set_window("OpenOrder",20);
obj_check_gui("OrderNo.","list1.ckl","gui1",1);
win_move("OpenOrder",728,506);
set_window("OpenOrder",6);
button_set("OrderNo.",ON);
set_window("OpenOrder",11);
edit_set("Edit_1","3");
#ProgramManager
set_window("ProgramManager",6);
obj_check_gui("SysListView32","list2.ckl","gui2",1);
#OpenOrder
set_window("OpenOrder",41);
obj_check_gui("CustomerName","list3.ckl","gui3",1);
set_window("OpenOrder",7);
button_press("OK");
4建立图像检查点(exj5)
#FlightReservation
set_window("FlightReservation",5);
menu_select_item("File;OpenOrder...");
#OpenOrder
win_move("OpenOrder",761,488);
set_window("OpenOrder",1);
button_set("OrderNo.",ON);
edit_set("Edit_1","4");
button_press("OK");
#FlightReservation
set_window("FlightReservation",4);
menu_select_item("File;FaxOrder...");
#FaxOrderNo.3
win_move("FaxOrderNo.3",702,440);
win_move("FaxOrderNo.3",668,468);
set_window("FaxOrderNo.3",7);
obj_type("MSMaskWndClass","
win_move("FaxOrderNo.3",690,469);
#AnalogRecording
move_locator_track
(1);
move_locator_track
(2);
move_locator_track(3);
mtype("
move_locator_track(4);
move_locator_track(5);
move_locator_track(6);
move_locator_track(7);
mtype("
obj_check_bitmap("AgentSignature:
(static)","Img1",20);
#FaxOrderNo.3
win_move("FaxOrderNo.3",612,452);
win_move("FaxOrderNo.3",522,409);
set_window("FaxOrderNo.3",1);
button_press("ClearSignature");
win_move("FaxOrderNo.3",9,404);
obj_check_bitmap("AgentSignature:
(static)","Img2",23);
set_window("FaxOrderNo.3",17);
button_press("Cancel");
5编辑测试脚本(exj6)
#FlightReservation
set_window("FlightReservation",10);
menu_select_item("File;OpenOrder...");
#OpenOrder
set_window("OpenOrder",3);
button_set("OrderNo.",ON);
edit_set("Edit_1","3");
button_press("OK");
#FlightReservation
set_window("FlightReservation",6);
menu_select_item("File;FaxOrder...");
#FaxOrderNo.3
set_window("FaxOrderNo.3",6);
edit_get_text("#Tickets:
",tickets);
edit_get_text("TicketPrice:
",price);
edit_get_text("Total:
",total);
#checkthatthetotalticketpriceiscalculatedcorrectly.
if(tickets*price==total)
tl_step("total",0,"Totaliscorrect.");
else
tl_step("total",1,"Totalisincorrect.");
button_press("Cancel");
6数据驱动测试脚本(exj7)
table="exj7.xls";
rc=ddt_open(table,DDT_MODE_READ);
if(rc!
=E_OK&&rc!
=E_FILE_OPEN)
pause("Cannotopentable.");
ddt_get_row_count(table,table_RowCount);
for(table_Row=1;table_Row<=table_RowCount;table_Row++)
{
ddt_set_row(table,table_Row);
#FlightReservation
set_window("FlightReservation",10);
menu_select_item("File;OpenOrder...");
#OpenOrder
set_window("OpenOrder",3);
button_set("OrderNo.",ON);
edit_set("Edit_1",ddt_val(table,"Order_Num"));
button_press("OK");
#FlightReservation
set_window("FlightReservation",6);
menu_select_item("File;FaxOrder...");
#FaxOrderNo.3
set_window("FaxOrderNo.3",6);
edit_get_text("#Tickets:
",tickets);
edit_get_text("TicketPrice:
",price);
edit_get_text("Total:
",total);
#checkthatthetotalticketpriceiscalculatedcorrectly.
if(tickets*price==total)
tl_step("total",0,"correct."&tickets&"ticketsat$"&price&"cost$"&total&".");
else
tl_step("total",1,"error."&tickets&"ticketsat$"&price&"dosenotequal$"&total&".");
button_press("Cancel");
}
ddt_close(table);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- WinRunner 测试 脚本 编程