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

Flex自动化功能测试工具SilkTest使用指南 您可以根据实际的测试需求,编写更多的测试用例并使用SilkTest提供的丰富功能进行测试。请注意,以上代码仅为示例,您需要根据您的具体应用程序和测试需求进行相应调整。您可以根据实际的测试需求,编写更多的测试用例并使用SilkTest提供的丰富功能进行测试。请注意,以上代码仅为示例,您需要根据您的具体应用程序和测试需求进行相应调整。希望本指南能帮助您了解如何使用SilkTest进行Flex应用程序的自动化功能测试Flex自动化功能测试工具SilkTest使用指南。 阅读详情
AI摘要

本文对比了Rational Functional Tester、SilkTest、TestComplete和QTP四种商用工具对Flex应用程序的自动化功能测试能力。每种工具都有其独特的对象识别技术和编译设置要求。

注:本文最早于2009年7月发表于It168.com

 

 

 

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

 

Rational Functional Tester

Rational Functional Tester 8.0 目前支持对 Flex2.0 和 Flex3.0 的程序进行测试。在 RFT8 中,支持两种方式测试 Flex 程序,一种是针对“激活”的 Flex 程序的测试方式,另外一种是针对“非激活”的 Flex 程序的测试方式。

 

所谓“激活”与“非激活”是指:是否在编译被测试的 Flex 程序时加入了 Functional Tester 代理和 Flex 自动化库。

 

在 RFT8 中进行 Flex 程序测试的一般步骤和流程如下图所示:

第一步,开发组的开发人员为了 RFT 的功能测试,对被测试的 Flex 程序进行开发环境上的设置。

设置可以有两种方式,分别是“激活”与“非激活”的方式:

( 1 )、“激活”方式

在编译时加入 Functional Tester 代理和 Flex 自动化库,然后创建 HTML 包装( HTML wrapper ),把 .swf 文件嵌入到 HTML 页面,再把这些文件交给测试组进行测试。

 

( 2 )、“非激活”方式

把运行时加载器( Runtime Loader )相关文件和 Flex 程序一起部署到 Web 服务器上,然后把 URL 测试地址提供给测试组。

 

第二步,测试组建立测试环境。

( 1 )、如果是“激活”方式,则看 Flex 程序是否已经部署到服务器上,如果是,则打开 HTML 包装( HTML wrapper )的 URL 地址,然后打开 RFT8 来对嵌入在 HTML 页面中的 Flex 程序进行测试。

 

如果 Flex 程序尚未被部署到服务器上,则在本地打开 WEB 浏览器加载 HTML 包装( HTML wrapper )的文件,然后打开 RFT8 来对嵌入在 HTML 页面中的 Flex 程序进行测试。

 

( 2 )、如果是“非激活”方式,则通过浏览器直接打开 RuntimeLoadingTest.html 页面(运行时加载器)的 URL ,然后打开 RFT8 来对嵌入在 HTML 页面中的 Flex 程序进行测试。

 

SilkTest

SilkTest2008 R2 目前支持对 Flex2.0 、 Flex3.0 以及 Flex3.2 的程序进行测试。

 

和 Rational Functional Tester 一样,在测试 Flex 程序之前,需要执行一系列步骤,对被测试的 Flex 程序进行一些设置:

1 、在被测试的 Flex 程序中包含 Adobe Flex 自动化包( Adobe Flex Automation Package )和 SilkTest 自动化包( SilkTest Automation Package )。

 

Adobe Flex 自动化包是由 Adobe 提供的自动化 API ,可以为开发者提供创建 Flex 程序的自动化测试接口。在 Adobe Flex 自动化包中, automation.swc 和 automation_agent.swc 是对 Flex 框架组件的委托实现。而 SilkTest 自动化包提供了 SilkTest 特定的一些实现。

 

在被测试的 Flex 应用程序中的 include-libraries 编译选项中加入下面的文件:

l         automation.swc

l         automation_agent.swc

l         FlexTechDomain.swc

l         automation_charts.swc (如果 Flex 程序使用 Flex 2.0 SDK ,使用了 charts 组件 )

l         automation_dmv.swc (如果 Flex 程序使用 Flex 3.0 SDK ,使用了 charts 组件 )

l         automation_flasflexkit.swc (如果 Flex 程序中使用了嵌入的 Flash 内容 )

 

2 、在 SilkTest 中创建 Flex 测试项目:

 

3 、对被测试的 Flex 程序“激活” Flex 扩展:

 

 

TestComplete

TestComplete 7 支持对 Flex2.0 及以后版本的 Flex 应用程序进行测试。

 

Flex 应用程序支持 MSAA ( Microsoft Active Accessibility ),它们的元素通过 IAccessible 接口暴露出来,因此, TestComplete 通过它的 MSAA 引擎来获取 Flex 应用程序控件和对象的相关信息。

 

为了让 TestComplete 可以识别出 Flex 应用程序的对象,被测试的 Flex 应用程序必须以 MSAA 接口支持的方式编译,并且封装到 WEB 页面( HTML Wrapper ):

 

如果不以 MSAA 方式编译,通过 TestComplete 也可以录制到 Flex 程序的测试脚本,如下代码所示:

  Dim iexplore

  Dim page

  Dim vobject

  Dim edit

  Set iexplore = Aliases .iexplore

  Call iexplore.IEFrame.Click(557, 13)

  Set page = iexplore.pageFlickrriaSwf

  Call page.ToURL("file:///D:/RIA/ 官方实例 /FlickrRIA.swf")

  Set vobject = page.objectFileDRiaFlickrriaSwf

  Set edit = vobject.editFlickrTagsOrSearchTerms

  Call edit.Click(25, 8)

  Call edit.Keys("dog")

  Call vobject.Graphic.Click(48, 5)

  Call vobject.Graphic1.Click(320, 46)

 

以 MSAA 编译后,则录制到如下代码:

  Dim iexplore

  Dim page

  Dim vobject

  Dim edit

  Dim list

  Set iexplore = Aliases .iexplore

  Call iexplore.IEFrame.Click(524, 9)

  Set page = iexplore.pageFlickrriaSwf

  Call page.ToURL("file:///D:/RIA/ 官方实例 /FlickrRIA.swf")

  Set vobject = page.objectFileDRiaFlickrriaSwf

  Set edit = vobject.editFlickrTagsOrSearchTerms

  Call edit.Click(82, 7)

  Call edit.Keys("dog")

  vobject.buttonSearch.ClickButton

  Set list = vobject.List

  Call list.ClickItem("[object Object]")

  Call list.Click(308, 192)

 

由此可见, MSAA 接口的编译方式对于 TestComplete 测试 Flex 程序而言至关重要。

 

QTP

在 QTP 中测试 Flex 需要安装 Flex for QTP 的插件。

 

在 Flex Builder 3 中带有为 QTP 自动化测试而提供的插件,运行 Flex Builder 安装目录下的 /Installers/QTP_Plugin_Installer.exe 进行安装。安装完成后启动 QTP ,在 Add-ins Manager 窗口中出现 Flex 3.0.0 的插件加载项:

 

为了让 QTP 可以识别 Flex 对象,还需要对被测试的 Flex 程序进行编译设置,打开 Flex Builder ,右键选择 Project -> Properties -> Flex Compiler ,修改属性“ Additional compiler arguments ”,在该属性中添加:

-locale en_US -include-libraries "C:/Program Files/Adobe/Flex Builder 3/sdks/3.2.0/frameworks/libs/automation.swc" "C:/Program Files/Adobe/Flex Builder 3/sdks/3.2.0/frameworks/libs/automation_agent.swc" "C:/Program Files/Adobe/Flex Builder 3/sdks/3.2.0/frameworks/libs/qtp.swc" "C:/Program Files/Adobe/Flex Builder 3/sdks/3.2.0/frameworks/libs/automation_dmv.swc"

 

这样编译后的 Flex 程序就可以被 QTP 所识别了:

 

并且可以进行 Flex 程序脚本的录制:

录制的脚本如下所示:

Window("Microsoft Internet Explorer").FlexApplication("PhotoAlbum").FlexLinkBar("_PhotoAlbum_LinkBar1").Change "Shopping Cart"

Window("Microsoft Internet Explorer").FlexApplication("PhotoAlbum").FlexLinkBar("_PhotoAlbum_LinkBar1").Change "Photo Catalog"

Window("Microsoft Internet Explorer").FlexApplication("PhotoAlbum").FlexBox("Photo Catalog").FlexList("slideList").FlexBox("assets/thumbs/alcatraz.jpg").FlexImage("assets/thumbs/alcatraz.jpg").Click

 

结论

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

总体而言,对 Flex 应用程序进行测试之前,都需要对编译环境进行必要的设置, TestComplete 由于采用 MSAA 接口,需要设置的内容相对少一些。

与其它工具不同, QTP 没有“原生”支持 Flex ,而是“假手于人”,需要借助 Flex Builder 专门为 QTP 提供的插件来实现对 Flex 测试的支持。虽然 QTP 没有直接支持 Flex ,但是通过初步的使用和比较,发现 Adobe 为其量身订做的 Flex 插件在识别对象的能力上比采用 MSAA 接口的 TestComplete 要略胜一筹。

 


 

Adobe Flex测试的综合分析与应用指南 本文还有配套的精品资源,点击获取 简介:本文深入解析了Adobe Flex测试的核心目标、工具选择、测试策略、源码分析,以及持续集成与自动化在测试过程中的应用。Flex测试是一种针对基于Flex技术的富互联网应用程序进行质量保证的过程,旨在确保应用的稳定性、性能、功能和兼容性。文章介绍了多种测试工具,如Flex Builder、FlexUnit、FlexMonkey和Fla... 阅读详情

相关推荐

嵌入式Linux开发必备:设备树插件动态加载实战指南(RK356x平台为例)

本文以RK356x平台为例,详细介绍了嵌入式Linux开发中设备树插件的动态加载实战。通过configfs接口,开发者可以在系统运行时动态修改硬件配置,实现外设的即插即用与调试,无需重启设备,极大提升了开发与调试效率。

w7x8y9z的博客 442

flex布局

一天一到两个知识点,家案例,争取造日搞定前端。

kuxingseng123的博客 584

深入解析BlueZ5与D-Bus:Linux蓝牙开发实战指南

本文深入解析BlueZ5与D-Bus在Linux蓝牙开发中的核心应用,提供从环境搭建到实战开发的完整指南。通过详细代码示例和调试技巧,帮助开发者掌握蓝牙协议栈与D-Bus接口的交互方法,实现高效蓝牙设备管理与GATT服务开发。

weixin_28292761的博客 449

移动Web实训-flex布局测试题1

下列选项中对视口属性的作用描述不正确的是( D )A: width=device-width:设置视口的宽度和当前设备的宽度一致B: maximum-scale=1.0:允许用户缩放的最大比例为1.0C: initial-scale=1.0:设置视口的默认缩放比例为1.0D: user-scalable=yes:不允许用户自行缩放解析:关于flex布局主轴描述错误的是( D )A: flex布局默认的主轴是X轴B: flex-direction取值为row,可以将主轴设置为X轴C: flex-dire

HHppGo的博客 1912

EEG信号分析实战:从时域到频域,手把手教你用Python处理脑电数据

本文详细介绍了使用Python进行EEG信号分析的实战方法,涵盖时域分析、频域分析和时频分析三大核心技术。通过MNE-Python等工具,读者将学习如何从原始脑电数据中提取事件相关电位(ERP),解码脑波节律特征,并运用时频分析追踪动态神经活动。教程包含完整的代码示例和认知科学解释,适合神经科学研究者快速掌握EEG分析全流程。

pink的博客 1007

Kaggle | 总奖池超200万美金的数学竞赛AIMO2冠军方案

••••结论1:通过结合高质量大规模数据集、工具集成推理和生成式选择方法,可以构建在挑战性数学问题上达到最先进水平的语言模型。本文的方法在 AIMO-2 竞赛中的胜利以及在多个数学基准上的 SOTA 结果验证了这一策略的有效性。结论2:发布 OpenMathReasoning 数据集、OpenMath-Nemotron 模型和代码是社区的宝贵财富。

hxshine的博客 1194

30分钟用flex测试FDS

 Adobe高级技术官员Christophe Coenraets发表了一篇题为"30-Minute Flex Test-Drive for Java Developers."的文章,目的是为Java开发者在很短的时间内学习Flex的关键特性,以及它的潜在的编程模型提供机会。     通过配置运行在Tomcat上或另一个应用服务器上的内含的WAR文件,向开发人员展示了10个应用事例。这些例子主要集中

飞鸟Blog 2798

c++多线程(1)------创建和管理线程td::thread

std::thread 是 C++11 标准库中用于创建和管理线程的核心类,定义在 <thread> 头文件中。它使得多线程编程变得简单、类型安全且跨平台。

jndingxin的专栏 647

css_flex弹性盒模型/flex布局/flex在线可视化工具

文章目录contents:flex 模型说明flex在线可视化工具(visual guide to css3 flexbox)flex-wrap contents: 为什么是 弹性盒子? 一个简单的例子 指定元素的布局为 flexible flex 模型说明 列还是行? 换行 flex-flow 缩写 flex 项的动态尺寸 flex: 缩写与全写 水平和垂直对齐 flex 项排序 flex 嵌套 跨浏览器兼容性 测试你的技能 总结 flex 模型说明 flex 模型说明 当元素表现为 flex 框时

xuchaoxin1375的博客 3437

网络分析工具Wireshark系列专栏:01-专栏导读

随着人工智能技术的普及,越来越多的博主开始利用AI进行内容创作,导致优快云等平台上充斥着大量低质量的洗稿文章,严重影响了技术软文的质量和可信度。为了应对这一现象,提升技术内容的质量,瑞哥决定推出系列技术专栏,为大家带来系统、深入且高质量的技术学习资源。这些专栏将帮助读者从入门到精通,特别适合习惯通过文档学习的技术爱好者。作为首个专栏,我们将聚焦于Wireshark——一款广受欢迎的网络协议分析工具。根据优快云后台的反馈,许多读者表示Wireshark是他们欠缺的一项技能。因此,本专栏将通过精心设计的课程

网络技术联盟站 359

电路设计仿真软件:Mentor Graphics_(11).MentorGraphics软件操作与技巧

/ 定义自定义仿真命令// 加载设计文件// 运行仿真// 主函数return 1;return 0;// 自定义设计检查// 获取设计中的所有模块// 遍历所有模块// 检查模块名称是否符合规范if (!// 检查模块中的所有引脚if (!// 主函数main() {通过本节的学习,您应该已经掌握了如何在 Mentor Graphics 中进行二次开发,包括使用 Tcl、C++ 和 Python 进行基本和高级操作。

kkchenjj的博客 1638

qtp自动测试软件功能,Flex自动化功能测试工具QTP用法指导

本文和大家重点讨论一下Flex自动化功能测试工具QTP的用法,在FlexBuilder3中带有为QTP自动化测试而提供的插件,运行FlexBuilder安装目录下的\Installers\QTP_Plugin_Installer.exe进行安装。Flex自动化功能测试工具QTP在QTP中测试Flex需要安装FlexforQTP的插件。在FlexBuilder3中带有为QTP自动化测试而提供的插件,...

weixin_39942726的博客 2479

CAN总线入门(硬件部分)

这篇博客讲述CAN总线入门知识。

记得诚 1万+

Flex自动化功能测试工具

RIA越来越“火”,各测试工具厂商也紧跟潮流,纷纷开始支持对RIA程序的测试,对于Flex,它们支持得怎么样呢?今天,我们就来看个究竟,来个Flex自动化功能测试工具大比拼。  Rational Functional Tester  Rational Functional Tester 8.0目前支持对Flex2.0和Flex3.0的程序进行测试。在RFT8中,支持两种方式测试Flex程序

Jason的专栏 1491

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Flex积极化功能测验工具大比拼

Flex积极化功能测验工具大比拼 2011年07月30日    Flex积极化功能测验工具大比拼   2009-07-30 作者:陈能技 起源:IT168   RIA越来越“火”,各测验工具厂商也紧跟潮流,纷纷开始扶持对RIA过程的测验,对于Flex,它们扶持得怎么样呢?今天,我们就来看个究竟,来个Flex积极化功能测验工具大比拼。   Rational Functional...

lxgp84lxgp 164

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

自动化测试工具AutoRunner的介绍&安装(一)

刚刚入手自动化,这里自己记录一下自动化工具的使用,备忘一下。 AutoRunner的简介: AutoRunner是自动化的功能测试工具,功能测试的目标是根据 GUI 的界面或者报表来检查软件的实际功能是否和需求定义的功能相一致。 AutoRunner自动测试工具适用于功能测试、回归测试、系统测试、疲劳测试、组合测试、每日构建测试等,可以提高测试效率,降低测试人工成本,帮助用户找被测

tester_001的博客 3万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Flex测试总结

昨天参加了RIAMeeting的第5次会议,主题是Flex测试,这里简单总结一下。   1. FlexUnit http://code.google.com/p/as3flexunitlib/ 是一个类似JUnit的测试框架,对AS3进行单元测试挺好。但进行功能测试不太好用。   2. FunFX http://funfx.rubyforge.org/ FunFX是一个基于Ruby的自动化测试框架...

wangcheng 509

免费AutoRunner自动化测试工具

AutoRunner是黑盒测试工具,可以用来完成功能测试、回归测试,可以提高测试效率,降低测试人工成本。 产品可以对以下类型对象进行GUI功能性测试: 1 Windows类型对象,一般为用C++/Delphi/VB/C#等技术开发的桌面程序。 2 IE网页对象,一般性的网站,比如大的门户类网站。 3 Java对象,一般为用AWT/Swing/SWT等技术开发的桌面程序。 4 Fle...

iteye_13993的博客 1238

web自动化测试的8个测试知识点

自动化测试工具-黑盒测试工具-功能测试工具-AutoRunner365-Alltesting泽众云测试Alltesting泽众云测试,AutoRunner365自动化测试工具,可以进行黑盒测试,功能测试,回归测试,Flex测试,Silverlight测试,以及冒烟测试等测试工作。https://www.alltesting.cn/jsp/newVersion2/bigNews/alltestingAR.jsp 1、变量 2、条件分支 3、函数 (Function) 4、箭头函数 (Arrow fun

2667

免费的自动化测试工具

AutoRunner是黑盒测试工具,可以用来完成功能测试、回归测试,可以提高测试效率,降低测试人工成本。 产品可以对以下类型对象进行GUI功能性测试:1 Windows类型对象,一般为用C++/Delphi/VB/C#等技术开发的桌面程序。2 IE网页对象,一般性的网站,比如大的门户类网站。3 Java对象,一般为用AWT/Swing/SWT等技术开发的桌面程序。4 Flex对象,网页的内容是...

bitzsoft的专栏 273

自动化测试软件工具,自动化测试工具AutoRunner

AutoRunner是黑盒测试工具,可以用来完成功能测试、回归测试,可以提高测试效率,降低测试人工成本。相似软件版本说明软件地址2012 官方版查看1.0.3 官方版查看2.4.530.1830 官方版查看2.0.1 官方版查看产品可以对以下类型对象进行GUI功能性测试:1 Windows类型对象,一般为用C++/Delphi/VB/VFP/PB/.NetForm等技术开发的桌面程序。2 IE网页...

weixin_39611047的博客 313

FlexMonkey为Flex用户界面开发人员带来了单元测试

在过去的十年中,维护自动化的单元测试套件的做法已被广泛接受,以至于当今大多数开发人员要么从事一定数量的测试编写,要么至少因不这样做而感到难过。 自动化单元测试的兴起导致对于谁应该测试什么感到有些困惑。 开发人员应该在单元测试中争取100%的代码覆盖率吗?如果是,这是否意味着我们不再需要专门的QA测试人员? 许多开发团队在用户界面上划清界限,理由是由于用户界面几乎不需要编程即可执行,因此可以由专...

cunfu6353的博客 482
上一篇: TestComplete7亮相
下一篇: TestComplete最新版本7.51
TIB
TIB
博客等级 码龄19年 2879粉丝 957原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值