51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2483|回复: 11
打印 上一主题 下一主题

[原创] type="hidden"的文本为什么录制不下来呢

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-8-16 14:40:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现象是这样的:

我要向一个新增页面中的“内容”中输入文字,然后提交保存。这个“内容”采用了hidden类型来传值。
在使用QTP录制完脚本后,发现根本没有录制下来我输入“内容”这样一个操作。运行脚本,在系统中查看用qtp产生的这条数据后,发现“内容”为空。
QTP如何才能识别到hidden类型的name呢,这样我就可以set具体的内容了
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-8-16 14:52:33 | 只看该作者
实在没看懂!
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2018-4-22 12:50
  • 签到天数: 393 天

    连续签到: 1 天

    [LV.9]测试副司令

    3#
    发表于 2007-8-16 15:13:06 | 只看该作者
    没有遇到过这样的问题...
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2007-8-16 16:18:25 | 只看该作者
    你描述的关于没有输入内容的问题不是很清楚,最好能贴出页面源码。
    至于用QTP直接给hidden对象赋值,希望下面的片段可以帮助你。

    1. Browser("*").Page("*").Object.documentElement.all.hidden字段名称.value = "值"
    复制代码
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2007-8-16 16:38:58 | 只看该作者
    不懂
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2007-8-17 11:44:56 | 只看该作者

    回复 #4 surlary 的帖子

    源码是这样的:
    Browser("网站内容管理器").Page("内容管理器 version 1.8").Frame("leftFrame").Image("xtree_Lplus").Click
    Browser("网站内容管理器").Page("内容管理器 version 1.8").Frame("leftFrame").Image("xtree_Tplus").Click
    Browser("网站内容管理器").Page("内容管理器 version 1.8").Frame("leftFrame").Image("xtree_Tplus_2").Click
    Browser("网站内容管理器").Page("内容管理器 version 1.8").Frame("leftFrame").Link("盐文化").Click
    Browser("网站内容管理器").Page("内容管理器 version 1.8").Frame("mainFrame").Link("添加文章").Click
    Browser("网站内容管理器").Page("内容管理器 version 1.8").Frame("mainFrame_2").WebEdit("titles").Set "aa"
    Browser("网站内容管理器").Page("内容管理器 version 1.8").Frame("mainFrame_2").WebEdit("pubtime").Click
    //该行应该显示我向“内容”中输入文字的操作,但是没有录制下来
    Browser("网站内容管理器").Page("内容管理器 version 1.8").Frame("mainFrame_2").WebButton("确 定").Click
    Browser("网站内容管理器").Page("内容管理器 version 1.8").Sync

    按照您提供的方法添加:
    Browser("网站内容管理器").Page("内容管理器 version 1.8").Frame("eEditorArea").Object.documentElement(all).hidden("conetents").value="aaaa"。其中Frame("eEditorArea")是识别的“内容”对象。

    运行后,提示:

    Run Error 找不到成员。

    Line (11): "Browser("网站内容管理器").Page("内容管理器 version 1.8").Frame("eEditorArea").Object.documentElement(all).hidden("conetents").value="aaaa"".  Failed 2007-8-17 - 11:43:38

    [ 本帖最后由 Erin_gy 于 2007-8-17 11:51 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2007-8-17 14:25:27 | 只看该作者
    我回复的两个重点你都理解错了……
    第一个,我是说需要你提供所测页面的源代码。
    第二个,我是说Browser("*").Page("*").Object.documentElement.all.hidden字段名称.value = "值",而不是Browser("*").Page("*").Object.documentElement(all).hidden("hidden字段名").value = "值"。

    通过你给的信息,我觉得可能你的页面涉及到WebEditor内容,所以解决办法有两个,一个请参考http://bbs.51testing.com/viewthread.php?tid=84737 这个帖子,另一个就是通过我刚说的直接给hidden字段赋值的办法,根据你提供的脚本,我假想应该是这样:

    1. Browser("网站内容管理器").Page("内容管理器 version 1.8").Object.documentElement.all.conetents.value="aaaa"
    复制代码


    即使能正常执行,也可能在当前页面体现不出来,看看提交以后是不是正确。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2007-8-20 10:06:15 | 只看该作者
    谢谢您的回复!
    采用第二种方法将问题解决了,但是我不明白这个函数的作用,能否解释一下。
    另外,这两种方法有什么不同,各应用在什么情况下呢?
    下面是测试页面的部分源码:
    <form name="articleForm" method="post" action="/articles.do?method=saveArticleBelongColumn" enctype="multipart/form-data" onsubmit="return validate()">
            <table width="100%" border="0" class='border'>
                    <tr class='title'>
                            <td colspan="2" align="center"><strong>增 加 文 章</strong></td>
                    </tr>
                    <tr class='tdbg2'>
                            <td width="10%">标题</td>
                            <td width="90%"><input name='titles' type='text' size='37'
                                    maxlength='50' />&nbsp;&nbsp;<font color="red">*</font>&nbsp;</td>
                    </tr>
                    <tr class='tdbg'>
                            <td scope="row">标题图片</td>
                            <td><input type="button" name="button1" value="上传图片"
                                    onClick="MM_openBrWindowA('/articles/upload.jsp','','width=320,height=200','0')">
                            <input name='titlepicture' type='hidden'
                                    value="" />&nbsp;
                            </td>
                    </tr>
                    <tr class='tdbg'>
                            <td>关键字</td>
                            <td><input name='keywords' type='text' size='37' maxlength='50'>&nbsp;
                            </td>
                    </tr>
                    <tr class='tdbg2'>
                            <td>原始连接地址</td>
                            <td><input name='links' type='text' size='37' maxlength='50'>&nbsp;</td>
                    </tr>
                    <tr class='tdbg'>
                            <td>发布时间</td>
                            <td><input name='pubtime' type='text' size='37'
                                    onClick="calendar(document.articleForm.pubtime)" maxlength='50'>&nbsp;</td>
                    </tr>
                    <tr class='tdbg2'>
                            <td>内容</td>
                            <td>
                                    <input type='hidden' name="conetents">
                             <div><input type="hidden" id="conetents" name="conetents" value=""><input type="hidden" id="conetents___Config" value=""><iframe id="conetents___Frame" src="/FCKeditor/editor/fckeditor.html?InstanceName=conetents&Toolbar=Default" width="100%" height="500" frameborder="no" scrolling="no"></iframe></div>
    </td>
                    </tr>
                    <tr class='tdbg'>
                            <td>内容简介</td>
                            <td><textarea name='intro' rows="5" cols="40" maxlength="1000"></textarea>&nbsp;</td>
                    </tr>
                    <tr class='tdbg2' align='center'>
                            <td colspan="2"><input type='hidden' name='pubstate' value='0'> <input
                                    name='Add' type='submit' value=' 确 定 '>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                            <input name='Cancel' type='button' id='Cancel' value=' 取 消 '
                                    onClick="javascrpit:cback()" style='cursor:hand'></td>

                    </tr>
            </table>
    </form>
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2007-8-20 10:07:21 | 只看该作者
    下面是:/FCKeditor/editor/fckeditor.html?InstanceName=conetents&Toolbar=Default的部分源码:

    tr id="eWysiwyg">
                                    <td id="eWysiwygCell" height="100%" valign="top">
                                            <iframe id="eEditorArea" name="eEditorArea" height="100%" width="100%" frameborder="no" src="fckblank.html"></iframe>
                                    </td>
                            </tr>
                            <tr id="eSource" style="DISPLAY: none">
                                    <td class="Source" height="100%" valign="top">
                                            <textarea id="eSourceField" dir="ltr" style="WIDTH: 100%; HEIGHT: 100%"></textarea>
                                    </td>
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2007-8-20 11:24:34 | 只看该作者
    其实这是一个特例,因为有很大一部分WebEditor都是利用了DHTML和浏览器的支持,让一个元素有了Editbox的功能,也就是输入数据,所以QTP在识别的时候只能把它识别为WebElement,虽然在我们看来,这个对象完全就是一个TextArea。
    第二种方法是跳过QTP对浏览器的动作,直接访问页面元素,这种方法的坏处是跳过了模拟人工输入数据,当用户输入数据的过程中出现的问题脚本无法发现。
    第一种是利用WSH来进行键盘输入模拟,这种办法比第二种方法更像是测试一个功能。
    我自己感觉,如果不是专门要测试页面的hidden元素,就尽量使用第一种方法。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2007-8-20 11:44:05 | 只看该作者
    非常感谢您的解答!我明白了,谢谢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2007-8-20 15:44:58 | 只看该作者
    学习
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-5-6 21:35 , Processed in 0.084485 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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