51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[原创] 用MTM执行报错:对象不支持此属性或方法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-5-27 19:40:55 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
大家好!
我录制好了一个脚本
完了后用QTP回放时测试通过(有时也通不过,时好时坏、、、)
但是放到Multi Test Manager V8.2.4中进行测试的时候总是报错:
Object doesn't support this property or method!!


我的脚本结构如下:
Action
|___Action1
|___Action2
因为在Action1和Action2中Browser("name:="&browserTitle,"Index:=0").Page("title:="&browserTitle)这部分是一样儿的,所以就考虑用一个全局变量browserTitle
来存储这个东东、、、
在Action中有个全局变量:
browserTitle = ".*SAP Business All-in-One.*"
Environment.Value("pageDesc") = Browser("name:="&browserTitle,"Index:=0").Page("title:="&browserTitle)

在Action1中获取该变量:
Set pageDesc = Environment.Value("pageDesc")

那么对应的组件的调用如下:
pageDesc.Link("text:="&acceptText,"Index:=0").Click

Action2中类似!!!

现在通过MTM进行自动回放的时候总是报n多相同的错误:Object doesn't support this property or method!!
其中第一个出错的地方就是在:

Run ErrorObject doesn't support this property or method: 'pageDesc.Link'
Line (18): "pageDesc.Link("text:="&acceptText,"Index:=0").Click".
Failed27/05/2010 - 19:34:24


但是在QTP中执行的时候就可以pass!!!
各位大大给看看是什么原因造成的???
我试图通过放慢它的执行速度,每2000ms(2s)钟执行一步,执行速度倒是慢了下来,但也是不行,为了这么个问题整的我头都大了、、、
各位给看看到底是什么原因引起的!!!!


谢谢5楼的解答、、、
但是现在因为后续几个action中的脚本中Browser("").Page("")这个前面一部分都是一样儿的,
如果每个action中都要这么写的话,势必会很耗时而且也不方便,如果一旦Browser("").Page("")中的对应的名字改变了的话,那么就需要修改每一个地方,维护起来也很不方便,基于这些原因的考虑,所以我才考虑使用一个全局变量将前面一部分存放进一个变量里面!!
按照5楼的说法,那应该怎么做才能够满足我的需求呢???谢谢指点、、、


O(∩_∩)O~谢谢7楼上的回答、、、

这个倒是可以考虑试试O(∩_∩)O~
再次感谢大家这么久的支持、、、O(∩_∩)O~谢谢了、、、

[ 本帖最后由 lxs647 于 2010-6-4 10:49 编辑 ]

本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2010-6-4 10:49:06 | 只看该作者
O(∩_∩)O~谢谢7楼上的回答、、、

这个倒是可以考虑试试O(∩_∩)O~
再次感谢大家这么久的支持、、、O(∩_∩)O~谢谢了、、、
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2010-6-2 09:22:31 | 只看该作者
把 browserTitle 放进环境变量里,变的只有这个吧
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2010-6-1 15:25:57 | 只看该作者
谢谢楼上的解答、、、

但是现在因为后续几个action中的脚本中Browser("").Page("")这个前面一部分都是一样儿的,
如果每个action中都要这么写的话,势必会很耗时而且也不方便,如果一旦Browser("").Page("")中的对应的名字改变了的话,那么就需要修改每一个地方,维护起来也很不方便,基于这些原因的考虑,所以我才考虑使用一个全局变量将前面一部分存放进一个变量里面!!

按照5楼的说法,那应该怎么做才能够满足我的需求呢???谢谢指点、、、
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2010-5-31 09:33:16 | 只看该作者
Environment.Value("pageDesc") = Browser("name:="&browserTitle,"Index:=0").Page("title:="&browserTitle)

这句话你把PAGE对象塞进了环境变量里
环境变量最好只存存字符串什么的,对象、数组最好别放进去,经常会很莫名出错
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2010-5-28 14:59:29 | 只看该作者
2楼的Environment不存对象(恕我没有怎么理解明白,不好意思O(∩_∩)O~)

是指不要使用全局变量,每一个Action中对应组件的使用还是老老实实的写那么一大串的Browser("name:="&browserTitle,"Index:=0").Page("title:="&browserTitle).*****呢

还是指什么意思??
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-5-28 10:28:32 | 只看该作者
解决方法可尝试:
1、如楼上所说
2、使用Test Batch Runner或QTRunner试试
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2010-5-28 09:15:57 | 只看该作者
Environment 不存对象,试试
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-27 02:04 , Processed in 0.095031 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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