1

目标是通过利用其路径的配置来访问本地版本的 GhostDriver,Capabilities 允许我们设置: https ://github.com/detro/ghostdriver/blob/master/README.md#what-extra -webdriver-capabilities-ghostdriver-offers

当使用 Selenium webdriverjs 运行测试时,就像一个简单的例子:

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

var capabilities = webdriver.Capabilities.phantomjs();
capabilities.set('phantomjs.ghostdriver.path',
    '/Users/xyz/ghostdriver-master/src/main.js');

var driver = new webdriver.Builder().
    withCapabilities(capabilities).
    build();

driver.get('http://www.google.com');
driver.findElement(webdriver.By.name('q')).sendKeys('webdriver');
driver.findElement(webdriver.By.name('btnG')).click();
driver.wait(function() {
    return driver.getTitle().then(function(title) {
        console.log(title);
    });
}, 1000);

driver.quit();

我无法使用本地版本的 GhostDriver。它只是命中了 phantomjs 中的默认版本。

但是,如果我使用 WebdriverIO 使用相同的 Capability 定义:

var webdriverio = require('webdriverio');
var options = {
    desiredCapabilities: {
        'browserName': 'phantomjs',
        'phantomjs.ghostdriver.path':     '/Users/xyz/ghostdriver-master/src/main.js'
    },
    port: 4444
};
webdriverio
    .remote(options)
    .init()
    .url('http://www.google.com')
    .title(function(err, res) {
        console.log(res.value);
    })
    .end();

我可以使用本地版本的 GhostDriver。

在这里查看文档后: https ://github.com/detro/ghostdriver/blob/master/README.md#what-extra-webdriver-capabilities-ghostdriver-offers

和其他有类似问题的页面,我找不到任何有用的东西。

使用的版本:

  • selenium-server-standalone v2.51.0
  • selenium-webdriver v2.48.2
  • webdriverio v4.0.2
  • 幻影v2.1.1

有没有人知道如何让它工作?

4

0 回答 0