51Testing软件测试论坛

标题: 发现QTP的一个缺陷。 [打印本页]

作者: wuzhuayu    时间: 2007-10-25 16:02
标题: 发现QTP的一个缺陷。
今天在录制登录脚本时发现了一个问题。

我们知道QTP在录制登录脚本的时候,遇到输入密码时,会用类似的语句:
Browser("xx").Page("xxx").WebEdit("xx").setSecure "xxxxxxxxxxxxxxxx"

今天录制同样的脚本,却发现无法登录。想了很久,发现在html代码中 这个接受密码输入的WebEdit的属性中缺少 "name" 这一个属性,导致无法正确的传递密码。我让开发人员加上了name属性,果然就顺利通过了。

期间,我试过这样的办法,
set p=Browser("xx").Page("xxx").object.getElementById("webeidt的id")
p.value ="密码"or"md5后的密码"
或者是 p.setSecure "xxxxxxx",或者是p.set "xxxxxx"

都行不通。

看来QTP真的有这个问题。


有没有XDJM遇到这样的问题?小弟愚见,不知道是否有其他的办法。请指教。
作者: hsjzfling    时间: 2007-10-25 16:27
一般来说,手工能输入并登录成功的的都可以用脚本模拟输入、登录。Set不行可以换Type嘛,直接模拟键盘的输入操作应该就行咯~
作者: 猫妖木夕    时间: 2007-10-25 16:27
遇到这样的问题的时候,我就不录制,直接写
Browser("xx").Page("xxx").WebEdit("xx").set "密码"
作者: wuzhuayu    时间: 2007-10-25 16:35
上面两位说的办法都行不通。
作者: 19thangel    时间: 2007-10-25 16:45
lz意思是不是没有属性name所以无法识别?
那么就用别的属性做关键字识别好了

[ 本帖最后由 19thangel 于 2007-10-25 16:48 编辑 ]
作者: sidneylover    时间: 2007-10-25 17:05
Browser("xx").Page("xxx").WebEdit("xx").setSecure "xxxxxxxxxxxxxxxx"

没有name属性,你如何定位是对哪个webedit赋值。
作者: wuzhuayu    时间: 2007-10-25 17:22
QTP自动给这个input框命名为WebList。
我觉得可能还是QTP自身的问题吧。
作者: hsjzfling    时间: 2007-10-25 20:00
楼主是不是考虑贴几张图上来?
贴上对象库中的对象属性及其它的相关的信息




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