【问题标题】:QTP Script is not recognizing the combo box objectQTP 脚本无法识别组合框对象
【发布时间】:2012-09-06 03:36:02
【问题描述】:

我的项目完全是用 ExtJs 语言开发的(不是 html)。

请注意以下代码,我附上了我的窗口截图。我希望选择组合框项(activePoll server1),如图所示。请提出建议。

Option explicit
Dim bro,url
bro="C:\Program Files\Internet Explorer\iexplore.exe"
url="-------------------------------------------------------"
invokeapplication(bro&" "&url)
With Browser("Certificate Error: Navigation")
With   .Page("Certificate Error: Navigation")
            .Link("Continue to this website").Click
End With
End With
With Browser("Title:=WebiPer.*.*")
With    .Page("title:=WebiPer.*")
    .WebEdit("name:=userName").Set "Sai"
    .WebEdit("name:=password").Set "Admin123"
       .WebList("name:=loginType").Select "ManagementApps"
    .WebButton("name:=Login").Click
End With
End With
With Browser("Title:=APS Configuration Client")
With    .Page("title:=APS Configuration Client")
        .WebEdit("name:=Image").Set"activePollServer1"
End With
End With

【问题讨论】:

  • 请澄清问题是什么,WebEdit.Set 是否有效,您希望测试对象的类型为 WebList 还是 WebEdit.Set 无效?
  • 感谢您的回复。问题在于 ExtJs 组合框。 qtp 脚本无法识别组合框对象。就是这样。如果您知道如何使组合框对象可识别,请告诉我。 Laeave 关于 html 术语。
  • 很抱歉,我仍然不明白您的问题的确切性质
  • 如何使用 HP Quick Test Pro 自动化基于 ExtJS 的应用程序。它将 ExtJS 组合框识别为图像。
  • 就像@Motti 所说:我们需要更多信息:组合框的 html 源代码是什么样的以及它的行为是什么。当您窥探对象时,它看起来如何,为什么不能使用html id?另外:this site 上的 QTP 10 对我来说运行正常(标识:WebEdit("html id:=ext-gen1020"))。您也可以测试一下,看看该对象与您脚本中的对象有何不同?

标签: extjs combobox qtp


【解决方案1】:

Sai,考虑定义一个虚拟对象。您可以在(工具 > 虚拟对象 > 新虚拟对象)下找到它。在这里,您手动将无法识别的对象映射到 QTP 知道的标准对象。 Web 插件附带的预定义对象中应该有一个组合框或列表框。

如果它不起作用,请尝试安装 Web 可扩展性插件。它扩展了对自定义 Web 控件和工具包(如 Dojo 和 Ajax)的支持。它应该也能处理 ExtJS。

【讨论】:

    【解决方案2】:

    我遇到了这个问题,我们所做的如下所示。

    如果 Dropdown 被识别为 WebEdit 则

    B().P().WebEdit().click
    Sendkeys {"DOWN"}
    Sendkeys {"DOWN"}
    Sendkeys {"ENTER"}
    

    对我们来说,下拉列表被识别为 WebEdit,因此我们必须先单击它,然后必须使用键盘输入来选择值。

    请告诉我

    【讨论】:

      【解决方案3】:

      一般在ExtJs中开发者不直接使用combo box,他们为数据选择分配了另一个Element,并且该元素只有在你点击WebEdit时才可见,所以按照以下步骤选择你想要的item选择

      step1) 从 WebEdit 元素的属性中找到名称为“aria-owns”的属性名称,并将其值传递给变量 ex: varId = "list-1234"

      step2)点击网页编辑

      step3) 点击元素 Browser().Page().WebElement("html id:=" & varId).WebElement("innertext:=" & 项目名称选择)。点击

      如果直接点击不起作用,则使用“Setting.WebPackage("ReplayType") = 2”选项

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-02
        • 1970-01-01
        • 2014-08-11
        • 1970-01-01
        • 2023-03-15
        相关资源
        最近更新 更多