我有一个比较大的网络应用程序是用AngularJS编写的。我们的自动化使用Ranorex来运行BDD测试。
我们一直处于如何使Ranorex测试有效地找到UI元素的困境中。目前我们主要使用自定义属性testid(例如<div testid="done_btn">
),但在某些情况下它执行得非常糟糕,不确定是否因为查询的XPath未经过优化或其他一些Ranorex配置。 / p>
使用id
属性的速度要快一些,但是将它用于自动化感觉不对。此外,保持其独特性可能需要在某些情况下进行一些编码(例如,在使用ng-repeat
时)。
仅仅为了自动化目的使用id
确定还是不好的做法?为什么呢?
任何使Ranorex与testid
等自定义属性相关的方式都会有所不同,以便更快地找到它?我已经阅读了Ranorex Weight Rule,但找不到定义自定义属性的方法。
答案 0 :(得分:2)
快速回答:是的!使用Id。
我实际上并不熟悉你所面临的困境。能否请你进一步解释不想使用id-s的原因。
如果您遇到与id不相关的问题,在某些情况下您可以将不同的元素组合到路径中(例如“@ id ='save_btn'和@ innerText ='Save'”)。
通常,如果您可以在没有视觉或功能费用的情况下提高自动化的速度和稳定性,那就去做吧。