首页 > 解决方案 > 如何使用量角器 - 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>

任何帮助表示赞赏。

标签: htmlangulartestingprotractore2e-testing

解决方案


我不建议深入研究 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


推荐阅读