51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[原创] 如何参数化这个属性

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-8-27 11:18:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教大家,我录制的时候,点击My Company Five前面的“+”, 现在我想rerun的时候打开My Company One前面的“+”.

每个"+"的可唯一表示的是url,比如

my company one 前面的"+"的url是
http://localhost/ekp/servlet/ekp?TX=USERTREE&BASEORG=*ROOT*&PARENT=*ROOT*&PARENT=*ROOT*&SELECTEDORG=EKP000000637&XS=0#My Company One


my company five 前面的"+"的url是
http://localhost/ekp/servlet/ekp?TX=USERTREE&BASEORG=*ROOT*&PARENT=*ROOT*&PARENT=*ROOT*&SELECTEDORG=EKP000000645&XS=0#My Company Five

所以我在OR里面加上url作为 test object details. 在代码中加入了改变toproperty的内容。可是运行的时候QTP还是不认我这个重新定义的EXPAND.请大家
参考附件里面的SCREENSHOT帮帮我好么? 谢谢

本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2007-8-27 11:25:20 | 只看该作者
是不是我的url的Regula expression=*My Company One 太短了。
还要多加些string呢?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-8-27 11:47:02 | 只看该作者
斑竹们,高手们,请帮忙亚~~~~~sdlkfj9
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-8-27 11:49:05 | 只看该作者

回复 #3 vaguely 的帖子

在正则表达式中,*只代表个数为0或者多个。只有.*才表示任意多个字符或数字。
试一下.*My Company One

[ 本帖最后由 winfood 于 2007-8-27 12:58 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-8-27 12:16:24 | 只看该作者
。。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2007-8-27 12:56:53 | 只看该作者
不行呀。我把datatable中url的值改成了
.*My Company One

可是运行后还是遇到
Cannot identify the object "Expand" (of class Image). Verify that this object's properties match an object currently displayed in your application.

怎么办呀?sdlkfj9
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-8-27 13:06:55 | 只看该作者
原帖由 vaguely 于 2007-8-27 12:56 发表
不行呀。我把datatable中url的值改成了
.*My Company One

可是运行后还是遇到
Cannot identify the object "Expand" (of class Image). Verify that this object's properties match an object currently  ...


我刚刚看了截图,发现里面url的取值比较复杂。你可不可以把问题分解一下。
那个Expand Image的url属性先不要设置为从DataTable里面取值,把它设置为常数值并钩选正则表达式。
像这样:


我刚才用常数类型试了一下,没有问题。

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2007-8-27 13:12:00 | 只看该作者
谢谢winfood  

我刚才用常数类型试了一下,是没有问题的。sdlkfj3
但是如何再把它参数化呢?

因为每次选的company是不同的.sdlkfj1
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2007-8-27 13:20:44 | 只看该作者
为什么属性在OR中设成常数可以?参数化就不可以了呢?很奇怪亚
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-8-27 13:25:07 | 只看该作者
原帖由 vaguely 于 2007-8-27 13:12 发表
谢谢winfood  

我刚才用常数类型试了一下,是没有问题的。sdlkfj3
但是如何再把它参数化呢?

因为每次选的company是不同的.sdlkfj1


我还没有试验过参数化到DataTable的情况,不过你不需要这么做。你可以在检查一下你的设计,有一步是多余的。就是把Expand对象的url属性直接对应到DataTable里面。

其实只要:
1. Expand的url属性用常数类型,并且选择Regular Expression;
2. 这个时候url的值为空串也可以,因为这是OT属性对吧;
3. 设计好DataTable里面的url列的各项值,比如.*My Company One, .*My Company Two, ...;
4. 在代码里面每次对Expand对象操作前,加入类似如下语句:
    Browser(***).Page(***).Image(***).SetTOProperty("url", DataTable("url", dtLocalSheet))

注:如果你从Expand的url属性里面设置为从DataTable里面取值,就没有必要做第4步了。因为他们相互有冲突的地方,而且影响了代码可读性。
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2007-8-27 13:44:16 | 只看该作者
谢谢winfood! 这样做就可以了! 真得很感谢你!  !

不过我自己为我自己的画蛇添足的一步感到很困惑。为什么会多想了一步呢?

Anyway, 从您的方法中学到了很多!
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2007-8-27 23:11:51 | 只看该作者

同上

我也有这个问题
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-15 16:36 , Processed in 0.076714 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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