ZT
更新:HHH   时间:2023-1-7


ScriptAssure 技术应用实例

下面让我们看看一些例子,看 IBM Rational 工具是如何发挥脚本的依赖性和独立性的优势,或者结合这两者来解决某些问题

[@more@]

ScriptAssure 技术应用实例

下面让我们看看一些例子,看 IBM Rational 工具是如何发挥脚本的依赖性和独立性的优势,或者结合这两者来解决某些问题。

这个示例很简单:打开浏览器,加载 Google 的搜索页面,点击搜索按钮(无需输入任何搜索内容)。我们会在中文界面下录制、回放这段脚本,分析结果以及其中 ScriptAssure 技术的介入;再看看在英文界面下回放时,又会出现什么样的情况,它们的具体原因是什么。


图 5. 被测应用程序界面(中文)
ZT - RFT ScriptAssure 技术解析及应用实例(3)

在 Rational Functional Tester 中新建一个项目,通过“配置”菜单项设定被测应用程序——浏览器 iexplore.exe 后,我们可以启动它,再录制脚本的动作序列。


图 6. 配置被测应用程序(浏览器)
ZT - RFT ScriptAssure 技术解析及应用实例(3)

图 7. 启动被测应用程序,并开始录制
ZT - RFT ScriptAssure 技术解析及应用实例(3)

图 8. 自动测试项目及脚本
ZT - RFT ScriptAssure 技术解析及应用实例(3)

录制好的脚本大体如下:它会启动 IE 浏览器,激活地址栏来输入地址,再单击搜索按钮。


清单 1. 自动测试脚本局部
public void testMain(Object[] args)
{
	startApp("iexplore");
	
	// HTML Browser
	browser_htmlBrowser(document_(),DEFAULT_FLAGS).click(atPoint(354,46));
	browser_htmlBrowser(document_(),DEFAULT_FLAGS).inputKeys("www.google.com(ENTER)");
	// Document: Google: http://www.google.com/
	button_googlesubmit().click();
	
}

我们来回放一下脚本。默认情况下,测试执行一完成,测试日志会立即默认打开。如果您已经关闭了浏览器,那么还可以在 Functional Test Projects 视图中的 ScriptAssureProject_logs 节点下找到测试日志。日志的左侧框架提供了信息的快速导航。右侧边框提供所有细节。

本次回放测试一切正常,全部通过,没有任何失败和警告(尽管我们也没有添加任何显式测试验证点)。


图 9. 自动测试脚本在中文界面下的运行结果
ZT - RFT ScriptAssure 技术解析及应用实例(3)

接下来我们把浏览器的首选语言切换到英文优先,之后我们再打开浏览器,加载 Google 主页后,可以看见“Google 搜索”的字样变成了“Google Search”


图 10. 在浏览器选项中切换首选语言
ZT - RFT ScriptAssure 技术解析及应用实例(3)

图 11. 被测应用程序界面(英文)
ZT - RFT ScriptAssure 技术解析及应用实例(3)

现在我们再回放一下刚才录制的脚本,得到如下结果:带有警告的测试通过。


图 12. 自动测试脚本在英文界面下的运行结果
ZT - RFT ScriptAssure 技术解析及应用实例(3)

滚动到第一个警告处,应如图 13 所示。消息指示“Object Recognition is weak (above the warning threshold)”。这是 UI 上的组件发生变更时的情况。把 Rational Functional Tester 提供的对象查看器焦点移到被测按钮处,它可以展示当前各个属性细节(图 14)。


图 13. 被测按钮在英文界面下的可识别属性
ZT - RFT ScriptAssure 技术解析及应用实例(3)

通过图 14 与图 2 的对比,我们可以看出属性“.value”的值在不同语言界面下发生了变化。对象图中保存的值是“Google 搜索”,而 Rational Functional Tester 在实际运行中发现的候选对象是“Google Search”。鉴于这个权重 100 的识别属性不符,以及页面 URL 属性的变化,最终算出的识别分值是 10800,大于事先设定的警告阈值,所以在结果报告中出现了警告。

如果您有兴趣的话,可以把高级模式设定(图 4)里的最后一栏设为“12000”,再执行一次测试脚本,会得到完全通过的测试结果,没有任何警告。

通过对 ScriptAssure 的定制,你可以调优脚本的运行,在无需改动测试逻辑(测试脚本代码)的前提下,让它回复得更严格一些,或更宽松一些,来适应不同类型产品,或者同一产品在不同阶段的测试需求,这极大降低了测试资产的维护成本,提高了测试效率。对于录制回放模式而言,可靠性和可维护性都获得了比较好的均衡。

返回网络安全教程...