Flex 自动化测试

编程技术  /  houtizong 发布于 3年前   54
自动化测试工具有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中键入以下字符串:

引用

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客