自动化测试工具有QTP, RFT等,下面就介绍下用RFT测试Flex (SDK version: 2.0.1)的步骤:
RFT(Rational Functional Test)是IBM开发的一套自动化测试工具,可以测试web, GUI和console。
前提条件:
1. Flex SDK installed
2. RFT installed
3. jdk installed
4. flex automation support available
如果没有装Flex automation软件,可以下载包含下面两个文件的附件
automation_agent.swc
automation_agent_rb.swc
准备工作:
1. 复制automation_agent.swc 到 /Flex SDK 2/frameworks/libs 目录下
2. 复制automation_agent_rb.swc 到 /frameworks/locale/en_US 目录下
3. 打开IE[Internet Options] - [Security] - [Local Intranet],
点击[Custom Level],设置安全级别为[Medium-low],
将[Initialize and script ActiveX controls not marked as safe for scripting]设置为Enabled
RFT测试Flex必须要准备Flex test automation runtime环境,两种方式:
1. 将Runtime的swf文件嵌套在html页面中,被测flex以参数传进去
a. 从RFT的安装目录里找到RuntimeLoader.mxml and RuntimeLoadingTest.html
b. 编译RuntimeLoader.mxml文件,加入runtime支持:
%FLEX_BUILDER_DIR%\bin\mxmlc.exe -include-libraries+="%FLEX_BUILDER_DIR%\frameworks\libs\automation.swc;%FLEX_BUILDER_DIR%\frameworks\libs\automation_agent.swc;%FLEX_BUILDER_DIR%\frameworks\libs\automation_charts.swc;%IBM_RATIONAL_RFT_INSTALL_DIR%\rft.swc;%IBM_RATIONAL_RFT_INSTALL_DIR%\rftProp.swc"; %1
注:如果FLEX_BUILDER_DIR或IBM_RATIONAL_RFT_INSTALL_DIR没有设置到系统环境变量中,请替换成实际路径。
把上面这段代码复制并保存为flex_automation.bat文件中,然后运行命令
flex_automation.bat RuntimeLoader.mxml
可以使用ant脚本:
<target name="flexAutomation" depends="initProperties">
<property name="FLEX_HOME" value="E:/Program Files/Flex_2"/>
<property name="rftBinDir" value="C:\Program Files\IBM\SDP\FunctionalTester\bin" />
<for param="fileName">
<path>
<fileset dir="flex/src">
<include name="RuntimeLoader.mxml"/>
</fileset>
</path>
<sequential>
<mxmlc file="@{filename}" keep-generated-actionscript="true">
<source-path path-element="flex/locale"/>
<compiler.include-libraries dir="${FLEX_HOME}/frameworks/libs">
<include name="automation.swc"/>
<include name="automation_agent.swc"/>
<include name="automation_charts.swc"/>
</compiler.include-libraries>
<compiler.include-libraries dir="flex/lib">
<include name="graphLayout.swc" />
<include name="unComponentToolbox.swc" />
<include name="PrimitiveIcons.swc" />
</compiler.include-libraries>
<compiler.include-libraries dir="${rftBinDir}">
<include name="rft.swc"/>
<include name="rftProp.swc"/>
</compiler.include-libraries>
</mxmlc>
</sequential>
</for>
<copy todir="D:/" preservelastmodified="yes">
<fileset dir="flex/src">
<include name="RuntimeLoader.swf"/>
</fileset>
</copy>
</target>
c. 把生成的RuntimeLoader.swf、RuntimeLoadingTest.html和被测试flex文件(testApp.swf)一同拷贝到web容器目录下
d. 开启web服务,在url输入下面字符串:
http://localhost/RuntimeLoadingTest.html?automationswfurl=testApp.swf
现在就可以用RFT去抓取Flex对象了。
2. 重新编译被测flex code, 加入Runtime支持
a. 和上面方法的b步骤一样,这里只要运行:
flex_automation.bat testApp.mxml
b. 生成一个testApp.html文件,里面嵌套testApp.swf
...
<object id="myFlex" ... >
<param name="movie" value="testApp.swf"/>
...
<embed src="testApp.swf" ... >
</embed>
</object>
...
c. 把testApp.html和testApp.swf一起拷贝到web容器目录下
d. 开启web服务,在url中键入以下字符串:
引用
http://localhost:8080/testApp.htm
注意:
1. 准备工作3必须要做,IE的默认设置会阻止Flex automation runtime运行(因为没有标记为安全的)
2. 直接输入http://localhost:8080/testApp.swf是可以显示Flex的,但不能够被测试
3. 第一种方案是把识别Flex组件的swc编译到一个RuntimeLoader.swf中,被测试的swf不需要添加这些swc。
第二种方案是把每个要测试的swf文件重新编译,加入支持的swc。
在实际生产环境中,如果swf文件需要从其它地方接受数据,第二种方案比较合适,但也会造成swf文件增大,性能降低。
4. 这里的测试是基于Flex SDK 2.0.1的,如果是其他版本的,请搜索网上其它文档。
分享到:
相关推荐
Selenium 对 Flex 程序的自动化测试 Selenium 是一个自动化测试工具,它可以模拟用户的行为来测试 Web 应用程序。Flex 是一种基于 XML 的开发语言,用于构建 Rich Internet Applications(RIA)。在这篇文章中,...
Selenium Flex API和Flex Monkey是两个常用的Flex自动化测试框架。它们允许编写脚本模拟用户操作,进行功能性和回归测试,极大提升了测试效率。 4.2 性能测试 对于性能测试,我们可以利用Adobe Scout或FlexPerf等...
持续集成(Continuous Integration,简称CI)是软件开发过程中的实践,它强调开发者频繁地将代码更改集成到主分支,每次集成都需要通过自动化测试来验证代码质量。这样可以尽早发现和解决问题,避免了代码合并时的...
Flex功能软件测试中Flex自动化功能测试工具大比拼RIA越来越“火”,各测试工具厂商也紧跟潮流,纷纷开始支持对RIA程序的测试,对于Flex,它们支持得怎么样呢?今天,我们就来看个究竟,来个Flex自动化功能测试工具大...
此外,对于Flex自动化测试,我们需要熟悉Flex组件和事件处理,以便更好地编写有针对性的测试用例。同时,理解注册表的作用以及如何安全地修改注册表也非常重要,因为错误的操作可能导致系统不稳定。 总之,RIATest...
而当我们需要对这些Flex应用程序进行自动化测试时,"sfapi"(可能是Flex Selenium API的简称)就显得尤为重要。 "sfapi" 提供了一个接口,使得测试工具,如Selenium,能够与Flex应用程序的控件进行交互。Selenium是...
详细为大家讲解了如何使用Flexmonkey对Flex应用程序进行自动化测试,通过这个自动化测试工具的学习,大家还可以深入研究如何开展基于数据驱动的自动化测试
通过上述介绍,我们了解到使用QTP进行Flex自动化测试的基本流程和关键技术点。从安装必要的软件和插件,到配置Flex项目和编译程序,再到编写具体的测试脚本,每一步都至关重要。掌握这些技能对于提高Flex应用的测试...
如何对Flex进行自动化测试之RIAtest使用方法.今天有时间摸一下flex自动化的一些东西,今天先介绍下一个收费的flex自动化的工具RIAtest。第一次认识它是在InfoQ的周刊上看到的,当时没有留意,这次好好的使用了下。您...
selenium 工具 原理 自动化 测试 介绍了selenium的基本使用和工作原理。相对来说selenium还是相对比较轻量级的工具,本身支持的功能不多,但是好处在于易扩展,容易整合,最大的特色是跨操作系统和跨浏览器平台,还...
Dagger是网易杭州研究院QA团队开发的一个轻量级、运行稳定的WebUI自动化测试框架,主要基于Selenium及TestNg可以认为是对Selenium进行二次封装的一个框架(俗称 造轮子 )。之所以把这个轮子开源出来,主要在于...
Rational Functional Tester、SilkTest、Ranorex、TestComplete等工具支持对Flex和Silverlight应用的GUI自动化测试,提供了丰富的API和特性,以应对复杂的用户界面测试需求。 #### Flex单元测试 FlexUnit等单元...
为了解决这个问题,出现了专门针对Flex应用的自动化测试解决方案——Selenium录制Flex。本文将详细介绍如何使用Selenium录制Flex应用,并结合Java后台技术实现自动化测试。 #### 二、Selenium录制Flex的基本原理 ...