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

对于如何启用Ranorex测试以有效查找UI元素,我们一直处于两难境地。当前,我们主要为其使用自定义属性testid(例如<div testid="done_btn">),但是在某些情况下,它的性能非常差,不确定是否是因为查询XPath尚未优化或其他Ranorex配置。

使用id属性的速度更快,但是使用它自动进行操作感觉并不正确。此外,在某些情况下(例如,使用ng-repeat时),使其保持唯一性可能需要进行一些编码。

是否仅将id用于自动化目的还是不好的做法?为什么?

有什么方法可以使Ranorex与诸如testid之类的自定义属性建立不同的关系,以便更快地找到它?我已经读过关于Ranorex Weight Rule的信息,但是找不到定义自定义属性的方法。

最佳答案

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

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

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

通常,如果您可以在不增加视觉或功能费用的情况下提高自动化的速度和稳定性,则可以这样做。

09-30 16:06
查看更多