【发布时间】:2017-06-10 04:13:43
【问题描述】:
我有一堆针对 Web 应用程序的 e2e 的量角器测试。有很多输入框,其中大部分都有ng-reflect-name属性,这是由于底层Angular4代码生成的。这是一个示例 HTML sn-p
<input _ngcontent-c6="" class="input ng-untouched ng-pristine ng-invalid ui-inputtext
ui-corner-all ui-state-default ui-widget" formcontrolname="email" pinputtext=""
placeholder="Enter Email Address" spellcheck="false" type="text" ng-reflect-name="email">
我的问题是关于在此使用定位器。如果我将此代码用于此特定输入框 -
element(by.css('[formcontrolname='email']'))
并执行任何sendKeys()操作,它完全可以正常工作。
但是,如果我使用这个定位器
element(by.css('[ng-reflect-name="email"]'))
我的测试第一次成功运行,但在后续运行中给出NoSuchElementException 时出错。我已经搜索了 SO 和 Angular 文档,但我似乎无法解释为什么会发生这种情况。如果有人以前遇到过这个问题,你能解释一下这里发生了什么吗?
【问题讨论】:
标签: angular protractor e2e-testing