最近折腾了好久,终于能用QTP录制FLEX4.0了,小兴奋下,再BS下 网上的资料害人啊,也不能说人家是错得,只能说少了一步,没了这个步骤,整死都录制不了FLEX得程序,标志着俺们终于从实习中学到东西了,记录下,记录下,这可是里程碑啊- -
---------------------------------------------
使用QTP录制FLEX的脚本,如果你实在不愿意折腾插件,又不觉得记录麻烦的话,可以用低级录制(low level recording)来录制脚本
回放的时候有可能需要用到Resource-->object repository-->object-->add object to local 来获取一个对象,操作步骤是先打开欲获取的对象然后再执行add object to local 的操作 ,获取之后就可以回放了
----------------------------------------------
接下来说说正规录制FLEX的方法,自然是要安装插件的
首先安装QTP10.0版本,理论上9.2版本的夜可以
然后下载Adobe Flex 4 Plugin for HP QuickTest Pro,下载地址嘛问下度娘和谷哥
运行Adobe Flex 4 Plugin for HP QuickTest Pro文件夹里面的Install_QTP_Plugin.bat
到此为止,QTP已经安装了FLEX的插件了
接下来要对程序做点改变,这个时候如果你接触不到代码,最好和负责编译的开发人员沟通下,因为要在编译时加载一些包,也要在项目中加些代码
在Adobe Flash Builder 4 Plug-in中右键点击要编译的项目,选择属性,再选择编译器,如果你的是英文版本,那就是右键项目最下面一个然后第二个
在附加的编译器参数中添加下面的内容-locale zh_CN -include-libraries "C:\Program Files\Adobe\Adobe Flash Builder 4 Plug-in\sdks\4.1.0\frameworks\libs\automation\automation.swc" "C:\Program Files\Adobe\Adobe Flash Builder 4 Plug-in\sdks\4.1.0\frameworks\libs\automation\automation_agent.swc" "C:\Program Files\Adobe\Adobe Flash Builder 4 Plug-in\sdks\4.1.0\frameworks\libs\automation\qtp.swc" "C:\Program Files\Adobe\Adobe Flash Builder 4 Plug-in\sdks\4.1.0\frameworks\libs\automation\automation_dmv.swc" "C:\Program Files\Adobe\Adobe Flash Builder 4 Plug-in\sdks\4.1.0\frameworks\libs\automation\automation_spark.swc"
这个地方是给项目添加automation,automation_agent,qtp,automation_dmv,automation_spark.swc这5个包,这些包得位置在你安装FLEX4,0的文件夹里
具体路径是...\Adobe\Adobe Flash Builder 4 Plug-in\sdks\4.1.0\frameworks\libs\automation 这个路径里有很多包,可以根据自己需要来添加。一般加载以上5个包就可以了
特别注意要加automation_spark.swc这个包,少了这个包是不行的。
这个时候编译下你的程序,再用QTP的Object spy比对下,恭喜你,你的QTP能够识别FLEX4.0了
如果这个时候只是能够用SPY识别程序,依然不能正常录制脚本那就需要做下面的操作了
这个操作是由开发人员来做的,所以需要和开发人员沟通下
在Adobe Flash Builder 4 Plug-in的安装路径下找到runtimeloading.mxml这个文件 具体位置在
。。。\Adobe Flash Builder 4 Plug-in\sdks\4.1.0\templates\automation-runtimeloading-files
右键点击runtimeloading.mxml选择编辑,将里面的代码复制到项目代码里。
代码如下
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="actionScriptFunction()" >
<mx:Script>
<![CDATA[
import flash.external.*;
public function init():void
{
myLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
public function actionScriptFunction():void
{
init()
myLoader.source = Application.application.parameters.automationswfurl;
}
]]>
</mx:Script>
<mx:SWFLoader id="myLoader" width="100%" height="100%" preinitialize="myLoader.loaderContext = new LoaderContext(false, ApplicationDomain.currentDomain)" >
</mx:SWFLoader>
</mx:Application>
由开发人员调试后重新编译。注意不要对代码做大的修改,只要不报错,尽量维持代码的原型。
你可以开始录制FLEX4.0开发的程序了,
仅以此日志,纪念下,也为了以后忘记时能找到,
需要用到得软件
QTP10.0 下载地址
>http://h30302.www3.hp.com/prdownloads/T6510-15063.zip?ordernumber=380454070&itemid=1&downloadid=33606114&merchantId=HP_DOWNLOAD_CENTER&dlm=ON
Adobe Flex 4 Plugin for HP QuickTest Pro 下载地址
http://download.macromedia.com/pub/labs/flex/4/flex4_automation_install_100509.zip
Adobe Flash Builder 4 Plug-in (这个东西0 0 我就不知道下载地址了,不过如果有朋友需要用到,那就代表你的程序是用FLEX开发的,直接去找开发人员要就可以啦,)
加载需要的包和后面添加的代码都在Adobe Flash Builder 4 Plug-in这个里面,分别在frameworks和templates里面