zxx446 发表于 2009-8-20 12:18:23

完成一次自动化测试的脚本编写任务后的小小总结

接触QTP已经有几个月的时间了,第一次发帖,与Q友分享完成本次测试任务的心得.
老手不要嗤之以鼻,新手多多学习,呵呵~

1.在一个Test中,录制和编程兼用,是一个高效的方法,但需要注意其后继强迫性.
本次测试,从登录到缴费界面的输入用户号的编辑框被激活,均采用录制的方式.从输入用户号开始,到结束,采用描述性编程.因为输入用户号需要循环语句,直接写代码更为方便.

2.登录界面,输入密码处的一个常用方法:type
在录制的过程中,会录制成.source的方法,都是暗文,回放的过程如果更换了数据库和密码,无法知道需要将暗文改成什么,改成.type后,直接输入密码即可.

3.获取外部数据的方法之一:将EXCEL文件导入到Data Table.
需要注意的是
①Data Table的列名要和EXCEL文件中的列名一致.
②Data Table的列名的修改方法,双击列名即可填写.
③EXCEL文件导入的方法,点Data Table的任意位置,在出现的右键菜单中选择”文件”->”导入文件”.

4.循环采用Do while,可以和IF嵌套.FOR循环不支持和IF的嵌套.
Do while i<Data Table.GetRowCount
……
If   then
End if
……
Data Table.SetNextRow
i=i+1
Loop

5. Data Table 的取值
例如
Window(“text:=系统”).WinObject(“window id=1034”).type Data Table(“用户号”,dtGlobalSheet)
其中”用户号”是Data Table的列名.
另外还可以看到一点,就是window id也可以作为一个属性来识别某对象.

6.在程序运行的过程中,使用GetROProperty来得到对象动态的属性值.
可将其付给变量并输出到文本文件中.
例如
p1= Window(“text:=系统”).WinObject(“window id=1034”).GetROProperty(“text”)
f1.write “值为”&p1&vbNewLine

7.文件的写入
Dim fso,f1
Const ForAppending=8
Set fso=CreateObject(“Scripting.FileSystemObject”)
Set f1=fso.openTextFile(“d:\a.txt”, ForAppending)
F1.write “This is a test!!!”
F1.close
Set f1=nothing
Set fso=nothing

8.将测试过程中的一些值记录到文本文件时,采用逗号分隔的方式,当然也可以是分号或制表符等,这样可以直接在EXCEL中将文本文件导入,转换成EXCEL..

liaojianguo 发表于 2009-8-20 12:22:58

值得学习的

heqingbluesky 发表于 2009-8-20 15:02:51

:D

maomao257 发表于 2009-8-20 17:22:17

支持原创~顶一个!

maxinruitest 发表于 2009-8-21 14:55:44

支持

zxx446 发表于 2009-8-22 12:57:10

:handshake 谢谢各位支持

zchtest 发表于 2009-8-28 18:29:38

For 可以和IF嵌套

为什么说For不可以和IF嵌套, 在我的脚本里嵌好多层都没有关系。楼主可以再试试

zxx446 发表于 2009-9-3 17:41:14

回复 7# 的帖子

错误表述,应该是不要和If语句一起使用Exit。:loveliness:

joseph_wh 发表于 2009-9-3 23:43:12

原帖由 zchtest 于 2009-8-28 18:29 发表 http://bbs.51testing.com/images/common/back.gif
为什么说For不可以和IF嵌套, 在我的脚本里嵌好多层都没有关系。楼主可以再试试
只要符合语法,怎么套都不漏

huangchengxian 发表于 2009-9-4 16:47:49

支持下。

who111 发表于 2009-9-21 10:40:06

支持原创~~~:handshake

fei.ge 发表于 2009-9-21 21:29:24

支持原创,对新手有帮助。
页: [1]
查看完整版本: 完成一次自动化测试的脚本编写任务后的小小总结