李志智 发表于 2009-1-5 18:12:12

QTP 不能找到对象

我试着编写了一下,关于访问QTP自带的WEB界面的代码,但是总运行不成功,我痛苦了一天了,烦死了。我是个新手,希望能解决得帮我解决一下,先谢谢了。
目的:登陆QTP自带的web界面,使用不同的账号和密码
操作:1.把excel中值导入到datatable中。(excel中只有两列五行,user和pwd,值也很简单)
            2.读取datatable中的值,没读取一次后,执行一下登陆的操作。共循环五次(因为excel的行数是5)
错误原因描述: 执行循环的第一次时,很顺利,但是执行到第二次时就报出错误----不能找到对象
代码:
Public function Welcome ( )
      datatable.ImportSheet"D:\lzz.xls","Sheet1","Global"
    Dim i
    i =0
         While i < datatable.GetRowCount
                  Dim dtuser,dtpwd
               dtuser = datatable.Value("user","Global")
                dtpwd = datatable.Value("pwd","Global")
               Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").set (dtuser)
               Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").Set(dtpwd)
               Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click
               If Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").Exist Then
                         Print ("登陆成功")
                         else
                         print ("登陆失败")
               End If
            Browser("Welcome: Mercury Tours").Close
                           i= i +1
                  datatable.SetNextRow
         Wend

End Function
Call Welcome( )

错误
Cannot find the "userName" object's parent "Welcome: Mercury Tours" (class Browser). Verify that parent properties match an object currently displayed in your application.


我不知道我是否能描述清楚了。希望各位能帮一下我这个问题。

李志智 发表于 2009-1-6 10:26:24

好happy,困扰一天的问题今天终于可以运行了。哎,这种滋味很美,我想我这一天都会为解决了这个问题而高兴的。其实,当一个问题,自己怎么也想不清楚的时候,最好先休息一段时间,之后平静下来,分析每一个环节。哈哈哈哈

zhangxinnow 发表于 2009-1-6 11:26:01

应该把返回也加在循环中。

liujinkui1 发表于 2009-1-6 12:48:44

问题在那

我也遇到过这个问题。怎么样解决

norgas 发表于 2009-1-6 13:23:33

你的方法里只有关闭浏览器,没有打开浏览器。
执行到第二遍的时候当然找不到对象了。

李志智 发表于 2009-1-6 15:19:53

楼上说的很对 ,我是因为在第二次运行的时候没有打开IE,加上些打开ie的语句就可以了

guojunlin 发表于 2009-1-6 16:57:48

记下了,下次也用个循环试试

胡奇 发表于 2009-1-8 11:43:42

我来学习哒:)
页: [1]
查看完整版本: QTP 不能找到对象