51Testing软件测试论坛

标题: 测试IBM MainFrame应用程序时的难题 [打印本页]

作者: eightants    时间: 2006-10-19 23:41
标题: 测试IBM MainFrame应用程序时的难题
我使用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

期盼解答!多谢!!
作者: yuandjing    时间: 2006-10-20 09:02
TeScreen("账号A")这句话是刚开始的时候录制的对吧?
当再次执行其它的时候,它认的还是TeScreen("账号A"),所以只在文本框里改成“账号A”是不行的,系统会认不到对象
这问题挺难解决的,主要问题是开发时把账号的名字纳入识别路径了
我建议如果用QTP的虚拟对象应该可以很好的解决这个问题,楼主可以试试
作者: xiaonan    时间: 2006-10-20 10:35
用描述性编程的手段把账号A给参数化,或者可以试试正则表达试
作者: eightants    时间: 2006-10-23 22:18
非常感谢大家的帮助,我尝试了用虚拟对象的方法,但好像虚拟对象只能设置TeScreen下一级的对象。总是没有办法对TeScreen的名字进行操作。我曾经试着关闭TerminalEmulators的Add-in,虽然作为普通的windows应用程序终于可以录制和操作,但一些的功能却不能使用了,比如文字截图的功能。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2