Scott86 发表于 2010-12-21 14:55:41

如何才能利用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后,必须手动点击密码输入框,才能继续往下运行

Scott86 发表于 2010-12-21 15:29:16

请大虾们帮帮忙吧!:dizzy:

wz403692767 发表于 2010-12-21 15:31:39

获取不到密码输入框,是指对象无法识别吗

上帝注定 发表于 2010-12-21 15:36:02

加同步点或者wait函数试试

Scott86 发表于 2010-12-21 16:36:46

加同步点或者wait函数试试
上帝注定 发表于 2010-12-21 15:36 http://bbs.51testing.com/images/common/back.gif
能说的详细点吗?嘿嘿,没看明白!

Scott86 发表于 2010-12-21 16:39:21

回复 3# wz403692767
可能是,我也不太清楚!我上传个注册界面吧

wz403692767 发表于 2010-12-21 17:05:30

本帖最后由 wz403692767 于 2010-12-21 17:26 编辑

Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "{TAB}"
输入UserName后面加这几句看看

liuxueyi 发表于 2010-12-21 17:50:12

应该是光标不在输入框吧,可以用tab使其激活。。。force。。!可以试下。

Scott86 发表于 2010-12-22 09:38:55

回复 7# wz403692767
QTP运行时显示“QTP缺少对象: 'WScript'”,该怎么办呀?

Scott86 发表于 2010-12-22 10:23:18

回复 7# wz403692767

加一个TAB不行呀!

wz403692767 发表于 2010-12-23 11:04:08

回复 10# Scott86


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

    试下这个,UserName后面添加这几行

Scott86 发表于 2010-12-23 12:54:28

回复 11# wz403692767
首先,我真的很感谢您!嗨!不过这个方法还是不行!

jia.peng 发表于 2010-12-23 14:05:46

是不是你的对象在运行的时候QTP没有识别出来啊,建议先判断那个对象的状态

17800455 发表于 2010-12-23 17:32:26

实在不行就用dom接口

Scott86 发表于 2010-12-23 17:54:30

回复 14# 17800455

dom接口怎么用呀?能说的详细点吗?谢谢啦先!

17800455 发表于 2010-12-24 11:59:30

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:33

回复 16# 17800455
提示错误

缺少对象: 'ie.document'

是什么原因啊?

Scott86 发表于 2010-12-27 10:02:24

大虾们帮帮忙呀

Scott86 发表于 2010-12-27 16:31:17

已经解决了

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:41

Browser("").Page("").WebEdit("password_click").SetFocus   
刚明白你说的什么意思, 那设置焦点就行了。
页: [1] 2
查看完整版本: 如何才能利用QTP获取注册中的密码输入框(已解决)