【问题标题】:Functional Test With ExtJS 6使用 ExtJS 6 进行功能测试
【发布时间】:2018-03-05 06:43:05
【问题描述】:

我正在使用 HP UFT 进行功能测试。

由于 ExtJS 的动态 id 定义,我无法使用 UFT 录制功能。

我尝试了多种静态分配动态 ID 的方法。

I tried to change id: function() in ext-all-debug.js file.
I tried to change Components getId() function in ext-all-debug.js file.
I tried override components with afterRender method to change ids aswell.

有时我使用组件的属性(文本、fieldLabel、overflowText 等)来更改 ID,但对于某些组件我无法分配 ID,因为组件属性似乎是空的。

在上面,我列出了分配静态 ID 的操作。所以,我想知道您对我的行为的看法,如果您认为这些意见不正确或不够充分,您能否为我提供在 ExtJS6 中使用 HP UFT 录制功能的新方法。

【问题讨论】:

  • 为什么不直接为所需组件手动设置id 配置?
  • 我正在尝试更改组件 dom id。 ExtJS 在前端动态创建

标签: extjs extjs6


【解决方案1】:

您不能更改代表 ExtJS 组件的 dom 元素的动态 id。这真的很糟糕,我认为你会破坏整个应用程序。

测试 ExtJS 应用程序的最简单方法是使用已经创建的框架/工具,例如:

Siesta by Bryntum
Sencha Test by Sencha

午睡是免费的。它具有一些需要许可证的专业功能。但是您可以免费使用它。

如果你仍然坚持按照自己的方式去做。 您需要动态获取 ExtJS 组件创建的 dom 元素的 ID。基本上编写自己的 API。
您需要执行 ExtJS JS 代码,它将返回组件的 ID。所以你需要获取ExtJS组件并在其上调用getId()函数来获取dom id。

示例代码如下:

>Ext.ComponentQuery.query('checkbox')[0].getId()
"checkbox-1047"

您肯定需要:http://docs.sencha.com/extjs/6.5.3/modern/Ext.ComponentQuery.html#method-query 请记住,查询可以非常高级,您可以使用在 ExtJS 元素上设置的所有配置,例如名称、xtype 等

你可以在我的另一个anwserhttps://*.com/a/41718879/1768843找到一些其他信息

【讨论】:

    最近更新 更多