51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 27317|回复: 36
打印 上一主题 下一主题

Winrunner之描述性编程

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-7-24 17:18:58 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
刚刚用了QTP的描述性编程,忽然想起用WinRunner也用一下描述性编程。做了感觉还不错,呵呵。。。。
       以下是本人用WINDOW XP自带的一个计算器做的一个小例子:
#################################################################################
#
#  Description-------------Use Description Programing to Test the CALC in Window XP  by WinRunner
#
#  Tester------------------Lantian Wei
#
#  Modify Time-----------2007-7-24
#
#################################################################################
invoke_application("calc.exe","","c:\\windows\\system32\\",SW_SHOW);
static myarr[]={{1,"+",2,3},{1,"-",2,-1},{1,"*",2,2},{1,"/",2,0.5}};
win_activate("{class: window,label: Calculator}");
set_window("{class: window,label: Calculator}",5);
for(i=0;i<4;i++)
{ for(j=0;j<3;j++)
     button_press("{class: push_button,label:"&myarr[i,j]&"}");
  button_press("{class: push_button,MSW_class: Button,label:=}");
  edit_get_text ("{class: edit}", result);
if(index(myarr[i,j],".")==0)
{
   if(result==myarr[i,j]&". ")
     tl_step("CheckAnswer",0,"The calculatation is right:"&myarr[i,j-3]&" "&myarr[i,j-2]&" "&myarr[i,j-1]&" = "result);
   else
     tl_step("CheckAnswer",1,"The calculatation is wrong:"&myarr[i,j-3]&" "&myarr[i,j-2]&" "&myarr[i,j-1]&" != "result);
  wait(1);
  }
else
{
  if(result==myarr[i,j]&" ")
    tl_step("CheckAnswer",0,"The calculatation is right:"&myarr[i,j-3]&" "&myarr[i,j-2]&" "&myarr[i,j-1]&" = "result);
  else
   tl_step("CheckAnswer",1,"The calculatation is wrong:"&myarr[i,j-3]&" "&myarr[i,j-2]&" "&myarr[i,j-1]&" != "result);
  wait(1);
  }
}
win_close("{class: window,label: Calculator}");

以上是本人用描述性编程写的脚本,至此现丑了。如有不足之处还请大家指正!在此先表示感谢!
通过这个例子的练习,我发现它确实有好多优点,比如你从此不用在关心那烦人的对象库了,而一个测试脚本里基本上在对象库中出现的问题最多了。然而它还是有缺点的,比如对于无法识别的对象,它就无能为力了,而对于那些OBJECT对象,它的支持也不好。所以如果WR对应用程序识别的满好的话,不如用描述性编程试试。sdlkfj5

[ 本帖最后由 lantianwei 于 2007-8-15 14:24 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

37#
发表于 2009-9-3 18:17:52 | 只看该作者
学习了!!!
回复 支持 反对

使用道具 举报

该用户从未签到

36#
发表于 2008-4-2 18:49:19 | 只看该作者
请问有些WR函数参数不支持描述性编程,那应该如何处理?在一个脚本中其他函数都采用了描述性编程,这一个函数应该怎样处理?
比如:menu_select_item ( menu;item [ x,y ] );
menu        The logical name of the menu.这个变量描述中表示不支持描述性编程,应该如何处理?
回复 支持 反对

使用道具 举报

该用户从未签到

35#
发表于 2008-2-25 21:39:53 | 只看该作者
感觉用描述性编程的话,代码写得比较慢.没有经过封装,可读性不强.
另外某些情况下,代码也不好维护
回复 支持 反对

使用道具 举报

该用户从未签到

34#
发表于 2008-1-21 22:46:05 | 只看该作者
顶下..终于花了半个多小时看懂了..
以前是用robot,但感觉它都依靠脚本,维护起来还不如重做..
现在正在努力学习WR..
非常感谢楼主分享..
回复 支持 反对

使用道具 举报

该用户从未签到

33#
发表于 2008-1-20 21:43:56 | 只看该作者
路过~ 学习了!
回复 支持 反对

使用道具 举报

该用户从未签到

32#
发表于 2007-12-25 18:25:28 | 只看该作者
值得学习!!
回复 支持 反对

使用道具 举报

该用户从未签到

31#
发表于 2007-12-15 20:16:08 | 只看该作者

回复 1# 的帖子

这个都是简单的,也是WR的内涵所在!!
回复 支持 反对

使用道具 举报

该用户从未签到

30#
发表于 2007-12-14 16:08:49 | 只看该作者
非常感谢啊
回复 支持 反对

使用道具 举报

该用户从未签到

29#
 楼主| 发表于 2007-12-13 12:48:41 | 只看该作者

回复 30# 的帖子

是可以的
两者没有什么必然的联系
但是要注意:如果你的WINDOWS对象用的是描述性编程 则该窗体对象下的子对象就不可以用对象库了
回复 支持 反对

使用道具 举报

该用户从未签到

28#
发表于 2007-12-13 10:58:34 | 只看该作者
可不可以在一个脚本中既用gui库,又使用描述性编程?
回复 支持 反对

使用道具 举报

该用户从未签到

27#
发表于 2007-11-6 11:21:02 | 只看该作者
不知道有没有完整介绍WR中脚本的编写教程,软件自带的介绍文档看起来还不是很清楚,求达达们给介绍一个!
回复 支持 反对

使用道具 举报

该用户从未签到

26#
发表于 2007-11-1 16:43:12 | 只看该作者
搞不懂
回复 支持 反对

使用道具 举报

该用户从未签到

25#
发表于 2007-10-29 14:43:09 | 只看该作者
还是不太明白什么是描述性编程?
回复 支持 反对

使用道具 举报

该用户从未签到

24#
发表于 2007-10-25 16:56:21 | 只看该作者
刚学,先收,等以后再真正搞明了这知识。
回复 支持 反对

使用道具 举报

该用户从未签到

23#
发表于 2007-10-17 12:13:46 | 只看该作者
不错,支持
回复 支持 反对

使用道具 举报

该用户从未签到

22#
发表于 2007-10-11 13:11:26 | 只看该作者
非常不错的帖子!
回复 支持 反对

使用道具 举报

该用户从未签到

21#
发表于 2007-10-10 10:28:22 | 只看该作者
我也曾经用GUI描述来建立脚本,理论上通过对象描述的编程可以识别出灵活变化的界面,特别是一些由数据驱动生成的界面,不过实际效果并不理想,只能说在一定程度和局限上能起到一些帮助吧,我还是倾向于非GUI的API与传统的GUI库来建立脚本.

[ 本帖最后由 mythxhg 于 2007-10-10 10:30 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2007-10-10 10:22:38 | 只看该作者
不错不错,不过调试是个麻烦事,因为你并不知道代码里对象描述是否正确,所以还是有必要先把对象都获取到对象库然后利用对象库确认描述方式和方法都无误,再来才是将这写对象的描述提取出来代码化.所以工作量是比较大了,不知道会不会影响自动化测试建立的进度啊.
回复 支持 反对

使用道具 举报

该用户从未签到

19#
 楼主| 发表于 2007-9-28 09:44:46 | 只看该作者
最近在项目中我真正用到了描述性编程,发现确实有其好处,我在一个窗体中有176个对象,但是我却只用了一句话来表示,效率很高吧!我觉得描述性编程对大量的相似对象以及一些未知对象非常适用,但对大部分我觉得还是用对象库比较合适.所以觉得对象库和描述性编程没有好坏之分,只有适合不适合的差别.
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-23 13:11 , Processed in 0.083404 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表