selenium-webdriver空闲,直到移动鼠标

时间:2016-03-14 23:41:58

标签: javascript angularjs selenium

我正在使用Selenium / Protractor / Jasmine为使用Angular编写的Web应用程序编写测试自动化。我正在VirtualBox中运行测试(主机操作系统:Windows 8,来宾操作系统:Ubuntu 15.04)。到目前为止,测试非常基础(onPrepare函数登录并等待加载应用程序,第一个测试检查加载的页面是否具有正确的标题。

该应用程序已成功加载并登录。问题是,一旦发生这种情况,测试将不会继续,直到鼠标移动,并且仅在鼠标位于浏览器窗口的内容区域时。

1)如果我根本不移动鼠标,我最终会收到错误:“错误:超时 - 在jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超时时间内未调用异步回调。”

2)如果我将鼠标移到其他窗口或浏览器窗口的非内容区域(窗口边框,地址栏等)上,我会得到相同的行为。

3)只要我将鼠标移到浏览器窗口的内容区域上,测试就会立即进行。

我已将测试代码提供给在Mac上运行它的同事,但他没有遇到此问题。这对我来说意味着它是在VirtualBox内部运行引起的问题,但我并非100%确定是这种情况。

我已尝试搜索Google和其他stackoverflow帖子,看看我是否能找到其他此类行为的报告,但一无所获。我也试过改变茉莉和量角器中的默认超时:
jasmine.DEFAULT_TIMEOUT_INTERVAL = 250000
allScriptsTimeout:300000
getPageTimeout:300000
,但这没有效果。

由于这是我在stackoverflow上提出的第一个问题,如果有更多关于此类问题的信息,请告诉我,我会添加它。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,没有找到原因或确定的解决方案。我提出了一个解决方案,在单击操作后移动鼠标。

browser.actions().mouseMove({x: 50, y: 0}).perform ();

此后测试正常。