首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

flex4.0的spark控件不能被qtp10.00的对象查看器辨别

2013-03-29 
flex4.0的spark控件不能被qtp10.00的对象查看器识别各位大侠:我刚才qtp做flex的自动化测试,使用的flash bu

flex4.0的spark控件不能被qtp10.00的对象查看器识别
各位大侠:
    我刚才qtp做flex的自动化测试,使用的flash builder是4.0版本,qtp是10.00,对应的flex脚本为如下:
  <?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
   xmlns:s="library://ns.adobe.com/flex/spark" 
   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="actionScriptFunction()">
<fx:Declarations>

</fx:Declarations>

<fx:Script>
<![CDATA[
import mx.core.FlexGlobals;

public function actionScriptFunction():void
{
init()

myLoader.source = FlexGlobals.topLevelApplication.parameters.automationswfurl;
}

private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}

private function init():void
{
myLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
}

protected function button1_clickHandler(event:MouseEvent):void 

// TODO Auto-generated method stub 
label1.text = textInput1.text ; 

]]>
</fx:Script>

<mx:SWFLoader  id="myLoader"   width="100%" height="100%" preinitialize="myLoader.loaderContext = new LoaderContext(false, ApplicationDomain.currentDomain)" >
</mx:SWFLoader>

<mx:Button x="149" y="190" label="3Button" id="button1" click="button1_clickHandler(event)"/> 
<s:Button x="249" y="290" label="4Button" id="button2" click="button1_clickHandler(event)"/>
<mx:Label x="149" y="249" text="" id="label1"/> 
<mx:TextInput x="149" y="130" id="textInput1"/>
</s:Application>

运行后不能用qtp的对象查看器识别出flexbutton或者是sparkbutton控件

[解决办法]
使用qtp必须要:
安装qtp中支持flex的插件,安装包在flexbuilder中有;
编译你的app时必须加入qtp相关的4,5个swc,具体网上查查吧,懒得粘贴
自定义组件(例如继承自UIComponent的)必须写qtp能识别的自动回放类,否则找不到(比较复杂);

有了上面几项,基本上就能识别了,但还有写特殊情况会导致无法识别,可能是bug,需要避免的,这个需要你测试中慢慢去积累,就我所知道的至少有4,5种写法会导致某些控件无法被识别,必须要换代码去绕过

热点排行