51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2994|回复: 3
打印 上一主题 下一主题

[原创] 测试IBM MainFrame应用程序时的难题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-10-19 23:41:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我使用QTP测试IBM MainFrame应用程序时,遇到了一个难题。QTP已经安装了TerminalEmulatorsAdd-in。当TeWindowTeScreen的名字(Label值)随着不同的变量改变时,就很难继续使用录制的脚本。系统总是报错,显示找不到正确的TeScreen。比如第一次录制脚本的时候使用了一个账户号码ATeScreen的名字就自动录制成为A。等使用脚本测试其他账号时(比如B账号),TeScreen的名字就应该自动变成B。我准备测试很多账号,我试着在Script里设置一个变量,使TeScreen的名字同账号一起改变,但QTP却怎样也不认改变后的TeScreen。除非使用B账号重新录制脚本,否则只是手工修改的TeScreen的名字根本不能在脚本里使用。请问那位大侠有过相同的测试经历?怎样才能解决这个问题?我可不想手工去完成这个测试任务。

请看下面录制的脚本,如果我使用变量或通过手工在脚本里修改TeScreen的名字(比如改为帐号B),QTP运行的时候就不认该对象了:

TeWindow("TeWindow").TeScreen("账号A").SendKey TE_ENTER
TeWindow("TeWindow").TeScreen("账号A").Sync

期盼解答!多谢!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-10-20 09:02:35 | 只看该作者
TeScreen("账号A")这句话是刚开始的时候录制的对吧?
当再次执行其它的时候,它认的还是TeScreen("账号A"),所以只在文本框里改成“账号A”是不行的,系统会认不到对象
这问题挺难解决的,主要问题是开发时把账号的名字纳入识别路径了
我建议如果用QTP的虚拟对象应该可以很好的解决这个问题,楼主可以试试
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2006-10-20 10:35:33 | 只看该作者
用描述性编程的手段把账号A给参数化,或者可以试试正则表达试
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2006-10-23 22:18:07 | 只看该作者
非常感谢大家的帮助,我尝试了用虚拟对象的方法,但好像虚拟对象只能设置TeScreen下一级的对象。总是没有办法对TeScreen的名字进行操作。我曾经试着关闭TerminalEmulators的Add-in,虽然作为普通的windows应用程序终于可以录制和操作,但一些的功能却不能使用了,比如文字截图的功能。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-26 12:50 , Processed in 1.354435 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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