你笑的时候全世界陪你一起笑,你哭的时候只有你一个人哭

从QTP参数化到WR参数化

上一篇 / 下一篇  2007-01-22 15:58:11 / 个人分类:Winrunner 技术

前几天看了xiaonan和gp_jl对QTP参数化的讲解和实际应用的帖子,感觉方法不错,从另一个角度对回放过程中的对象参数化。这些天一直在做WR的学习,觉得WR与QTP对对象的识别很类似,那么WR中应该也可以通过修改GUI文件(QTP中就是对象库)中逻辑名的物理识别属性达到参数化的效果,于是同样录制了flight例子,脚本及关键语句如下:
# Login
 set_window ("Login", 4);
 edit_set ("Agent Name:", "mercury");
 obj_type ("Agent Name:","<kTab>");
 password_edit_set("Password:", "kzptnyoslzjsaz");
 obj_type ("Password:","<kReturn>");

# Flight Reservation
 set_window ("Flight Reservation", 6);
 edit_set ("Date of Flight:", "11/11/11");
 list_select_item ("Fly From:", "Denver");  # Item Number 0;
 list_select_item ("Fly To:", "Los Angeles");  # Item Number 2;
 obj_mouse_click ("FLIGHT", 25, 29, LEFT);

# Flights Table
 set_window ("Flights Table", 1);
 list_select_item ("Flight", "2612   DEN   08:57 AM   LAX   09:55 AM   NW     $130.80"); # Item Number 2;
 button_press ("OK");

# Flight Reservation
 set_window ("Flight Reservation", 5);
 edit_set ("Name:", "dionysus");
# rc = GUI_buf_get_desc_attr(".\\gui.gui","Flight Reservation","First","label",x);  # GUI_buf_get_desc_attr()函数可以得到某一个对象的属性值
# pause(x);
 for(i=1;i<=3;i++)
 {
  switch(i)
  {
   case 1:
    {
     val = "First";
     break;      #一定要有这个break语句
    } 
   case 2:
    {
     val = "Business";
     break;
    } 
   case 3:
    {
     val = "Economy";
     break;
    } 
  }
   rc = GUI_buf_set_desc_attr(".\\gui.gui","Flight Reservation","First","label",val);
   button_set ("First", ON);
   wait(2);
 }
 button_press ("Insert Order");

最后回放的时候可以看到button_set函数点击逻辑名称为"Frist"的对象,但这个对象的物理描述是变化的,所以每次点击都不一样。

ps:但是这样修改后gui的逻辑名称与物理识别就是分开的了,会造成一定程度上的“误解”。

参考连接:

http://blog.51testing.com/?26649/action_viewspace_itemid_3098.html

http://blog.51testing.com/?13939/action_viewspace_itemid_3180.html

 


TAG:

heqingdan的个人空间 引用 删除 heqingdan   /   2007-12-06 11:09:46
加油
dionysus的个人空间 引用 删除 dionysus   /   2007-01-23 08:55:33
多谢,呵,看到那篇帖子后就想到WR中也可以这样实现,WR与QTP挺像的
gp_jl的个人空间 引用 删除 gp_jl   /   2007-01-22 22:27:57
举一反三,不错不错!
 

评分:0

我来说两句

Open Toolbar