ale*_*cxe 29 testing warnings end-to-end angularjs protractor
在我的一个测试中,我使用以下命令查找元素CSS selector:
element(by.css("ul.nav button"))
Run Code Online (Sandbox Code Playgroud)
有多个匹配查询的元素,但是,因为我只需要第一个元素,所以我对选择器没问题.
问题是,protractor发出警告:
警告 - 找到定位器By.cssSelector("ul.nav button")的多个元素 - 将使用第一个结果
有可能抑制警告吗?换句话说,我怎么能protractor知道我已经意识到这个问题并且不想再显示警告了?
使用protractor开发版本(直接从master分支安装).
Isa*_*man 58
试试这个:
element.all(by.css("ul.nav button")).first()
Run Code Online (Sandbox Code Playgroud)
基本上,这告诉量角器您已经知道有多个元素,而您只想要第一个元素(就像您在问题中所说的那样).
小智 7
警告是有原因的.您已将测试与数据紧密联系在一起.选择器过于笼统,你应该更具体.通过element(by.css("ul.nav button:nth-child(1)"))不同地说或搜索您的搜索.量角器测试不应该是测试风格或dom,它们应该是测试业务逻辑.