【发布时间】:2015-06-29 08:48:38
【问题描述】:
我有一个分页列表,基本上是这样构造的(我使用的是 AngularJS):
<span id="latestResultsIndicator">
<ul>
<li ng-click="Item.action()"><span>1</span></li>
<li ng-click="Item.action()"><span>2</span></li>
</ul>
</span>
这在 HTML 中效果很好,但是当我尝试使用 Selenium WebDriver 和 Fluent API 编写集成测试时遇到了问题。
具体来说,我想点击第二个li,为此我使用以下代码
I.Assert.Exists("#latestResultsIndicator");
var secondPageElement = I.Find("#latestResultsIndicator ul li:nth-child(2)");
I.Click(secondPageElement);
这实际上不起作用!如果我在 Chrome 控制台中使用 jQuery 执行 $("#latestResultsIndicator ul li:nth-child(2)").trigger("click") 则选择第二页,所以我知道选择器是正确的。
为了进一步测试,我添加了如下双击:
I.DoubleClick(secondPageElement);
我在这里注意到的是第一个 li 被选中。就好像它试图单击或选择错误的一样! (见图)。
发生了什么?
【问题讨论】:
标签: angularjs selenium selenium-webdriver integration-testing