51Testing软件测试论坛

标题: QTP专家视图 [打印本页]

作者: rendaoyuan    时间: 2007-3-29 09:46
标题: QTP专家视图
专家视图

专家视图,也叫脚本视图,属于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 编辑 ]
作者: 桃花劫    时间: 2007-3-29 09:49
像是COPY过来的
不过肯定是一广告贴sdlkfj3
作者: walker1020    时间: 2007-3-29 13:00
呵呵!不错!关键是理解!
作者: wangxinwen    时间: 2007-3-29 17:30
不错!
作者: zhou840401    时间: 2007-3-29 18:40
到目前为止,我还没有明白关键字视图有是么好。录制的脚本要修改的地方不少,维护也很麻烦。还是觉得直接写脚本好。
作者: saintlord    时间: 2007-3-30 10:34
关键字视图适合初学者,没有什么编程基础的
不过要想用好qtp,不会写脚本肯定不行
作者: ghx    时间: 2007-3-30 15:20
sdlkfj2 ,不错,学习了
作者: xihong2004    时间: 2007-3-31 16:23
支持一下
作者: Coffey111111    时间: 2007-3-31 16:46
多多学习,多多应用专家视图~~~sdlkfj5
作者: Coffey111111    时间: 2007-3-31 16:46
多多学习,多多应用专家视图~~~sdlkfj5
作者: allrounder    时间: 2007-4-4 23:30
嘿嘿
作者: yhzmw    时间: 2007-4-5 12:42
基本没用过关键字视图。
作者: handle    时间: 2007-4-8 18:50
顶一下,学习。。。
作者: nijinyi726    时间: 2007-4-10 11:18
sdlkfj2 谢谢,正在学习中
作者: xqq1999    时间: 2007-4-10 11:52
学习一下!sdlkfj3
作者: chbhaha    时间: 2007-4-11 09:18
duo 看多学多练
作者: 19thangel    时间: 2007-4-11 10:10
学习sdlkfj2
作者: xueqinzhaoqing    时间: 2007-4-11 15:16
学习一下
作者: 厍仕杰    时间: 2007-4-13 15:13
都是那个飞机的 能不能有点别的阿 我付了
作者: jacky9947    时间: 2007-4-20 16:29
好东西,学习啊.
作者: stone821021    时间: 2007-4-20 18:31
支持一下!
作者: rendaoyuan    时间: 2007-6-13 16:13
sdlkfj2
作者: youxipp    时间: 2007-6-13 16:25
学习中
作者: rendaoyuan    时间: 2007-6-15 11:33
not at all
作者: ilovezhoujoe    时间: 2007-6-15 11:36
看过
作者: chaoweiliang    时间: 2007-6-26 15:17
sdlkfj5
作者: chenjie021    时间: 2007-6-26 16:09
支持一下!
作者: jialebihaidao    时间: 2007-6-27 11:32
thanks
作者: 南极    时间: 2007-6-27 15:07
sdlkfj5
作者: jialebihaidao    时间: 2007-7-2 08:38
sdlkfj2
作者: chaoweiliang    时间: 2007-7-4 08:31
thank you
作者: 紫慕    时间: 2007-7-4 11:30
vb,呵呵。
作者: rendaoyuan    时间: 2007-7-4 17:37
自己顶下
作者: xxxx168    时间: 2007-7-11 15:45
不错
作者: jialebihaidao    时间: 2007-7-15 08:47
正在自学QTP,楼主的帖子对我很有帮助
作者: chaoweiliang    时间: 2007-7-25 14:12
感谢楼主,建议加精!
作者: jialebihaidao    时间: 2007-7-31 09:31
sdlkfj2
作者: ppent    时间: 2007-7-31 09:46
不错,希望有更多的总结交流帖,共同提高
作者: jialebihaidao    时间: 2007-8-6 10:19
sdlkfj3
作者: rendaoyuan    时间: 2007-8-15 11:01
sdlkfj2
作者: haiqin    时间: 2007-8-17 13:12
问一下:在专家视图中写的脚本是不是不需要活动页就能执行啊,为什么我在专家视图改了一个按钮名称,后在关键字视图中的页面上就出现了一个?(这个按钮在网页上的确存在)如下图,我把原来的“申请编辑”改为“编辑文档”,后运行到这就会卡住
作者: jiangdanyang    时间: 2007-8-17 13:30
受益非浅
作者: gaoyanfang1    时间: 2007-8-17 17:25
大部分是帮助文件里的
作者: nedved1020    时间: 2007-8-20 11:19
总结与交流并行
作者: heartsteer    时间: 2007-8-20 16:58
支持 支持
作者: littlebugle_hh    时间: 2007-8-23 16:44
我们程序不是VB,但也学习下sdlkfj2
作者: txmsky    时间: 2007-8-23 19:55
vb语言太不严谨了
作者: yabest    时间: 2007-8-24 02:54
原帖由 txmsky 于 2007-8-23 19:55 发表
vb语言太不严谨了


测试脚本语言,要越简单越好!
象tcl脚本语言,只有字符串一种变量,但照样得到广泛的应用。
脚本语言搞复杂了,没有好处!
作者: wuzhigang80412    时间: 2007-8-24 09:54
不错,
作者: jialebihaidao    时间: 2007-8-30 07:44
感觉国内的公司大部分是在做短期的项目,功能测试工具不是很普及
作者: jtfaye    时间: 2007-9-5 14:28
感谢分享
作者: zhangj8826    时间: 2007-9-17 17:12
sdlkfj2 ,辛苦
作者: Seneca    时间: 2007-9-18 09:47
不错啊!
为什么要说是广告贴啊,不理解
作者: jenvee    时间: 2009-5-16 20:59
ding xia




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2