我想知道是否有可能在html根元素级别上将唯一标识符添加到第三方包中。例如,我通过NPM使用软件包myDatePicker。
我可以在实际的html元素中添加一个ID标签,但是嵌套在该元素中的是一个和两个元素,为了进行E2E测试,我需要在其中添加两个ID。我们正在使用量角器进行测试。
检查的html看起来像这样
<my-date-picker ... id="myDatePickerUniqueID" ...>
<div>
--><input **'where I want my id field'**>
</div>
</my-date-picker>
感谢您的帮助。
答案 0 :(得分:1)
我不建议您深入使用第三方的源代码,因为那时您依赖于特定版本,那只会造成问题。
您可以使用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'))
按型号-> https://www.protractortest.org/#/api?view=ProtractorBy.prototype.model
所有选择器-> https://www.protractortest.org/#/api?view=ProtractorBy