Mocha 无法 运行 与 Nightwatch
Mocha unable to run with Nightwatch
我 运行正在使用 nighwatch.js、selenium 和 chromedriver
宁摩卡
我可以运行用describe, 和它,但是我正在做一个动态测试,所以我需要使用下面的方式来调用,但是我无法得到mocha 运行和守夜人一起走这条路
"use strict";
var nightwatch = require('nightwatch');
var Mocha = require('mocha');
var Test = Mocha.Test;
var Suite = Mocha.Suite;
var mocha = new Mocha();
var suite = Suite.create(mocha.suite, 'Search Box');
suite.addTest(new Test('I\'m a dynamic test', function (done) {
var client = nightwatch.initClient({
silent : true
});
var browser = client.api();
browser.url(browser.launch_url);
client.start(done);
}));
mocha.run();
这是错误
正在启动 selenium 服务器...已启动 - PID:122624
0 passing (0ms)
Search Box
1) I'm a dynamic test
There was an error while starting the test runner:
Error: Uncaught, unspecified "error" event. ([object Object])
at Nightwatch.<anonymous> (E:\gitwork\AAPT-SPZA\src\frontEnd\node_modules\nightwatch\lib\runner\clientmanager.js:66:1
at HttpRequest.<anonymous> (E:\gitwork\AAPT-SPZA\src\frontEnd\node_modules\nightwatch\lib\index.js:501:10)
at ClientRequest.<anonymous> (E:\gitwork\AAPT-SPZA\src\frontEnd\node_modules\nightwatch\lib\http\request.js:174:12)
如何解决这个问题并获得 Mocha 运行 Nightwatch?
我使用类似于下面的格式在 Nightwatch.js 中使用 Mocha 实现动态测试。下面的示例不是真正的测试,所以不要尝试 运行 它,但它应该让您很好地了解如何去做。测试结果都显示为具有不同断言的不同测试。除了将 mocha 设置为测试 运行ner.
之外,conf 文件应该看起来像正常情况一样
const async = require('async');
const languages = [{
name: 'english',
currency: '$'
}, {
name: 'german',
currency: '€'
}];
describe('An example test', () => {
async.each(languages, function (language) {
it(`When I click the ${language.name} link my page should be in ${language.name}`, (browser) => {
browser.url('http://www.google.com');
homePage.click(`@${language.name}Link`);
homePage.expect.element('#sub-title').text.to.equal(`Your language is ${language.name}`);
});
});
})
注意:使用异步库之类的东西对 运行 异步循环非常重要,nightwatch 不会 运行 每个异步的正常对你来说,它会导致很多错误。
我 运行正在使用 nighwatch.js、selenium 和 chromedriver
宁摩卡我可以运行用describe, 和它,但是我正在做一个动态测试,所以我需要使用下面的方式来调用,但是我无法得到mocha 运行和守夜人一起走这条路
"use strict";
var nightwatch = require('nightwatch');
var Mocha = require('mocha');
var Test = Mocha.Test;
var Suite = Mocha.Suite;
var mocha = new Mocha();
var suite = Suite.create(mocha.suite, 'Search Box');
suite.addTest(new Test('I\'m a dynamic test', function (done) {
var client = nightwatch.initClient({
silent : true
});
var browser = client.api();
browser.url(browser.launch_url);
client.start(done);
}));
mocha.run();
这是错误 正在启动 selenium 服务器...已启动 - PID:122624
0 passing (0ms)
Search Box
1) I'm a dynamic test
There was an error while starting the test runner:
Error: Uncaught, unspecified "error" event. ([object Object])
at Nightwatch.<anonymous> (E:\gitwork\AAPT-SPZA\src\frontEnd\node_modules\nightwatch\lib\runner\clientmanager.js:66:1
at HttpRequest.<anonymous> (E:\gitwork\AAPT-SPZA\src\frontEnd\node_modules\nightwatch\lib\index.js:501:10)
at ClientRequest.<anonymous> (E:\gitwork\AAPT-SPZA\src\frontEnd\node_modules\nightwatch\lib\http\request.js:174:12)
如何解决这个问题并获得 Mocha 运行 Nightwatch?
我使用类似于下面的格式在 Nightwatch.js 中使用 Mocha 实现动态测试。下面的示例不是真正的测试,所以不要尝试 运行 它,但它应该让您很好地了解如何去做。测试结果都显示为具有不同断言的不同测试。除了将 mocha 设置为测试 运行ner.
之外,conf 文件应该看起来像正常情况一样const async = require('async');
const languages = [{
name: 'english',
currency: '$'
}, {
name: 'german',
currency: '€'
}];
describe('An example test', () => {
async.each(languages, function (language) {
it(`When I click the ${language.name} link my page should be in ${language.name}`, (browser) => {
browser.url('http://www.google.com');
homePage.click(`@${language.name}Link`);
homePage.expect.element('#sub-title').text.to.equal(`Your language is ${language.name}`);
});
});
})
注意:使用异步库之类的东西对 运行 异步循环非常重要,nightwatch 不会 运行 每个异步的正常对你来说,它会导致很多错误。