【发布时间】:2016-12-09 02:34:18
【问题描述】:
我们的 ui 自动化团队正在寻求一种更好的方法来为他们的自动化测试选择元素。我的想法是我们可以为每个可测试元素注入一个专用属性(比如“ui-auto”)。该属性的值是:
- 独一无二的
- 持久性(不会在会话或页面加载之间发生变化,以免破坏测试)
- 可预测(根据操作类型、位置等遵循一些命名约定)
我的问题是:
- 这是个好主意吗?欢迎提出更好的想法。
- 是否有这方面的现有约定?
- 什么是最好的实施方式 这个?
我应该提到我们正在使用角度,我认为 使用某种指令和/或服务将有助于自动化 这个。
我还应该说我不想使用“id”属性 b/c 我想在开发关注点(id 可能用于 javascript)和 qa 关注点(选择元素自动化测试)
【问题讨论】:
-
什么是测试框架?量角器?您可能不需要 id,而是需要一个不变的特定属性,例如绑定、ng-model、类层次结构等。否则我会手动添加 id 以确保您所做的事情,它不是本身就是个坏主意,尤其是如果您决定对此类 id 进行约定,表明它们仅用于测试并且不应被其他 JS 代码使用。
-
谢谢@floribon。测试框架是 selenium(尽管我的建议是量角器 :)
-
protractor 使用 selenium 来自动化浏览器,但为您提供了一个很好的 angular 框架来运行 jasmine 测试,这不是不兼容的,并且可以为您省去很多麻烦。
-
投反对票的人:也许愿意解释投反对票,而不仅仅是对得分低的人快速投反对票。
-
同意你们,这是我对平衡的赞成票