摩卡无法与Nightwatch一起运行

我正在用nighwatch.js,selenium和chromedriver运行摩卡

我可以运行与描述,但它,但我正在做一个dynamictesting,所以我需要使用下面的方式来调用,但我不能让摩卡这样的运行方式与守夜

"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\'ma 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.js中的dynamictesting。 下面的例子不是一个真正的testing,所以不要试图运行它,但它应该给你一个好主意,如何去做。 testing结果都显示为具有不同断言的不同testing。 除了将mocha设置为testing运行者之外,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}`); }); }); }) 

注意:使用asynchronous库之类的东西来运行asynchronous循环是非常重要的,夜视将不会为你asynchronous地运行一个正常的asynchronous循环,而且会导致很多错误。