【发布时间】:2014-07-01 00:43:18
【问题描述】:
我正在使用 Selenium WebDriver 和 Protractor 在我的 Angular 项目上运行 e2e 测试。 假设我有一个类似的元素:
<div my-directive my-unique-id="abc123"></div>
如何定位上述元素。
我尝试使用element(by.css('div[my-unique-id="abc123"]'));,但它给出了 NoSuchElementError。
如果我尝试使用 HTML 属性,例如,我想定位:
<a title="myTitle" href="">Click me</a>
我能够使用 element(by.css('a[title="myTitle"]')) 正确定位元素
如果元素没有任何标准的 HTML 属性,我如何定位具有自定义属性的元素?
【问题讨论】:
-
语法正确。您是否指令呈现为具有属性 my-unique-id="abc123" 的 div?使用开发人员工具检查在浏览器中呈现的元素并使用 $('your-css-selector') 对其进行测试。它应该在量角器中以相同的方式工作。
-
同意@AndresD,最可能的原因是你的指令用它自己的模板替换了它定义的当前元素。检查 devtools 中的元素以确保您拥有正确的 CSS 选择器。
标签: javascript html angularjs selenium protractor