`

Flex 自动化测试

    博客分类:
  • test
阅读更多
自动化测试工具有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的,如果是其他版本的,请搜索网上其它文档。
分享到:
评论

相关推荐

    Flex自动化功能测试工具大比拼.docx

    本 文介绍了 4 种支持 Flex 自动化功能测试的商用工具,经过粗略的使用和对比,可以发现:每个工具在支持 Flex 的对象识别所采用的技术上有所差别,但是总体而言可分为两类:一类是采用了 Flex 自动化接口,例如 RFT...

    selenium对flex程序的自动化测试.docx

    selenium对flex程序的自动化测试.docx

    软件测试中Flex自动化功能测试工具大比拼

    Flex功能软件测试中Flex自动化功能测试工具大比拼RIA越来越“火”,各测试工具厂商也紧跟潮流,纷纷开始支持对RIA程序的测试,对于Flex,它们支持得怎么样呢?今天,我们就来看个究竟,来个Flex自动化功能测试工具大...

    自动化测试之Flexmonkey

    详细为大家讲解了如何使用Flexmonkey对Flex应用程序进行自动化测试,通过这个自动化测试工具的学习,大家还可以深入研究如何开展基于数据驱动的自动化测试

    如何对Flex进行自动化测试之RIAtest使用方法

    如何对Flex进行自动化测试之RIAtest使用方法.今天有时间摸一下flex自动化的一些东西,今天先介绍下一个收费的flex自动化的工具RIAtest。第一次认识它是在InfoQ的周刊上看到的,当时没有留意,这次好好的使用了下。您...

    selenium自动化测试工具介绍

    selenium 工具 原理 自动化 测试 介绍了selenium的基本使用和工作原理。相对来说selenium还是相对比较轻量级的工具,本身支持的功能不多,但是好处在于易扩展,容易整合,最大的特色是跨操作系统和跨浏览器平台,还...

    WebUI自动化测试框架Dagger.zip

    Dagger是网易杭州研究院QA团队开发的一个轻量级、运行稳定的WebUI自动化测试框架,主要基于Selenium及TestNg可以认为是对Selenium进行二次封装的一个框架(俗称 造轮子 )。之所以把这个轮子开源出来,主要在于...

    Android手机自动化性能测试工具的研究与开发 (2012年)

    通过使用自行研发的FLEX-ANDROID工具进行自动化测试,并将自动化测试所花时间和手动测试时间进行对比,结果表明,自动测试速度大约为手动测试速度的3倍。这表明FLEX- ANDROID工具能够有效提升测试工作效率,大幅度缩减...

    Using_Flex_4.pdf

    Flex开发非常好的参考文档,介绍了Flex4的新特点,相对于Flex3的改动,及Flex4所有控件的介绍及相应样例...更有进一步的编码技巧介绍,如国际化,自定义事件,自定义控件,自定义皮肤,自动化测试,应用程序部署等等。

    FlexMonkey将单元测试引入Flex用户界面开发

    在过去的十年里,使用自动化单元测试套件的做法已经被广泛接受,以至于当前大多数开发人员都会从事一定数量测试代码的编写,或者至少会感觉不写不好。然而自动化单元测试的不断使用却带来了一些混乱,即谁该测试什么...

    AppScan测试报告

    Rational AppScan 可自动化 Web 应用的安全漏洞评估工作,能扫描和检测所有常见的 Web 应用安全漏洞,例如 SQL 注入(SQL-injection)、跨站点脚本攻击(cross-site scripting)、缓冲区溢出(buffer overflow)及...

    flex3的cookbook书籍完整版dpf(包含目录)

    用FlexUnit测试可视化组件 24.9节. 安装和配置Antennae 24.10节. 生成自动测试集 第二十五章. 编译与调试(772) 25.1节. 在Flex Builder外使用Trace语句 25.2节. 使用组件编译器 25.3节. 安装FlexAntTasks 25.4节....

    编译原理大作业,使用Flex和Bison对Cminus进行词法分析与语法分析+源代码+文档说明

    2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。...

    Ranorex Automation-crx插件

    创建,维护和运行自动化测试。 更快地发现错误并使测试更加可靠。 自动化测试-在包括测试人员和开发人员的团队中启动功能测试自动化。 *任何技术-针对多种环境,设备和软件应用程序的测试自动化。 在Google Chrome...

    Ranorex用户指南

    基于图像的自动化 [课程6:Ranorex对象库映射UI] 适配一个已存在的对象库 添加库条目 等待UI元素 - 库超时 编辑RanoreXPath 库的拆分 对象库设置对话框 库条目的属性 [课程 7: 代码模块] 创建代码模块 在代码...

    RanorexStudio使用手册-中文版

    Ranorex是一个Windows平台上的GUI自动化测试框架,可以测试多种类型的应用程序,包括Web 2.0的应用,Win32, MFC, WPF, Flash/Flex, .NET和Java(SWT)。 Ranorex没有自己的脚本语言,用户可以在Ranorex的编辑器里面...

    AppScan8.0

    Rational AppScan 可自动化 Web 应用的安全漏洞评估工作,能扫描和检测所有常见的 Web 应用安全漏洞,例如 SQL 注入(SQL-injection)、跨站点脚本攻击(cross-site s cripting)、缓冲区溢出(buffer overflow)及...

Global site tag (gtag.js) - Google Analytics