`

使用 IBM Rational Functional Tester 7.0.1 测试 Flex 应用程序

    博客分类:
  • Flex
阅读更多

关于这篇文章必要的信息

这篇文章假定您已经对使用 IBM® Rational® Functional Tester 进行自动化测试的基本概念已经非常熟悉。请查看参考资源部分中的链接,是对 Rational Functional Tester 的介绍。

目标

  • 了解各种测试 Adobe® Flex® 应用程序的场景。
  • 为 Rational Functional Tester 配置一个 Flex 开发环境。
  • 建立 Flex 应用程序的自动测试操作。
  • 在 Flex 应用程序上记录和回放一个脚本。

必备条件

  • Rational Functional Tester V7.0.1
  • Microsoft® Internet Explorer 6.0
  • Adobe Flex SDK 2.0 或者更新版本
  • Adobe Flex Automation Package
  • Adobe Flash Player 9.0.28.0 或者更新版本
  • Apache HTTP Server (如果您的应用程序需要在一个服务器上工作。这里有一些对 RuntimeLoading 组件理解的信息)

假设

使用 Rational Functional Tester 测试 Flex 应用程序需要 Flex 开发人员与测试人员工作之间的合作。这篇指南假定下面这些各自的角色都是真的。

开发人员

  • 对 Flex 应用程序的开发和编辑有一定的了解
  • 是编写 Flex 应用程序源代码的程序员,并且了解 Flex SDK 和 Automation Framework
  • 对 Web 服务器配置和部署有完全的了解
  • 可能对 Rational Functional Tester 并不熟悉

测试人员

  • 没有应用程序的源代码
  • 没有 Flex SDK 和 Automation Framework
  • 可能对 Web 服务器配置和部署也不熟悉

机器配置

开发人员的机器

  • Flex Builder 2.0.1 或者更高级版本,Flex SDK 2.0 或者更高级版本,Flex Automation Framework
  • Microsoft Internet Explorer 6.0
  • Adobe Flash Player 9.0.28.0 或者更高级版本

测试人员的机器

  • Web 服务器访问(例如,Apache 或者 IIS)
  • Internet Explorer 6.0
  • Flash Player 9.0.28.0 或者更高级版本

Web 服务器机器

  • Flex Automation Package

Rich Internet Application (RIA) 是一种新的 Web 应用程序术语,它在整个 Internet 将灵活性、响应度,以及桌面应用程序的简单使用与更广泛的访问结合起来。这些应用程序变得越来越普遍。Adobe® Flex® 是一个跨越平台的开发框架,用来创建这样的应用程序。Flex 应用程序通常是使用 Adobe® MXML™,Flex 标识语言,或者 Adobe® ActionScript® 语言来编写的。当与 Flex SDK 库一起编译时,.mxml 或者 .as 文件将给您一个 Adobe® Shockwave® (.swf) 文件,这才是真实的应用程序。.swf 文件可以在 Flash 播放器中运行,或者内嵌在 HTML 中。

Rational Functional Tester 是一个测试自动工具,它可以提供一套特性来测试基于 Java™ 技术,HTML,Microsoft® .NET,SAP,以及其它技术来测试 GUI 应用软件。测试人员可以记录并作用于这样的应用程序上,从而产生测试脚本。与这些一起,他们还可以添加验证点和驱动数据。

Rational Functional Tester 7.0.1 包括关键字测试以及支持使用 Flex SDK 2.0 测试应用程序组件。这样提供了测试运行在 Internet Explorer 的 Flex 应用程序的特性。紧接下来的部分提供了一个按部就班的指导,激活了自动化支持,并测试应用程序。

三种测试 Flex 应用程序的方法

开发人员激活了在设计和以运行阶段使用 Rational Functional Tester 测试 Flex 应用程序的特性。这里,加强意味着添加参考到 Rational Functional Tester 适配器和 Flex Automation Framework 库到被测试的应用程序。对于测试 Flex 应用程序有三种可能的情形:

  1. 使应用运行在 Web 服务器上。 这使开发人员可以将 Flex 应用程序与 Flex SDK 库,Flex Automation Framework 库,以及 Rational Functional Tester 适配器联合起来,并且在一个测试人员可以访问和用来测试的 Web 服务器上操作应用程序。
  1. 使应用运行在本地机器上。 当源代码可利用时,用户可以将源代码与 Flex SDK 库,Flex Automation Framework 库,以及 Rational Rational Functional Tester 适配器联合起来。应用程序在本地机器上运行。
  1. 应用程序没有激活的自动化支持。在案例中,应用程序运行在一个 Web 服务器上,并且 Rational Functional Tester 的 Runtime Loader 组件是用来测试应用程序的。

对于开发人员:为测试准备应用程序

下载这些文档

  • TestEnabledApp.zip 压缩文件包括 testMyApp.mxml,testMyApp.swf,以及 SampleApp 目录,它包括 testMyApp.mxml 以及与它一起部署的依存关系。
  • runtimeTestApp.swf 文件是一个用来测试运行时装载的非激活应用程序

请参见 下载 部分。

Flex 应用程序开发人员的部分阐述了使用 Rational Functional Tester 激活 Flex 应用程序测试的几种不同的方法。

首先,下载 testMyApp.mxml 文件,它是一个您将用来演练的范例应用程序(请看 下载)。在您的本地机器上创建地址,并将文件保存在:C:\FlexTutorial。

安装 Flex 环境

在您使用 Rational Functional Tester 测试您的 Flex 应用程序之前,您需要安装 Flex 环境:

  1. automation_agent.swc 文件从 <flex automation install directory>/frameworks/libs 地址拷贝到 <flex builder install directory>/Flex SDK 2/frameworks/libs 地址。
  2. automation_agent_rb.swc 文件从 <flex automation install directory>/frameworks/locale/en_US 地址拷贝到 <flex builder install directory>/Flex SDK 2/frameworks/locale/en_US 地址。

注意:
这是 en_US locale (U.S. English)的路径。如果您使用的是另一个不同的位置,用那个地址代替 en_US 。理想情况下,Flex 自动操作安装地址是:C:\Program Files\Adobe\Flex Automation 和 Flex 构建者安装地址是:C:\Program Files\Adobe\Flex Builder 2

激活测试的 Flex 应用程序包括与 Rational Functional Tester Adapter (rft.swc) 和 Flex Automation Framework 库一起构建应用程序。这里有三种实现的方法,部分具体阐述了每一种方法:

  • 配置 Flex Builder
  • 配置 Flex 命令行编译器
  • 配置 Runtime Loader 组件

为编译配置 Flex Builder

如果您有了 Flex Builder,您可以配置它,从而为编辑激活 Flex 应用程序。

  1. 启动 Flex Builder。
  2. 创建一个新的 Flex 项目。
  3. 在导航器中选择 Flex 项目。
  4. 点击 Select Project > Properties > Flex Compiler
  5. 键入 “Additional compilerter arguments”区域中列表 1中显示的代码。


列表 1. 附加编译器变量的代码

				
-Include-libraries "<flex builder install dir>\Flex SDK 2
\frameworks\libs\automation.swc" "<flex builder install dir\Flex SDK 2
\frameworks\libs\automation_agent.swc" "<flex builder install dir>\Flex SDK 2
\frameworks\libs\automation_charts.swc" "<functional tester dir>
\Functional Tester\bin\rft.swc"

 

  1. 点击 OK 来保存您的变更。
  2. 点击 OK 来关闭 Properties 对话框。
  3. 编译您的 Flex 范例应用程序:
    1. 打开 Flex Builder 中的 testMyApp.mxml 文件。
    2. 这些输出文件是 testMyApp.swf 和 testMyApp.htm。文件是一个 HTML 包装器,由 Flex Builder 在应用程序目录下产生的(在案例中为,C:\FlexTutorial)。

HTML 已经准备好使用 Rational Functional Tester 进行测试,您将用在您的测试步骤中使用它。

使用此命令行激活自动化测试

如果 Flex Builder 不可用,源文件就需要与 Flex SDK 库,Flex Automation 库,以及 Rational Functional Tester 适配器在命令行联合起来。您可以通过运行安装在 <functional tester dir>\FunctionalTester\Flex 文件夹中与 Rational Functional Tester 7.0.1 一起的成批文件来实现:
buildapplicationwithadaptor.bat

  1. 将批文件拷贝到与 .mxml 文件 (C:\FlexTutorial,您可以在这里存储样例应用程序,testMyApp.mxml) 相同的目录下。
  2. 在命令提示下来到目录,用 mxml 文件名称作为变量开始运行批文件。例如,如果应用程序是 testMyApp.mxml,正如在例子中,在命令行的提示下使用以下命令:
    Buildapplicationwithadapter.bat testMyApp.mxml

 

应用程序会导致产生一个 .swf 文件 (在案例中为 testMyApp.swf)

注意:
只有当文件包括图表控件时,您才需要 automation_charts.swc 文件。

配置 Runtime Loader 组件

Runtime Loader 组件包括 RuntimeLoader.swf Flex 应用程序,它对 Rational Functional Tester 已经事先激活,并且也可以用来对非 Rational Functional Tester-enabled 应用程序在运行时的测试。当您不想把 Rational Functional Tester Adapter 和 Flex Automation Framework 库作为一个依存关系引入您的应用程序时,您可以使用组件。相反,您可以要求来自 Rational Functional Tester 的 RuntimeLoader 组件文件来对它进行编译,并且使用 Flex SDK 和 Rational Functional Tester Adapter,然后将它部署到 Web 服务器上。组件的文件可在目录下获取:
<functional tester dir>\FunctionalTester\Flex

注意:
对于 Flex SDK 2.0,您可以使用包含在目录下 Rational Functional Tester 中的 runtimeloader.swf :
<functional tester dir>\FunctionalTester\Flex

将编译的 Flex 应用程序嵌入一个 HTML 中

要使用 Rational Functional Tester 来测试 Flex 应用程序,您需要将应用程序嵌入到一个 HTML 文件中。因此,接下来您要创建一个 HTML 页面。将列表 2中的代码拷贝到一个文本编辑器中,并将它保存为 testMyApp.html


列表 2. Flex 应用程序的 HTML 包装器

				
<HTML>
<HEAD><TITLE>Flex Sample Application Testing</TITLE>
</HEAD>

<BODY>
<HR>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
id="myapp" width="100%" height="100%" 
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">
<param name="movie" value="testMyApp.swf" /> 
<param name="quality" value="high" />
<param name="bgcolor" value=#CCCCCC />
<param name="allowScriptAccess" value="sameDomain" />
<embed src="testMyApp.swf" quality="high" bgcolor=#CCCCCC
width="100%" height="100%" name="myapp" align="middle"
play="true"
loop="false"
quality="high"
allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
plug-inspage="http://www.macromedia.com/go/getflashplayer">
</embed>
</object>

</BODY>
</HTML>

 

正如您所看到的那样,swf 名称已经作为一个参数通过。因此,如果您想要测试任何其它的应用程序,您可以通过更改 .swf 文件名称或者创建另一个 HTML 页面来使用相同的 HTML 页面。

部署应用程序

您可以将 swf、它的依赖文件和 HTML 包装器传递给测试人员,或者测试人员可以将这些部署到一个 Web 服务器上。

Flex 应用程序文件包括:

  • 应用程序文件 (SWF)
  • HTML 包装器以及包装器文件(包装器文件可包括 SWF 文件,JavaScript 文件,以及其它文件)
  • 模块文件(SWF)
  • RSL 文件 (SWC)
  • Helper 文件,像主题 SWC 文件,风格 SWF 文件,以及图像、视频和音频文件

部署 Flex 应用程序包括所有这样的必须文件在 Web 服务器上的部署。

对于测试者:测试 Flex 应用程序

您将仅仅拥有开发人员提供的激活的 .swf 文件和 HTML 包装器,或者非激活的 .swf 文件。

在您的本地机器上测试应用程序

如果 HTML 包装器已经被提供,您仅仅需要按照简易练习下记录过程的步骤配置用来测试的 HTML 页面即可。

如果您仅仅拥有非激活的 .swf 文件,您可以使用这里所解释的运行时加载组件。

当应用程序部署在一个 Web 服务器上,那么应用程序的运行时加载是可用的。运行时加载组件在 Rational Functional Tester\Flex 目录下是可用的。

  1. 将 runtimeloader.swf 文件和 runtimeLoadingTest.html 文件拷贝到 Web 服务器的根目录。例子使用了一个 Apache 服务器,因此您将要把这些组件拷贝到 apache\htdocs 目录。被测试的应用程序部署在相同的目录下。
  2. 在样例中找到 runtimeTestApp.swf 文件,并将它部署到服务器上,这样这三个组件都会在相同的 (apache\htdocs) 目录下。
    • runtimeLoader.swf
    • runtimeLoadingTest.html
    • 应用程序 (这里是 runtimeTestApp.swf )

开始测试应用程序,软件名称将会作为一个询问参数通过到 runtimeLoadingTest.html 页面:
http://localhost/RuntimeLoadingTest.html?automationswfurl=<applicationtotest.swf>

在这里,应用程序是 runtimeTestApp.swf,因此要键入 URL 地址:
http://localhost/RuntimeLoadingTest.html?automationswfurl=runtimeTestApp.swf

HTML 页面与 Flex 应用程序一起下载,已经准备好被 Rational Functional Tester 测试。

有效方法的正反两面

到目前为止,您已经学习了关于有效激活的两种类型,以及什么时候使用哪一种。现在,您将回顾一下每个有效激活的正反两个方面。

编译期间的激活

在编译期间使用 Flex 应用程序激活的好处

  • 多个 Rational Functional Tester 激活 Flex 应用程序可以嵌入到一个单一 HTML 页面,并且可以同时被测试。
  • 当不同的 Flex 应用程序相互通讯时将会非常方便。用户可以将所有相关的 Rational Functional Tester 激活 SWF 文件嵌入一个单一页面,并且可以在测试的基础上执行场景。
  • 可以通过在本地运行 SWF 文件进行测试。

编译期间激活的局限性:

  • 在将它部署到产品服务器之前,需要清除 Flex Automation Framework 参考。然而这样并没有太大影响。
  • 由于他仅仅访问了 Flex 应用程序源代码,因此仅仅靠 Flex Developer 就可以完成。

在运行期间激活

使用 Runtime Loader 测试 Flex 应用程序的好处:

  • 被测试的应用程序可以部署到产品环境中。
  • 由于技术复杂性是隐藏的,所以测试人员很容易理解。

使用 Runtime Loader 测试 Flex 应用程序的局限性:

  • 只有独立的 Flex 应用程序可以一次性测试。
  • Runtime Loader 不能在本地运行,需要将 Runtime Loader 文件和要测试的应用程序部署到 Web 服务器上。

简单的练习

现在该是进行一个简单的练习来操作您所学到的知识的时候了。

配置应用程序

在 Flex 应用程序上开始记录,您首先要激活和配置要测试的应用程序。

  1. 选择 Functional Tester > Configure > Enable Environments for Testing
  2. 选择 Web Browsers 制表中的 Internet Explorer ,然后选择 Enable


图 1. 激活 Internet Explorer 环境视图
工作空间图片

  1. 点击 Test,结果将会显示 “Passed”。
  2. 在 Java Environments 下,选择 Javajre…. ,然后点击 Enable(图 2)。


图 2. 激活 Java/JRE 环境
工作空间图片

  1. 再次点击 Test ,您应该获取如图 3所显示的回应。


图 3. JRE Tester 结果信息
对话框图片

  1. 要配置应用程序进行测试,选择 Functional Tester >Configure > Configure Applications for Testing
  2. 在 Application Configuration 向导中,点击 Add (图 4)。


图 4. Application Confirmation Tool (向导)
工作空间图片

  1. 当您获得 Add Application 向导时,选择 HTML Application单选按钮并点击 Next(图 5)。


图 5. 选择应用程序
工作空间图片

  1. 在下一个屏幕上,选择 Local 单选按钮(图 6),然后点击 Browse 来寻找应用程序目录(在案例中是:C:\FlexTutorial)。


图 6. 选择本地 HTML 应用程序
工作空间图片

注意:
当应用程序是由 Web 服务器托管时,您需要选择 URL 单选按钮(请看图 7),并提供应用程序的 URL 地址。在当前这种情形下,来自 Runtime Loader 的 URL 地址为:
http://localhost/RuntimeLoadingTest.html?automationswfurl=runtimeTestApp.swf


图 7. 托管应用程序的可选方法
工作空间图片

  1. 点击 Finish,在下一个向导中,点击 ApplyFinish 按钮。

您的应用程序现在已经配置好可以进行测试了。

回放脚本

  1. 启动记录器,点击 Start Application,并从 Application Name 下拉列表中,选择您配置的应用程序(图 8)。


图 8. 启动 Application 视图
工作空间图片

  1. 当应用程序启动后,您可以使用这些控件来记录事件。

范例应用程序看起来如图 9所示。


图 9. 范例应用程序
工作空间图片

图 10 显示了 Rational Functional Tester 记录的范例脚本。


图 10. 记录的脚本
测试脚本图片

  1. 点击 Rational Functional Tester IDE 中的 Playback 按钮来执行脚本。

发现并修理故障

如果出现下面任何一个错误,您可以自己轻松地进行处理。

安全警告

当 Flex 应用程序启动后会弹出一个安全侵害提示(请看图 11)。


图 11. 错误提示和描述
错误对话框图片

确保您测试的 Flex 应用程序是从一个信任的文件夹中运行的。

  1. 您可以将 OUT 目录添加到 FlashPlayerTrust 文件夹中的 Flex 文件中。
  2. 您可以在 C:\Windows\System32\Macromed\Flash\ 目录下创建一个 FlashPlayerTrust 文件夹。
    1. 创建一个 .txt 文件并天际被测试应用程序的路径到文件。
    2. 将文件保存为 Flex,不带扩展名。

您可以添加目录的任何数字到 TXT 文件。例如,如果 testMyApp.swf 和 testMyApp.html 文件都在 C:\FlexTutorial 目录下,您可以添加路径到 Flex 文件中。在 资源 中的 Learn 部分可以找到更多详细的信息。

FlexPlugin Call Failed 警报

当应用程序从 localhost/IIS 服务器中运行时,您可以获得一个表明插件调用失败的提示(请看图 12)。


图 12. 调用失败通知
对话框图片

如果发生失败,请核查 Internet Explorer ActiveX 和插件的本地安全设置:

  1. 打开 Internet Explorer。
  2. 从菜单工具条中选择 Tools > Internet Options
  3. 点击 Security 标签。
  4. 选择合适的 Web 内容区域。例如,如果您在本地机器上安装了 Apache 或者 IIS,请选择 Local Intranet
  5. 选择 Custom Level
  6. 从“Reset to”列表中,选择 Medium-low
  7. 在 “Initialize and script ActiveX controls not marked as safe” 下,点击 Enable 单选按钮。
  8. 点击 OK

应用程序页面没有显示

当应用程序托管在一个服务器上,并且应用程序页面没有正确地显示,确保服务器正在运行。

<!-- CMA ID: 354488 --><!-- Site ID: 10 --><!-- XSLT stylesheet used to transform this file: dw-article-6.0-beta.xsl -->

 


下载

描述 名字 大小 下载方法
示例应用程序 TestEnabledApp.zip 562KB HTTP
测试应用程序 runtimeTestApp.zip 428KB HTTP
分享到:
评论

相关推荐

    IBM Rational Functional Tester

    改进 Rational Functional Tester 启动应用程序的过程 基于Rational 的BS 架构软件自动化测试研究 使用Rational Functional Tester 完成自动化功能测试 详解IBM Rational Functional Tester 的工作原理

    详解IBM Rational Functional Tester 的工作原理.docx

    总之,Rational Functional Tester 通过建立与被测应用程序的通信渠道,利用 DomainImplementation 对象、顶级对象、测试对象和代理对象等机制,实现了对多种类型应用程序的自动化测试。它的进程模型确保了客户端和...

    Rational Functional Tester for Terminal Application

    《通过Rational Functional Tester进行终端应用程序测试》这一教程旨在介绍如何使用Rational Functional Tester及其终端应用程序扩展来高效地测试这些类型的程序。 #### 二、Rational Functional Tester简介 ...

    IBM Rational Functional Tester简介

    IBM Rational Functional Tester(RFT)是一款先进的、自动化的功能和回归测试工具,它适用于测试人员和 GUI 开发人员。使用 RFT,可以帮助测试人员轻松地完成自动化的功能测试,并提供了与开发人员同样的操作平台...

    Essentials of IBM Rational Functional Tester, Java Scripting

    IBM Rational Functional Tester(简称RFT)是一款强大的自动化测试工具,主要用于功能和回归测试。它支持多种应用程序和技术栈,包括但不限于Java、.NET、SAP等。通过结合对象识别和脚本语言(如Java或VBScript),...

    IBM Rational Functional Tester 活用ガイド

    IBM Rational Functional Tester 活用ガイド主要针对的是希望更有效地使用IBM Rational Functional Tester的用户群体。它不仅为初学者提供了入门指导,也为高级用户提供了一系列优化测试流程的方法。该指南涵盖了从...

    使用 Rational Functional Tester 给开发人员带来的好处

    本文将向您介绍可以使用 IBM:registered: Rational:registered: Functional Tester 来帮助解决这些问题的方法。它不是对更加传统的开发人员测试工具的替代,而是另一个能够使您更好地进行具体类型的测试的工具。

    Internet Explorer针对Rational Functional Tester性能异常,出现错误或无法启用

    在使用IBM Rational Functional Tester(RFT)进行自动化测试时,可能会遇到与Internet Explorer浏览器的兼容性和性能问题。本文将详细探讨这些问题的症状、原因以及解决方法。 症状主要包括:在录制脚本时,...

    IBM Rational Performance Tester

    IBM Rational Performance Tester

    Rational Functional Tester - Tips and Tricks

    Rational Functional Tester的记录器允许用户在导航应用程序时实时记录测试脚本,同时可以在录制过程中添加验证点和数据驱动测试,极大地提高了测试的灵活性和效率。 ### 脚本创建与增强 RFT使用VB.NET或Java创建...

    第七章 使用 Functional Tester 进行功能回归测试(更新).doc

    【IBM Rational Functional Tester】是IBM推出的一款强大的自动化测试工具,专用于进行功能测试和回归测试。本章节将深入探讨如何使用Rational Functional Tester (RFT)进行功能回归测试,通过实际操作来巩固理论...

    Internet Explorer针对Rational Functional Tester性能异常,出现错误或无法启用.docx

    在使用IBM Rational Functional Tester(RFT)进行自动化测试时,可能会遇到一些性能异常,尤其是在录制或播放基于Internet Explorer的脚本时。这个问题涉及到RFT与IE浏览器的交互,具体表现为响应速度缓慢,脚本...

    Rational Functional Tester

    Rational Functional Tester (RFT) 是一款强大的自动化测试工具,尤其适用于测试复杂的业务流程和用户界面,例如Windows和.NET应用程序。RFT允许测试人员录制、编辑和执行测试脚本,以确保软件的质量和稳定性。 本...

    rational functional tester -- IBM red book

    IBM Rational Functional Tester (RFT) 是一款面向对象的自动化测试工具,它能够帮助用户对多种应用程序进行测试。该工具支持通过录制来快速生成脚本,并允许测试应用程序中的任何对象及其属性和数据。RFT 提供了两...

    Rational_Functional_Tester_的高效测试自动化技巧

    在这篇文章中,我们将讨论如何使用 Rational Functional Tester 实现高效的测试自动化技巧,特别是在处理浏览器的常见问题、验证点、低级指令、脚本帮助器和超类等方面。 对象和属性 在 Rational Functional ...

    IBM Rational Function Tester学生手册(英)

    本课程旨在帮助学员掌握IBM Rational Function Tester (RFT) 的基础操作与高级功能,以便能够有效地进行自动化功能测试。通过本课程的学习,学员将能够理解并应用RFT的各种工具和技术来提高软件测试的质量和效率。 ...

    IBM Rational 产品许可证(License)管理使用和优化

    IBM Rational 产品许可证(License)主要有四种类型:第一种是试用版的许可证,如从 developerWorks 上下载的使用版,一般只能用较短时间(如 30 天或 60 天);第二种是 Rational 公共许可证(Common Licensing),...

    使用 Rational 工具进行功能测试课程 第一章(更新).doc

    《使用Rational工具进行功能测试课程》是一门深入解析IBM Rational Functional Tester的教程,特别针对具有软件测试基础知识的测试人员和学生。Rational Functional Tester是一款强大的自动化工具,专门用于GUI和Web...

    介绍 IBM Rational Manual Tester V7.0

    IBM:registered: Rational:registered: Manual Tester 是用来促进测试步骤的重用,以及减少软件...这篇文章着眼于 IBM Rational Manual Tester V7.0 中的一些特性,其中有些特性使用了来自测试 Google Earth 中的例子。

Global site tag (gtag.js) - Google Analytics