在模板中使用定位器名称来编写更容易的端到端测试是一个坏主意吗?
Is it a bad idea to use locator names in templates to write easier E2E tests?
我发现很难找到我正在测试的东西,当它深嵌套时,等等
用某事是一个坏主意吗
<h1 name="test-main-title">About Us</h1>
,直接用
element(by.name('test-main-title'));?
之后,对于prod构建,我可以从HTML文件中删除name="test-*"
。在我开始做之前,我只是想知道这是不是一个糟糕的主意。
这个想法本身类似于修改应用程序或特定的应用程序构建以进行测试或分级,以使测试更容易。这个想法本身是非常普遍的,有它的优点和缺点。尽管我并不特别喜欢为此改变现有属性值的想法。相反,可以考虑添加有意义的id
和面向数据的class
或其他属性。
id
具有多种优势-它们不太可能被更改,它们是唯一的(至少理论上应该),它们是面向数据的(意思是,您可能不会有等于col-sm-6
的id),并且它们是定位元素的最快方法。
还有,这里有更多想法的相关线程:
- 测试自动化html元素选择器。元素ID或数据属性
- 是添加id到一切标准做法时使用硒?
相关文章:
- 测试一个简单的javascript按钮
- 在JavaScript中测试一个无效参数w/Chai
- 在jQuery中,如何测试一个元素是否是同一类的多个元素中的第一个
- 测试一个简单的指令
- javascript测试一个值是否是一个数字和一个大于0的数字
- jQuery,如何测试一个变量是一个文本节点,不包含任何标记
- 用茉莉花测试一个角度的承诺
- 如何测试一个脚本,用茉莉花加载谷歌地图
- 有没有办法在我的单元测试中测试一个对象是否“是”Backbone.Model
- 茉莉花测试一个承诺,然后功能
- 使用 Sinon.js 测试一个函数是否调用 ES6 模块中的另一个函数
- JavaScriptif语句测试一个或另一个,但不能同时测试两者
- 如何测试一个函数在另一个函数之前被调用
- Mocha正在测试一个post函数
- Jasmine-测试一个返回localStorage项的服务
- 测试一个复杂的AngularJS模块(自动展开菜单)
- 模拟和测试一个按键事件与摩卡,Chai, Sinon
- 测试一个由承诺返回的函数——检查错误
- 测试一个多维数组内的操作是否匹配一个数字
- 我如何测试一个网站的内存泄漏