我有一个产生以下 html 结构的指令:
<div class="popover ng-isolate-scope" ng-mouseover="toggle(true)" ng-mouseleave="toggle(false)" popover="" label="hover time!" trigger-class="button" content-class="specialContentClass">
<span id="thing" class="popover-trigger button">hover time!</span>
<div ng-transclude="" ng-show="show" class="popover-content ng-hide">
<div class="ng-scope">Popover content </div>
</div>
</div>
代码工作正常,当您使用浏览器手动悬停鼠标时,弹出内容正确显示。
我正在尝试使用以下量角器测试来测试鼠标悬停功能:
it('should display the popover-content on mouseover', function() {
browser.get('http://localhost:9000/');
browser.actions()
.mouseMove(element(by.css('.popover')).find()).perform();
expect(element(by.css('.popover-content'))
.isDisplayed().toBeTruthy());
});
测试似乎正在运行,浏览器打开,但在浏览器关闭之前我没有看到弹出内容显示,所以我很确定 mousemove 位由于某种原因不起作用。然后在终端中输出以下内容:
launcher] 0 instance(s) of WebDriver still running
[launcher] chrome #1 failed 1 test(s)
[launcher] overall: 1 failed spec(s)
[launcher] Process exited with error code 1
ycompu:angular ycompu$
我已经阅读了文档并且使用浏览器绝对是进行此测试的正确方法。我不知所措,因为语法对我来说是正确的。