【发布时间】:2016-07-13 18:26:39
【问题描述】:
我正在尝试使用 Selenium、WebDriver.io 和 Node.js(使用 Mocha)测试一个简单的表单。所以我有这样的事情:
var webdriverio = require('webdriverio');
var expect = require('expect');
describe('Test form', function(){
beforeEach(function() {
browser.url('/');
});
it('should save object', function() {
expect(browser.executeScript('return window.data;')).to.be([]);
});
afterEach(function() {
if (this.currentTest.state !== "passed") {
browser.saveScreenshot();
}
});
});
我的wdio.conf.js:
var selenium = require('selenium-standalone');
var seleniumServer;
exports.config = {
host: '127.0.0.1',
port: 4444,
specs: [
'test/*.spec.js'
],
capabilities: [{
browserName: 'chrome'
}],
baseUrl: 'http://localhost:8080',
framework: 'mocha',
mochaOpts: {
ui: 'bdd'
},
onPrepare: function() {
return new Promise((resolve, reject) => {
selenium.start((err, process) => {
if(err) {
return reject(err);
}
seleniumServer = process;
resolve(process);
})
});
},
onComplete: function() {
seleniumServer.kill();
}
};
但在控制台中我有:browser.executeScript is not a function。使用这些工具在浏览器上下文中执行脚本的正确方法是什么?
【问题讨论】:
标签: javascript node.js selenium selenium-webdriver webdriver-io