最近开始有活干了,在慢慢的写代码过程中,遇到了不少问题,现在将遇到的一些问题记录下来,备后续参考。
1、 关于WebEdit:
在写自动化脚本给WebEdit赋参数时,一定要注意该WebEdit能输入的参数类型、参数长度等等,比如有些WebEdit只能输入Int型参数,那么就不可以赋String类型;有些WebEdit只能输入4位长度的字符,那么就不可以给WebEdit赋超过4位长度的字符,否则QTP就会报”Parameter is incorrect” 错误。因为之前没遇到过Parameter incorrect问题,因此还费时在网上找了很久,后来才发现原来是参数长度付错了。
2、 关于WebRadioGroup
对于WebRadioGroup,QTP在识别WebRadioGroup下的每个Radio时都识别为WebRadioGroup类型。如果采用QTP录制的形式录制点击Radio,我们会发现录制到如下形式的代码:
Browser("xx").Page("xx").WebRadioGroup("xx").Select "6948DB6E-9121-439D-8E66-F5E93F2DB6D3"
其中Select后面的值就是该Radio的Value值。
如果一个WebRadioGroup包含多个Radio,则每个Radio都会有个唯一的Value值对应。但是问题来了,如果每次都要输入Radio的Value值来对选择Radio的话,脚本的可读性会很差,因为很少有人会把每一项的Value值记住,从而知道QTP运行时点的是哪个Item。
Ok,现在举个小例子。以下是我写的简单的html
打开后就是这样一个简单的WebRadio测试页面
我们通过QTP录制点击第四个Radio,得到如下代码:
Browser("Test RaidoGroup").Page("Test RaidoGroup").WebRadioGroup("Member").Select "99BE8368-F8E3-42CC-859A-4E0274B7087B"
如果需要循环选择多个,就需要将所有Radio的Value值都输入到DataTable中供循环输入。
当然我们也可以使用简单的方法,那就是
Browser("Test RaidoGroup").Page("Test RaidoGroup").WebRadioGroup("Member").Select “#3”
回放下看看,QTP自动选择了第四个Radio。因为Radio的index是0开始的,所以选择3时就是第四个Radio
我们也可以对3进行参数化,将3保存在一个变量中,比如i
radiocount=Browser("Test RaidoGroup").Page("Test RaidoGroup").WebRadioGroup("Member").GetROProperty("items count")
For i=0 to radiocount-1
Browser("Test RaidoGroup").Page("Test RaidoGroup").WebRadioGroup("Member").Select "#"&i
Next
这样就很方便的实现了Radio选择的遍历。
之前还不知道Select “#index”,今天查了下帮助,还真是写的清清楚楚啊,以后要多用帮助文档
今天先写这么多,剩下的过两天补充。