目标是通过利用其路径的配置来访问本地版本的 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。
和其他有类似问题的页面,我找不到任何有用的东西。
使用的版本:
- selenium-server-standalone v2.51.0
- selenium-webdriver v2.48.2
- webdriverio v4.0.2
- 幻影v2.1.1
有没有人知道如何让它工作?