51Testing软件测试论坛

标题: 如何才能利用QTP获取注册中的密码输入框(已解决) [打印本页]

作者: Scott86    时间: 2010-12-21 14:55
标题: 如何才能利用QTP获取注册中的密码输入框(已解决)
本帖最后由 Scott86 于 2010-12-27 16:31 编辑

如何才能利用QTP获取注册中的密码输入框。


在我录制的时候,可以获取到账号输入框,但是获取不到密码输入框,该如何处理呢?
Dim Input
Input = InputBox("请您帮我写一下验证码:")
Browser("···").Page("···").WebEdit("ValidateCode").Set Input
Browser("···").Page("···").WebEdit("EmailPre").Set DataTable("depurture1", dtGlobalSheet)
Browser("···").Page("···").WebEdit("EmailNext").Set "126.com"
Browser("···").Page("···").WebEdit("username").Set DataTable("depurture2", dtGlobalSheet)
Browser("···").Page("···").WebEdit("password").SetSecure"111111"
Browser("···").Page("···").WebEdit("confirmpassword").SetSecure"111111"

上述为我录制的,当运行到输入username后,必须手动点击密码输入框,才能继续往下运行[attach]67462[/attach]
作者: Scott86    时间: 2010-12-21 15:29
请大虾们帮帮忙吧!
作者: wz403692767    时间: 2010-12-21 15:31
获取不到密码输入框,是指对象无法识别吗
作者: 上帝注定    时间: 2010-12-21 15:36
加同步点或者wait函数试试
作者: Scott86    时间: 2010-12-21 16:36
加同步点或者wait函数试试
上帝注定 发表于 2010-12-21 15:36

能说的详细点吗?嘿嘿,没看明白!
作者: Scott86    时间: 2010-12-21 16:39
回复 3# wz403692767
可能是,我也不太清楚!我上传个注册界面吧
作者: wz403692767    时间: 2010-12-21 17:05
本帖最后由 wz403692767 于 2010-12-21 17:26 编辑

Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "{TAB}"
输入UserName后面加这几句看看
作者: liuxueyi    时间: 2010-12-21 17:50
应该是光标不在输入框吧,可以用tab使其激活。。。force。。!可以试下。
作者: Scott86    时间: 2010-12-22 09:38
回复 7# wz403692767
QTP运行时显示“QTP缺少对象: 'WScript'”,该怎么办呀?
作者: Scott86    时间: 2010-12-22 10:23
回复 7# wz403692767

加一个TAB不行呀!
作者: wz403692767    时间: 2010-12-23 11:04
回复 10# Scott86


    Browser("···").Page("···").WebEdit("username").Click
    Dim objShell
    Set objShell = CreateObject("WScript.Shell")
    objShell.SendKeys "{TAB}"

    试下这个,UserName后面添加这几行
作者: Scott86    时间: 2010-12-23 12:54
回复 11# wz403692767
首先,我真的很感谢您!嗨!不过这个方法还是不行!
作者: jia.peng    时间: 2010-12-23 14:05
是不是你的对象在运行的时候QTP没有识别出来啊,建议先判断那个对象的状态
作者: 17800455    时间: 2010-12-23 17:32
实在不行就用dom接口
作者: Scott86    时间: 2010-12-23 17:54
回复 14# 17800455

dom接口怎么用呀?能说的详细点吗?谢谢啦先!
作者: 17800455    时间: 2010-12-24 11:59
1 . Browser("···").Page("···").WebEdit("confirmpassword").object.value = "11111"
2.
set ie = createobject("InternetExplorer.Application")
'id 就是那文本框的id
ie.document.GetElementById("id").value = "11111"
set ie = nothing
作者: Scott86    时间: 2010-12-24 13:33
回复 16# 17800455
提示错误

缺少对象: 'ie.document'

是什么原因啊?
作者: Scott86    时间: 2010-12-27 10:02
大虾们帮帮忙呀
作者: Scott86    时间: 2010-12-27 16:31
已经解决了

1、把密码输入框“password”重新加入对象库“password_click”
2、在输入密码之前加一个CLICK
Browser("").Page("").WebEdit("password_click").Click
Browser("").Page("").WebEdit("password").SetSecure"111111"
Browser("").Page("").WebEdit("confirmpassword").SetSecure"111111"

请高手看看,这么改有没有什么隐患
作者: 17800455    时间: 2010-12-27 17:55
Browser("").Page("").WebEdit("password_click").SetFocus   
刚明白你说的什么意思, 那设置焦点就行了。
作者: shaynechu    时间: 2010-12-28 22:40
用appactivate 获取焦点也行
作者: shaynechu    时间: 2010-12-28 22:41
再者 用fireevent也行    不懂按f1查看帮助
作者: DreamsYCX    时间: 2012-8-24 09:15
没解决我的问题




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