51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 14043|回复: 53
打印 上一主题 下一主题

[原创] QTP专家视图

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-3-29 09:46:13 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
专家视图

专家视图,也叫脚本视图,属于QTP中比较高级的功能选项。在该视图中,测试人员可以直接修改测试脚本(VB脚本)的代码,来增强测试脚本的功能,它要求测试人员具有一定VB脚本语法基础。
当然,测试脚本中也不完全是VB脚本,严格意义上来说,QTP的测试脚本应该是标准 VB脚本和QTP测试对象的组合体。
所谓的QTP测试对象,就是QuickTest定义的用来表示Windows窗体元素的对象,如同窗口,命令按钮等,每一个QTP测试对象都有若干个方法和属性,允许用户加以修改。
就是我们刚才录制的测试脚本的专家视图:




我们直接在该视图中修改和在关键字视图中修改的效果是一样的。
VB脚本是一种容易学习并且功能强大的脚本,它是VB的一个子集,遵循VB的语法。
如果读者原来没有接触过VB脚本的话,可以将关键字视图和专家视图中的对应项结合起来学习。

下面简单介绍一下其语法:

Ø
常见的对象名:

Dialog:对话框,括号里面的参数表示对话框标题栏上的名字
WinEdit:Windows窗体中的文本框
WinButton: Windows窗体中的命令按钮
ActiveX: ActiveX控件
WinComboBox: Windows窗体中列表框

Ø
常见的事件名:

Set:当在文本框中输入信息时会触发该事件
Click:当点击命令按钮时会触发该事件
Select:当选择列表框或是单选按钮时会触发该事件
Close:当关闭一个标准窗口或对话框时会触发该事件

下面在为大家介绍一下QTP中VB脚本中的一些通用语法规则,供大家参考:

1.
脚本中的变量要用Dim关键字声明,用Set关键字初始化

比如下面两个例子:

Dim passengers
passengers =
Browser("MercuryTours").Page("Find Flights").WebEdit("numpassengers").GetROProperty("value")

上面的例子定义了一个名为passengers的变量名

Set UserEditBox =
Browser("Mercury Tours").Page("Mercury Tours").WebEdit("username")
UserEditBox.Set "John"



在上面的例子中,首先通过Set方法将“Mercury Tours”网页上的“username”文本框对象赋给了UserEditBox变量,然后再调用UserEditBox对象的Set方法将“John”这个字符串赋给该对象。



2.
脚本中同样可以使用VB中控制语句,如If…Then…Else;While;For…Next等


3.
脚本不区分大小写

比如,下面两行代码是可以通用的:
Browser("Mercury").Page("Find a Flight:").WebList("toDay").Select "31"
browser("mercury").page("find a flight:").weblist("today").select "31"


4.
脚本中的字符串常量要用双引号括起来

比如下面一行代码:
Browser("Mercury").Page("Find a Flight:").WebList("toDay").Select "31"
网站名—Mercury,网页名---Find a Flight,控件名---toDay,控件选项---31,都用引号以上,表示它们都是字符串。

有的读者可能会问,既然有比较简单的关键字视图,干嘛还用专家视图呢?
是的,关键字视图可以实现测试中的大部分功能,但是如果想使你的测试脚本更加的灵活,功能更加的强大,有时就必须借助专家视图,比如需要在脚本中作一些条件判断或是循环,这时关键字视图就无能为力了。

但是也不是说我们就要从头到尾自己编写测试脚本,那样效率太低。一般的做法是先录制自动生成基础的测试脚本,然后在关键字视图中修改测试的对象和属性,涉及到高级的功能,再去专家视图中修改源代码。
北京地区对软件测试感兴趣的朋友可以和我交流:qq:306513768
我的博客:http://www.51testing.com/?uid/110105

友情链接:www.diytest.net

[ 本帖最后由 rendaoyuan 于 2007-7-4 17:36 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

54#
发表于 2009-5-16 20:59:55 | 只看该作者
ding xia
回复 支持 反对

使用道具 举报

该用户从未签到

53#
发表于 2007-9-18 09:47:07 | 只看该作者
不错啊!
为什么要说是广告贴啊,不理解
回复 支持 反对

使用道具 举报

该用户从未签到

52#
发表于 2007-9-17 17:12:40 | 只看该作者
sdlkfj2 ,辛苦
回复 支持 反对

使用道具 举报

该用户从未签到

51#
发表于 2007-9-5 14:28:24 | 只看该作者
感谢分享
回复 支持 反对

使用道具 举报

该用户从未签到

50#
发表于 2007-8-30 07:44:18 | 只看该作者
感觉国内的公司大部分是在做短期的项目,功能测试工具不是很普及
回复 支持 反对

使用道具 举报

该用户从未签到

49#
发表于 2007-8-24 09:54:23 | 只看该作者
不错,
回复 支持 反对

使用道具 举报

该用户从未签到

48#
发表于 2007-8-24 02:54:12 | 只看该作者
原帖由 txmsky 于 2007-8-23 19:55 发表
vb语言太不严谨了


测试脚本语言,要越简单越好!
象tcl脚本语言,只有字符串一种变量,但照样得到广泛的应用。
脚本语言搞复杂了,没有好处!
回复 支持 反对

使用道具 举报

该用户从未签到

47#
发表于 2007-8-23 19:55:20 | 只看该作者
vb语言太不严谨了
回复 支持 反对

使用道具 举报

该用户从未签到

46#
发表于 2007-8-23 16:44:20 | 只看该作者
我们程序不是VB,但也学习下sdlkfj2
回复 支持 反对

使用道具 举报

该用户从未签到

45#
发表于 2007-8-20 16:58:42 | 只看该作者
支持 支持
回复 支持 反对

使用道具 举报

该用户从未签到

44#
发表于 2007-8-20 11:19:45 | 只看该作者
总结与交流并行
回复 支持 反对

使用道具 举报

该用户从未签到

43#
发表于 2007-8-17 17:25:17 | 只看该作者
大部分是帮助文件里的
回复 支持 反对

使用道具 举报

该用户从未签到

42#
发表于 2007-8-17 13:30:48 | 只看该作者
受益非浅
回复 支持 反对

使用道具 举报

该用户从未签到

41#
发表于 2007-8-17 13:12:52 | 只看该作者
问一下:在专家视图中写的脚本是不是不需要活动页就能执行啊,为什么我在专家视图改了一个按钮名称,后在关键字视图中的页面上就出现了一个?(这个按钮在网页上的确存在)如下图,我把原来的“申请编辑”改为“编辑文档”,后运行到这就会卡住
回复 支持 反对

使用道具 举报

该用户从未签到

40#
 楼主| 发表于 2007-8-15 11:01:45 | 只看该作者
sdlkfj2
回复 支持 反对

使用道具 举报

该用户从未签到

39#
发表于 2007-8-6 10:19:52 | 只看该作者
sdlkfj3
回复 支持 反对

使用道具 举报

该用户从未签到

38#
发表于 2007-7-31 09:46:18 | 只看该作者
不错,希望有更多的总结交流帖,共同提高
回复 支持 反对

使用道具 举报

该用户从未签到

37#
发表于 2007-7-31 09:31:09 | 只看该作者
sdlkfj2
回复 支持 反对

使用道具 举报

该用户从未签到

36#
发表于 2007-7-25 14:12:50 | 只看该作者
感谢楼主,建议加精!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-24 01:26 , Processed in 0.097295 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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