设为首页 收藏本站
查看: 1339|回复: 0

[经验分享] 使用 IBM Rational Functional Tester 7.0.1 测试 Flex 应用程序

[复制链接]

尚未签到

发表于 2017-5-27 10:01:19 | 显示全部楼层 |阅读模式
  关于这篇文章必要的信息
  这篇文章假定您已经对使用 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 应用程序有三种可能的情形:



  • 使应用运行在 Web 服务器上。 这使开发人员可以将 Flex 应用程序与 Flex SDK 库,Flex Automation Framework 库,以及 Rational Functional Tester 适配器联合起来,并且在一个测试人员可以访问和用来测试的 Web 服务器上操作应用程序。



  • 使应用运行在本地机器上。 当源代码可利用时,用户可以将源代码与 Flex SDK 库,Flex Automation Framework 库,以及 Rational Rational Functional Tester 适配器联合起来。应用程序在本地机器上运行。



  • 应用程序没有激活的自动化支持。在案例中,应用程序运行在一个 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 环境:


  • automation_agent.swc 文件从 <flex automation install directory>/frameworks/libs 地址拷贝到 <flex builder install directory>/Flex SDK 2/frameworks/libs 地址。
  • 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 应用程序。


  • 启动 Flex Builder。
  • 创建一个新的 Flex 项目。
  • 在导航器中选择 Flex 项目。
  • 点击 Select Project > Properties > Flex Compiler
  • 键入 “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"



  • 点击 OK 来保存您的变更。
  • 点击 OK 来关闭 Properties 对话框。
  • 编译您的 Flex 范例应用程序:

    • 打开 Flex Builder 中的 testMyApp.mxml 文件。
    • 这些输出文件是 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


  • 将批文件拷贝到与 .mxml 文件 (C:\FlexTutorial,您可以在这里存储样例应用程序,testMyApp.mxml) 相同的目录下。
  • 在命令提示下来到目录,用 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 目录下是可用的。


  • 将 runtimeloader.swf 文件和 runtimeLoadingTest.html 文件拷贝到 Web 服务器的根目录。例子使用了一个 Apache 服务器,因此您将要把这些组件拷贝到 apache\htdocs 目录。被测试的应用程序部署在相同的目录下。
  • 在样例中找到 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 应用程序上开始记录,您首先要激活和配置要测试的应用程序。


  • 选择 Functional Tester > Configure > Enable Environments for Testing
  • 选择 Web Browsers 制表中的 Internet Explorer ,然后选择 Enable
  
图 1. 激活 Internet Explorer 环境视图




  • 点击 Test,结果将会显示 “Passed”。
  • 在 Java Environments 下,选择 Javajre…. ,然后点击 Enable(图 2)。
  
图 2. 激活 Java/JRE 环境




  • 再次点击 Test ,您应该获取如图 3所显示的回应。
  
图 3. JRE Tester 结果信息




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




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




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


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




  • 点击 Finish,在下一个向导中,点击 ApplyFinish 按钮。
  您的应用程序现在已经配置好可以进行测试了。
  回放脚本


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




  • 当应用程序启动后,您可以使用这些控件来记录事件。
  范例应用程序看起来如图 9所示。
  
图 9. 范例应用程序


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




  • 点击 Rational Functional Tester IDE 中的 Playback 按钮来执行脚本。
  发现并修理故障
  如果出现下面任何一个错误,您可以自己轻松地进行处理。
  安全警告
  当 Flex 应用程序启动后会弹出一个安全侵害提示(请看图 11)。
  
图 11. 错误提示和描述


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


  • 您可以将 OUT 目录添加到 FlashPlayerTrust 文件夹中的 Flex 文件中。
  • 您可以在 C:\Windows\System32\Macromed\Flash\ 目录下创建一个 FlashPlayerTrust 文件夹。

    • 创建一个 .txt 文件并天际被测试应用程序的路径到文件。
    • 将文件保存为 Flex,不带扩展名。


  您可以添加目录的任何数字到 TXT 文件。例如,如果 testMyApp.swf 和 testMyApp.html 文件都在 C:\FlexTutorial 目录下,您可以添加路径到 Flex 文件中。在 资源 中的 Learn 部分可以找到更多详细的信息。
  FlexPlugin Call Failed 警报
  当应用程序从 localhost/IIS 服务器中运行时,您可以获得一个表明插件调用失败的提示(请看图 12)。
  
图 12. 调用失败通知


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


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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-381631-1-1.html 上篇帖子: [转载] http://www.ibm.com/developerworks/xml/library/x-javaxmlvalidapi.html 下篇帖子: 在IBM Rational RequisitePro
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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