录制 HTML 应用程序上的脚本时,请使用 Functional Tester 来在录制期间启动应用程序。Functional Tester 打开您在缺省浏览器或指定浏览器中指定的 HTML 页面。
录制 HTML 应用程序上的脚本时,如果在下拉菜单上滚动鼠标,您可以录制在激活的下拉菜单上所作的悬停。使用 DIV 标记实现这些下拉菜单。要录制下拉菜单上的悬停,并打开下拉子菜单,请将鼠标悬停在菜单项文本上,然后按下 Shift 键。请确保鼠标悬停在菜单项文本上,而不是悬停在菜单项文本右侧的空白处。
有两种版本的 deleteCookies 方法可以使用。一种方法删除当前概要文件或用户的所有 cookie,而另一种方法删除当前概要文件或用户的指定路径或域中的 cookie。请参阅 IBrowserObject 下的 com.rational.test.ft.object.interfaces 包中的“Functional Tester API 参考大全”,获取信息。
因为浏览器菜单上的选择是基于菜单项的屏幕坐标,所以如果浏览器大小或位置更改,那么脚本在回放时可能不可靠。另外,不同浏览器上的菜单也不同,这也会造成脚本不能正确回放。
如果将浏览器调整为较小视图,同时 applet 对象不在视图中,那么 Functional Tester 不会将 applet 对象滚动到视图中。
浏览器中地址字段的位置是基于屏幕坐标,如果浏览器的大小和位置更改,坐标也会更改。如果在地址字段中单击并输入新 URL,那么脚本通常会失败。录制时,在脚本中插入浏览器单击操作 (Browser_htmlBrowser) 来更改 URL。
如果为 INPUT 元素使用 .size 属性,却没有在 INPUT 元素的 Html 内指定 .size 属性,那么 Internet Explorer 返回的缺省值是 20。
创建跨平台脚本时,请避免使用只出现在一种浏览器中的工具栏按钮。两种浏览器通用的工具栏按钮有以下几种:
在 Internet Explorer 中,“关闭”按钮可用。录制跨平台脚本时,请避免使用替代方法来退出窗口。例如,按下 Alt+F+C 时仅在 Internet Explorer 中有作用。每种键组合运行在其他浏览器上时均会失败。
如果浏览器对象的预备状态不是 4,有时测试 HTML 应用程序的脚本回放会失败。请确保回放脚本时浏览器的预备状态是 4。如示例中所示,通过手动修改测试脚本可以完成该操作。
检查 Java 中的浏览器状态的脚本:logInfo("Ready State #: "+browser_htmlBrowser().getProperty(".readyState").toString());
检查 .Net 中的浏览器状态的脚本:LogInfo("Ready State #: " & Browser_HtmlBrowser().GetProperty(".readyState").ToString)
录制跨浏览器脚本时使用 waitForExistence 方法来等待浏览器。例如:
为了处理弹出菜单,某些浏览器忽略右键单击后立即做出的链接上的单击操作。当此单击组合必要时,右键单击链接,然后单击文档中的空白区,然后单击链接。
在某些浏览器中,按下 Ctrl 键的同时单击链接,会在另一个浏览器实例中打开页面。同样的键序列会在其他浏览器中导致正常的链接单击操作。包含此操作组合的脚本的回放方式不同,应该避免对其进行跨浏览器测试。
有时,HTML 中的错误会造成不同浏览器对 HTML DOM 层次结构的解释不同。在一种浏览器中运行成功的脚本可能在另一种浏览器中运行失败。针对每种浏览器录制一个脚本,并比较最终形成的测试对象映射。如果映射显示的层次结构不同,那么运行实用程序,例如 HTML Tidy。如果实用程序报告错误,那么错误可能会造成对对象模型的不同解释,从而导致不同的层次结构。可以从万维网联盟 www.w3.org 中获取 HTML Tidy。
在某些浏览器中录制脚本时,有时会出现弹出消息(浏览器用户界面对话框),例如加密注意事项。因为这些消息框不会出现在其他浏览器中,所以录制跨浏览器脚本时您不会让它们包含在脚本中。要避免此问题:
您可以修改您的脚本,来控制这些类型的消息框,不过代码可能较为复杂。更多信息,请参阅“扩展 Rational Functional Tester 功能”主题。
录制跨浏览器兼容脚本(兼容 Functional Tester 支持的所有浏览器的脚本)时,请尽量避免录制任何的弹出消息框。如果不是录制跨浏览器兼容脚本,那么您可以录制脚本中的弹出消息框。
Functional Tester 支持 Windows® 平台上的“登录”、“文件下载”、“证书/安全警告”、“文件拾取器(文件打开/文件保存)”和“打印”对话框。 这些用户界面对话框适用于特定的浏览器,且不是跨浏览器兼容。通常“登录”对话框跨浏览器兼容。
配置应用程序时,功能测试将应用程序名添加到Application Configuration Tool。如果您测试大量的不同 URL,那么“应用程序”列表可能很长。如果不想将 URL 添加到列表,您可以在空脚本中使用 startBrowser 命令来对其进行测试。
startBrowser ("url");
Functional Tester 支持测试 Microsoft® HTML 应用程序 (MSHTA)。测试 MSHTA 之前,必须运行 mshta.exe 来对其进行配置。要配置要测试的每个 HTA:
有关更多信息,请参阅“配置测试的应用程序”。
如果安装了 TestManager,那么在 Linux® 计算机上使用它来远程测试 HTML 应用程序。请参阅“本地和代理计算机”主题获取信息。
如果返回与 Java插件相关的错误,那么在测试 HTML 应用程序或从 HTML 日志中的查看结果链接中启动比较器时,需要验证是否正确配置了浏览器的 Java 插件。 请参阅有关启用浏览器的 Java 插件的相关主题获取指示信息。
关于 TestManager 集成的说明:Functional Tester 已与 Rational TestManager V7.0.2 集成。如果您具有 7.0.2 版本的 TestManager,那么将能够使用 Functional Tester 和 TestManager 的集成功能。