51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2345|回复: 7
打印 上一主题 下一主题

[原创] 急急急急急急急急急!!!!!!!QTP测试Flex控件

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-9-5 15:07:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
急急急急急急急急急急急急急急急急!!!!!!!

请问一下QTP测试 <<自定义的Flex控件(extendButton: 它继承BUTTON)>>怎么测试,都需要哪些配置才能实现。
请高手用语言描述一下,或者弄个小例子也可以。不要官方的英文字资料。

好像需要配置TEAFlex.xml和TEAFlexCustom.xml这两个文件,但是具体不知道怎么配置。先谢谢了。

[ 本帖最后由 lishuanghi 于 2007-9-5 15:57 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-9-5 15:22:06 | 只看该作者
路过,随便问问,你有多急?

楼主写的东西我都不懂,楼下回答。

button.object.....
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-9-5 15:28:09 | 只看该作者

回复 #2 jackymail 的帖子

也就是说我现在自己写了一个控件,这个控件继承Button的。然后在这个控件里又增加了几个自定义的属性。
现在要实现的是:如何配置才能实现用QTP来测试我写的这个控件。并且能够测试出令增加的几个自定义的属性。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-9-5 15:53:23 | 只看该作者
不懂怎么处理,不过建议楼主,标题里面限定下你的问题范围,这样有兴趣的高手便于看到,进来帮你哦!
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-9-5 16:21:26 | 只看该作者
原帖由 lishuanghi 于 2007-9-5 15:28 发表
也就是说我现在自己写了一个控件,这个控件继承Button的。然后在这个控件里又增加了几个自定义的属性。
现在要实现的是:如何配置才能实现用QTP来测试我写的这个控件。并且能够测试出令增加的几个自定义的属性。


只要你的基础Button能被QTP识别,那你的Extend Button也一样能被QTP识别。
这个识别,要包括自身接口(Object Spy窗口里的Runtime Object Property/Method),因为你要操作这个自定义的接口。

自身接口的原理,你看这个

《QTP识别和操作对象的原理》[url]http://bbs.51testing.com/thread-87074-1-1.html[/url]
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2007-9-5 16:46:14 | 只看该作者

回复 #5 yabest 的帖子

非常感谢你的回答。不过我有点不明白。

刚才我在TEAFlex.xml这个文件里增添了点配置。
  <ClassInfo Name="FlexButton" GenericTypeID="button" Extends="FlexObject" SupportsTabularData="false">
    <IconInfo IconFile="TEAPluginQTP.dll" IconIndex="2"/>
    <Description>FlexButton</Description>
    <Implementation Class="mx.controls::Button"/>
    <TypeInfo>
      <Operation ExposureLevel="CommonUsed" Name="ChangeFocus" PropertyType="Method">
        <Implementation Class="flash.events::FocusEvent" Type="keyFocusChange"/>
        <Argument Name="shiftKey" IsMandatory="false" DefaultValue="false">
          <Type VariantType="Boolean"/>
          <Description>True if the user held the Shift key down when changing focus. Otherwise false.</Description>
        </Argument>
        <Argument Name="keyCode" IsMandatory="false" DefaultValue="TAB">
          <Type VariantType="String" Codec="keyCode"/>
          <Description>The key code value of the key pressed to trigger a ChangeFocus event.</Description>
        </Argument>
        <Description>Dispatched when the focus changes from object to another.</Description>
      </Operation>
      <Operation Name="Click" PropertyType="Method" ExposureLevel="CommonUsed">
        <Implementation Class="flash.events::MouseEvent" Type="click"/>
        <Argument Name="keyModifier" IsMandatory="false" DefaultValue="0">
          <Type VariantType="Enumeration" ListOfValuesName="FlexKeyModifierValues" Codec="keyModifier"/>
          <Description>A constant that indicates which key or key combination, if any, was pressed while this operation took place. One of: flexAlt, flexControl, flexControlAlt, flexControlShift, flexControlShiftAlt, flexShift, or flexShiftAlt. For example, if the Shift and Alt keys were pressed, then the value would be flexShiftAlt.</Description>
        </Argument>
        <Description>Dispatched when the mouse is clicked while over this object.</Description>
      </Operation>
      <Operation Name="GetAutomationChildAt" PropertyType="Method" ExposureLevel="CommonUsed">
        <Implementation Type="getAutomationChildAt"/>
        <Argument Name="childIndex" IsMandatory="true">
          <Type VariantType="Integer"/>
          <Description>The index of the child.</Description>
        </Argument>
        <ReturnValueType>
          <Type VariantType="TEAObject"/>
        </ReturnValueType>
        <Description>Returns the child component at given index.</Description>
      </Operation>
      <Operation Name="MouseMove" PropertyType="Method" ExposureLevel="CommonUsed">
        <Implementation Class="flash.events::MouseEvent" Type="mouseMove"/>
        <Argument Name="localX" IsMandatory="false" DefaultValue="0">
          <Type VariantType="Integer"/>
          <Description>The x position to move the mouse relative to this object.</Description>
        </Argument>
        <Argument Name="localY" IsMandatory="false" DefaultValue="0">
          <Type VariantType="Integer"/>
          <Description>The y position to move the mouse relative to this object.</Description>
        </Argument>
        <Argument Name="keyModifier" IsMandatory="false" DefaultValue="0">
          <Type VariantType="Enumeration" ListOfValuesName="FlexKeyModifierValues" Codec="keyModifier"/>
          <Description>A constant that indicates which key or key combination, if any, was pressed while this operation took place. One of: flexAlt, flexControl, flexControlAlt, flexControlShift, flexControlShiftAlt, flexShift, or flexShiftAlt. For example, if the Shift and Alt keys were pressed, then the value would be flexShiftAlt.</Description>
        </Argument>
        <Description>Dispatched when the mouse moves while over this object.</Description>
      </Operation>
      <Operation Name="SetFocus" PropertyType="Method" ExposureLevel="CommonUsed">
        <Implementation Type="setFocus"/>
        <Description>Sets focus to the component.</Description>
      </Operation>
      <Operation Name="Type" PropertyType="Method" ExposureLevel="CommonUsed">
        <Implementation Class="flash.events::KeyboardEvent" Type="keyPress"/>
        <Argument Name="keyCode" IsMandatory="true">
          <Type VariantType="String" Codec="keyCode" DefaultValue="SPACE"/>
          <Description>The key code value of the key pressed.</Description>
        </Argument>
        <Argument Name="keyModifier" IsMandatory="false" DefaultValue="0">
          <Type VariantType="Enumeration" ListOfValuesName="FlexKeyModifierValues" Codec="keyModifier"/>
          <Description>A constant that indicates which key or key combination, if any, was pressed while this operation took place. One of: flexAlt, flexControl, flexControlAlt, flexControlShift, flexControlShiftAlt, flexShift, or flexShiftAlt. For example, if the Shift and Alt keys were pressed, then the value would be flexShiftAlt.</Description>
        </Argument>
        <Description>Dispatched when the user presses a key.</Description>
      </Operation>
    </TypeInfo>
    <Properties>
         <Property Name="shortcutKey" ForVerification="true">
        <Type VariantType="VT_R8"/>
        <Description>Specifies the object's vertical position, in pixels, within its parent container.</Description>
      </Property>
          <Property Name="altKey" ForVerification="true">
        <Type VariantType="Boolean"/>
        <Description>Indicates whether the object is visible.</Description>
      </Property>
           <Property Name="ctrlKey" ForVerification="true">
        <Type VariantType="Boolean"/>
        <Description>Indicates whether the object is visible.</Description>
      </Property>
           <Property Name="shiftKey" ForVerification="true">
        <Type VariantType="Boolean"/>
        <Description>Indicates whether the object is visible.</Description>
      </Property>
          <Property Name="groupName" ForVerification="true">
        <Type VariantType="String"/>
        <Description>Text to display in the ToolTip.</Description>
      </Property>
          <Property Name="labelHAlign" ForVerification="true">
        <Type VariantType="String"/>
        <Description>Text to display in the ToolTip.</Description>
      </Property>
          <Property Name="labelVAlign" ForVerification="true">
        <Type VariantType="String"/>
        <Description>Text to display in the ToolTip.</Description>
      </Property>
          <Property Name="labelHMargin " ForVerification="true">
        <Type VariantType="VT_R8"/>
        <Description>Specifies the object's vertical position, in pixels, within its parent container.</Description>
      </Property>
          <Property Name="labelVMargin " ForVerification="true">
        <Type VariantType="VT_R8"/>
        <Description>Specifies the object's vertical position, in pixels, within its parent container.</Description>
      </Property>
          <Property Name="buttonStype" ForVerification="true">
        <Type VariantType="String"/>
        <Description>Text to display in the ToolTip.</Description>
      </Property>
          <Property Name="focusStyle" ForVerification="true">
        <Type VariantType="String"/>
        <Description>Text to display in the ToolTip.</Description>
      </Property>
           <Property Name="focusColor" ForVerification="true">
        <Type VariantType="String"/>
        <Description>Text to display in the ToolTip.</Description>
      </Property>
    </Properties>
  </ClassInfo>

是我添加的。这样的话Extend Button也能被QTP识别了。
不过现在又有了这样一个问题,如果我再写个控件,这个控件纯继承UIComponent,那样的话如何配置,好像必须要添加一个Delegate类,这个类继承UIComponentAutomationImpl。具体配置和方法怎么弄。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-9-6 09:55:34 | 只看该作者
请以后不要用这样的标题, 谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2007-9-6 09:55:46 | 只看该作者

.........................

请高手近来帮忙啊!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-11 20:37 , Processed in 0.068056 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表