html - 如何使用量角器 - Angular 在第三方包中对数据进行 E2E 测试
问题描述
我想知道是否可以在根 html 元素级别向 3rd 方包添加唯一标识符。例如,我通过 NPM 使用包 myDatePicker。
我可以向实际的 html 元素添加一个 ID 标记,但嵌套在该元素内部的是一个以及两个我需要添加 ID 以进行 E2E 测试的标记。我们正在使用量角器进行测试。
检查的 html 看起来像这样
<my-date-picker ... id="myDatePickerUniqueID" ...>
<div>
--><input **'where I want my id field'**>
</div>
</my-date-picker>
任何帮助表示赞赏。
解决方案
我不建议深入研究 3rd 方源代码,因为您依赖于该特定版本,这只会导致问题。
你可以做的是使用element(by.css('myDatePickerUniqueID div input'))
.
By.css -> https://www.protractortest.org/#/api?view=webdriver.By.css
另一种方法是选择By.model,这样您就不会依赖 HTML/CSS 结构,而是依赖 Angular。例子是element(by.model('selectionDayTxt'))
By.model -> https://www.protractortest.org/#/api?view=ProtractorBy.prototype.model
所有选择器-> https://www.protractortest.org/#/api?view=ProtractorBy
推荐阅读
- python - 用 NaN 替换 None 并忽略 Pandas 中的 NoneType
- c - 为什么我的小 C 循环不能正确打印到帧缓冲区,但它的展开版本却可以?
- python - 在数据帧切片上并行化 Pandas 的正确方法
- javascript - Material-ui jss 不尊重 justify 内容
- android - Android视图旋转Y不适用于带有Nougat的华为
- sql-server - 在 SQL Server 2014 中安排其他成功的作业
- algorithm - 3种不同情况下插入堆的时间复杂度
- javascript - 如何将实例化的 File 对象与 JavaScript 中的输入链接?
- c# - 鼠标悬停时保持工具提示打开
- python - 生成器在 locateOnScreen 时引发 StopIteration