【问题标题】:Identifying Elements Effectively - AngularJS Automation with Ranorex有效识别元素 - AngularJS 自动化与 Ranorex
【发布时间】:2015-11-05 21:02:22
【问题描述】:

我有一个比较大的网络应用程序是用 AngularJS 编写的。我们的自动化使用 Ranorex 来运行 BDD 测试。

在如何使 Ranorex 测试有效地找到 UI 元素方面,我们一直处于两难境地。目前我们主要使用它的自定义属性,testid(例如<div testid="done_btn">),但在某些情况下它的性能很差,不确定是因为查询XPaths没有优化还是其他Ranorex配置。

使用id 属性要快得多,但将其用于自动化感觉并不合适。此外,在某些情况下(例如,使用 ng-repeat 时)保持其唯一性可能需要一些编码。

使用id 只是为了自动化目的是好的还是不好的做法?为什么?

有什么方法可以让 Ranorex 以不同的方式与 testid 等自定义属性相关联,以便更快地找到它?我读过Ranorex Weight Rule,但找不到定义自定义属性的方法。

【问题讨论】:

    标签: angularjs testing bdd ranorex


    【解决方案1】:

    快速回答:是的!使用 ID。

    我实际上并不熟悉您面临的困境。您能否进一步解释不想使用 id-s 背后的原因。

    如果您在某些情况下遇到与 id 不唯一相关的问题,您可以将不同的元素组合到路径中(例如,“@id='save_btn' 和 @innerText='Save'”)。

    通常,如果您可以在不增加视觉或功能成本的情况下提高自动化的速度和稳定性,那就去做吧。

    【讨论】:

    • 一般来说,我们认为使用id,这是一个有意义的属性,是HTML规范的一部分,只是为了自动化,可能不是最好的主意,所以我们更喜欢使用自定义属性.但正如所写,这表现出糟糕的表现。谢谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多