51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2416|回复: 8
打印 上一主题 下一主题

[原创] 问个WebList对象的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-9-6 16:18:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
oa系统有个查询页面限制了只能查3个月内的数据,选择完月份后点查询按钮可查询该月的结果。
现月份WebList的下拉框中只有“7,8,9”三个数据,录制时选了7月份,生成的脚本为:
Browser("OA系统").Page("OA系统").Frame("content_frame").WebList("month").Select "7"

问:如果我想选到5月份去查询要怎样做?试了下面两种方法都不行,
方法一:
Browser("OA系统").Page("OA系统").Frame("content_frame").WebList("month").Object.value="5"
方法二:
Browser("OA系统").Page("OA系统").Frame("content_frame").WebList("month").SetTOProperty "selection","5"
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-9-6 21:07:27 | 只看该作者
WEBLIST里面只有7,8,9三个选项,那选择5肯定是不行的。要看历史数据,就只有去后台了。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2010-9-7 08:44:02 | 只看该作者
没有谁知道吗
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-9-7 11:03:10 | 只看该作者
这个肯定是不行的了。
方法一:
Browser("OA系统").Page("OA系统").Frame("content_frame").WebList("month").Object.value="5"
由于这是个WebList控件值可以用select来操作而不是set,所以上面代码(赋值)不会运行成功。

方法二:
Browser("OA系统").Page("OA系统").Frame("content_frame").WebList("month").SetTOProperty "selection","5"
你使用SetTOProperty方法只能在对象库中给其增加属性值,但是脚本在运行时实际需要的是运行时存在的对象。
如:你虽然通过SetTOProperty方法给对象在对象库中增加了个选项:
Browser("OA系统").Page("OA系统").Frame("content_frame").WebList("month").SetTOProperty "all items","7;8;9;5"
但,实际运行的时候,这个weblist控件的下拉框的值,还是7,8,9没变.没有5,所以选择的时候肯定会报错。

要认脚本跑起来就得保证你所要选择的值存在,而你操作的只是对象库中的值,实际显示页面中,不会因为你在对象库中增加了,就会在
页面增加。所以行不通。
我不知道下拉框这3个月份是怎样控制显示的。
还有既然只提供了7.8.9月份的查询,你又如何取查询5月份的呢,除非他提供了这个月的查询,或者你就只能到数据库中写sql查询啦。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2010-9-8 09:03:42 | 只看该作者
???
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2010-9-8 11:28:10 | 只看该作者
只有7、8、9,手工去测试能选5吗?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2010-9-10 09:02:39 | 只看该作者
这样说吧,对象它分两种:
对象库对象和运行时对象。
脚本的回放是否成功是通过取得运行时对象,然后到对象库中去匹配对象,匹配成功脚本能顺利运行。
如果匹配不成功,就会报错,说在对象库中找不到该对象。
你的操作相当于再对象库中给WebList这个控件增加元素5.但是在实际运行中(运行时对象)5是不存在的。
既然不存在,你又怎么可以去操作呢。
就像一个选择题,有A、B、C、D四个答案,而你非要选“E”,那不明白着是错的吗?
如果你非要选E的话,除非你在题目中增加了“E”选项。
建议你多看看关于对象库的帖子,论坛上有很多。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2015-10-19 13:26
  • 签到天数: 2 天

    连续签到: 2 天

    [LV.1]测试小兵

    8#
    发表于 2010-9-10 13:59:42 | 只看该作者
    WebList,包含Index和Value。index和Value很可能不一致;
    如果查询时,用的是Index字段,
    你直接输入Value值,而没有对应的Index,肯定查询不到的
    你选择的7、8、9是肯定会有Index对应的

    比如程序设死了:
    Index,Value
    0,7
    1,8
    2,9
    开发查询用的Index,选Value=7时,Index=0.
    你自己设置Value=5,而没有对应的Index怎么查询

    你可以问问开发,查询时是用的Index还是Value,
    再设置相应的值,只要库中有的,就应该能查到了

    [ 本帖最后由 kavensyw 于 2010-9-10 14:05 编辑 ]
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-10-19 13:26
  • 签到天数: 2 天

    连续签到: 2 天

    [LV.1]测试小兵

    9#
    发表于 2010-9-10 14:45:52 | 只看该作者
    如果你想要的是改变下拉菜单的内容,参考以下步骤:
    Browser("P&G BEAT").Page("P&G BEAT").WebList("ctl00$ctl00$ctl00$cphBase$cphC").Select "BabyCare"

    '下面是下拉菜单内容相关的4个属性,通过修改其内容,来更改其名称
    innertext = "==我是修改后的== HairCare PCC SkinCare MenCare BabyCare FemCare OralCare Laundry"
    innerHTML = "<OPTION value=-1 selected>==我是修改后的==</OPTION> <OPTION value=1>HairCare</OPTION> <OPTION value=2>PCC</OPTION> <OPTION value=3>SkinCare</OPTION> <OPTION value=4>MenCare</OPTION> <OPTION value=5>BabyCare</OPTION> <OPTION value=6>FemCare</OPTION> <OPTION value=7>OralCare</OPTION> <OPTION value=8>Laundry</OPTION>"
    outerHTML = "<SELECT class=skin_ddl_B id=ctl00_ctl00_ctl00_cphBase_cphContent_cphMain_ddlCategory onchange=ddlCategorySelectIndexChange() name=ctl00$ctl00$ctl00$cphBase$cphContent$cphMain$ddlCategory> <OPTION value=-1 selected>==我是修改后的==</OPTION> <OPTION value=1>HairCare</OPTION> <OPTION value=2>PCC</OPTION> <OPTION value=3>SkinCare</OPTION> <OPTION value=4>MenCare</OPTION> <OPTION value=5>BabyCare</OPTION> <OPTION value=6>FemCare</OPTION> <OPTION value=7>OralCare</OPTION> <OPTION value=8>Laundry</OPTION></SELECT>"
    outertext = "==我是修改后的== HairCare PCC SkinCare MenCare BabyCare FemCare OralCare Laundry"
    Browser("P&G BEAT").Page("P&G BEAT").WebList("ctl00$ctl00$ctl00$cphBase$cphC").Object.setAttribute "innerHTML",innerHTML
    Browser("P&G BEAT").Page("P&G BEAT").WebList("ctl00$ctl00$ctl00$cphBase$cphC").Object.setAttribute "innerText",innertext
    Browser("P&G BEAT").Page("P&G BEAT").WebList("ctl00$ctl00$ctl00$cphBase$cphC").Object.setAttribute "outerHTML",outerHTML
    Browser("P&G BEAT").Page("P&G BEAT").WebList("ctl00$ctl00$ctl00$cphBase$cphC").Object.setAttribute "outer Text",outertext

    本帖子中包含更多资源

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

    x
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-13 04:19 , Processed in 0.077308 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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