51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6932|回复: 7
打印 上一主题 下一主题

[原创] QTP 获取不到页面中的控件(对象),虽然网上有很多的方法,本人都尝试过了,还是获取不到

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-1-21 18:38:33 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
问题简述:
        QTP 获取不到页面中的控件(对象),虽然网上有很多的方法,本人都尝试过了,还是获取不到.(描述性编程,IE的加载项.....)
问题如下:
        这个页面,通过Object Sky 获取"处理方式"的下拉框是可以获取到的(图1,2),
        当选择一个下拉框中一个值时,会在处理方式及处理意见中插入一个页面(图3)
        问题:在弹出这个页面之后,在通过Object Sky获取"SP责任方"的下拉框,就获取不到了,只能获取如下,就如(图4)
        这样在录制的时候,就录不到操作"SP责任方"中的数据......

        看了开发的程序,"处理方式"中的值,是通过数据库中获取的,选择其中一个值时,通过查询一个数据表获取到插入页面的url,然后通过Ajax方式插入到中间.

        另外通过描述性编程也试过了.
        Browser("Browser").Page("name:=pickup_window_201001080003561","url:=http://10.110.0.205:6600/workflow/wf111.go?method=init").
                WebList("t_wf_dcasedispatchmsg.sp_duty").Click
        报错如下:
        The "t_wf_dcasedispatchmsg.sp_duty" object was not found in the Object Repository.
                Check the Object Repository to confirm that the object exists or to find the correct name for the object.

        用下列语句:
        Browser("Browser").Page("name:=pickup_window_201001080003561","url:=http://10.110.0.205:6600/workflow/wf111.go?method=init").
                WebList("name:=t_wf_dcasedispatchmsg.sp_duty").Click
        报错:
        Cannot find the "[ WebList ]" object's parent "[ Page ]" (class Page). Verify that parent properties match an object currently displayed in                 your application.

        还请大家,版主  帮我看看 如何解决此问题?

[ 本帖最后由 s154098121 于 2010-1-21 18:41 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    开心
    2 小时前
  • 签到天数: 656 天

    连续签到: 24 天

    [LV.9]测试副司令

    8#
    发表于 2015-4-24 09:28:47 | 只看该作者
    我一个登录页面,怎么才能判断是否登录成功呢?我使用判断两个页面中的两个对象是否存在(exit),可是,为什么都是说存在啊?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2010-1-22 16:15:57 | 只看该作者
    下面的代码就是问题中所提到的,在选择下拉框中时将页面插入到中间...
    我在下面的代码中添加了一个alert 语句,在页面调用后弹出对话框(图1),然后点击后,在识别就识别到了,回放也就成功了....
    但是 ,本人不知道为什么这么操作而能使对象识别,因为将alert插入到其他地方时,还是识别不到对象....那位朋友知道原因,请告之.....


    // 调用AJAX将处理页面加载到当前页面处理方式和处理意见之间
            var qryPacket = new AJAXPacket(initUrl,"处理页面");       
            //alert (qryPacket)   "如果在这里添加,则还是识别不到对象
            var subForm = document.forms[0];
            qryPacket.data.add("case_no", subForm.case_no.value.trim());
            core.ajax.sendPacketHtml(qryPacket,dispose);
           
            delete(qryPacket);
            // 设置表单提交URL
            var actionObj = document.all("actionUrl");
            alert ("test_test")    添加到这里就可以正确识别了~~~~
            if(actionObj!=null){
                    document.forms[0].action = actionObj.value;
            }else{
                    rdShowMessageDialog("该处理页面没有相关的处理路径,请检查!", 0);

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2010-1-22 15:28:10 | 只看该作者

    to 解答的朋友

    两位提供的方法都试过了,还是不行.....

    为什么通过描述编程还不可以识别呢,认为是QTP终究没有识别到对象,就如(图4),Object Sky 它指识别到了调用的页面,往下就识别不到了,是否跟Ajax技术有关呢???
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2010-1-22 10:48:15 | 只看该作者

    回复 3# 的帖子

    一般page层的属性都相同的,你其他语句的page页是怎么写,这个就怎么写呗。。

    Browser("Browser").Page("name:=pickup_window.*","url:=http://10.110.0.205:6600.*").
                    WebList("name:=t_wf_dcasedispatchmsg.sp_duty").Click

    这个也试试,如果不行就再找一下其他的属性
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2010-1-22 10:43:56 | 只看该作者
    Browser("Browser").Page("name:=pickup_window_201001080003561","url:=http://10.110.0.205:6600/workflow/wf111.go?method=init").
                    WebList("name:=t_wf_dcasedispatchmsg.sp_duty").Click

    试试这个: Browser("Browser").Page(":=").WebList("name:=t_wf_dcasedispatchmsg.sp_duty").Click

    或者打开对象库,直接添加这个weblist进去用
    Browser("xx").Page("xxx").WebList("xx").select "xxx"
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2010-1-22 10:10:42 | 只看该作者

    对 ls_721521 答复

    ls_721521: 还是不行啊
    还是报一样的错
    Cannot find the "[ WebList ]" object's parent "[ Page ]" (class Page). Verify that parent properties match an object currently displayed in  your application.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2#
    发表于 2010-1-22 09:30:22 | 只看该作者
    首先page层用描述性后WebList层就业要用描述性了。。
    你后面的那个句url属性里有个?,得用转义字符吧,改成
    Browser("Browser").Page("name:=pickup_window_201001080003561","url:=http://10.110.0.205:6600/workflow/wf111.go\?method=init").
                    WebList("name:=t_wf_dcasedispatchmsg.sp_duty").Click

    试试。。。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-27 10:34 , Processed in 0.073363 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表