2

我们正在使用 Selenium WebDriver 和 PhantomJS 对我们的单页应用程序运行黄瓜测试。我们最近实现了一个 appcache 清单,现在我们的 cukes 失败了。在我们的故障排除中,它似乎失败了,因为 phantomjs 不支持缓存清单。在查看 phantomjsdriver.log 时,我们发现协商的功能包含:

"applicationCacheEnabled":false

然后,我们尝试设置所需的功能以启用它:

var webdriver = require('selenium-webdriver');

var hooks = function() {
  this.Before(function(callback) {
    var pBrowser = webdriver.Capabilities.phantomjs();
    pBrowser.set('applicationCacheEnabled', true);
    this.driver = new webdriver.Builder().withCapabilities(pBrowser).build();
  });

日志文件中期望的与协商的功能表明它正在尝试设置但没有成功(并且我们的 cukes 仍然失败)。

SessionManagerReqHand - _postNewSessionCommand - New Session Created: c6f61520-b603-11e3-83b0-2b905be08819
GhostDriver - Main - running on port 63911
CONSTRUCTOR - Desired Capabilities: {"browserName":"phantomjs","applicationCacheEnabled":true}
CONSTRUCTOR - Negotiated Capabilities: {"browserName":"phantomjs","version":"1.9.1","driverName":"ghostdriver","driverVersion":"1.0.3","platform":"mac-unknown-32bit","javascriptEnabled":true,"takesScreenshot":true,"handlesAlerts":false,"databaseEnabled":false,"locationContextEnabled":false,"applicationCacheEnabled":false,"browserConnectionEnabled":false,"cssSelectorsEnabled":true,"webStorageEnabled":false,"rotatable":false,"acceptSslCerts":false,"nativeEvents":true,"proxy":{"proxyType":"direct"}}

有谁知道我们的方案是否不受支持,或者我们是否以错误的方式实施它?

4

1 回答 1

0

根据http://bit.ly/1mrRvaV源代码的第 47 行,GhostDriver 不支持所需功能与协商功能的特性。

于 2014-03-31T22:56:14.820 回答