2017-02-01 24 views
0

Почти каждый пример, который я нашел в Интернете, не очень хорошо объяснил, как мокко должно быть реализовано и использоваться с nightwatchJS.Не удалось запустить тесты nightwatch.js с моккою «Убедитесь, что обратный вызов done() называется«

Что бы я сделать я не могу избежать этого сообщение об ошибке, даже если я следовать все шаги от official nightwatch how-to use mocha Единственное, что я был в состоянии сделать это, по крайней мере, сделать Google Chrome браузер открытым и это так.

Вот код, который я пытаюсь запустить

var nightwatch = require('nightwatch'); 
 

 
describe('Google', function() { 
 

 
    var client = nightwatch.initClient({ 
 
     // Pass here options from nightwatch.json 
 

 
     // selenium logs; change it to true if you want to see them in console 
 
     silent : false, 
 

 
     desiredCapabilities: { 
 
      browserName: "chrome", 
 
      javascriptEnabled: true, 
 
      acceptSslCerts: true 
 
     } 
 
    }); 
 

 
    var browser = client.api(); 
 

 
    // Mocha timeout 
 
    this.timeout(15000); 
 

 
    it('Demo test Google', function (done) { 
 
     browser 
 
      .url('http://www.google.com') 
 
      .waitForElementVisible('body', 1000) 
 
      .setValue('input[type=text]', 'nightwatch') 
 
      .waitForElementVisible('button[name=btnG]', 1000) 
 
      .click('button[name=btnG]') 
 
      .pause(1000) 
 
      .assert.containsText('#main', 'Night Watch') 
 
      .end(); 
 

 

 
     client.start(done); 
 
    }); 
 
});

И это сообщение об ошибке, что всегда случается со мной после того, как браузер всплывал:

INFO Request: POST /wd/hub/session 
 
- data: {"desiredCapabilities":{"browserName":"firefox","javascriptEnabled":true,"acceptSslCerts":true,"platform":"ANY"}} 
 
- headers: {"Content-Type":"application/json; charset=utf-8","Content-Length":113} 
 
    1) Demo test Google 
 

 

 
    0 passing (15s) 
 
    1 failing 
 

 
    1) Google Demo test Google: 
 
    Error: timeout of 15000ms exceeded. Ensure the done() callback is being called in this test.

ответ

0

Попробуйте использовать обратный вызов done() в конце цепочки. Я не совсем готов к скорости с client.start(), но я уверен, что вы хотите сообщить, что тест выполняется, когда цепочка достигла своего конца.

var nightwatch = require('nightwatch'); 
 

 
describe('Google', function() { 
 

 
    var client = nightwatch.initClient({ 
 
     // Pass here options from nightwatch.json 
 

 
     // selenium logs; change it to true if you want to see them in console 
 
     silent : false, 
 

 
     desiredCapabilities: { 
 
      browserName: "chrome", 
 
      javascriptEnabled: true, 
 
      acceptSslCerts: true 
 
     } 
 
    }); 
 

 
    var browser = client.api(); 
 

 
    // Mocha timeout 
 
    this.timeout(15000); 
 

 
    it('Demo test Google', function (done) { 
 
     browser 
 
      .url('http://www.google.com') 
 
      .waitForElementVisible('body', 1000) 
 
      .setValue('input[type=text]', 'nightwatch') 
 
      .waitForElementVisible('button[name=btnG]', 1000) 
 
      .click('button[name=btnG]') 
 
      .pause(1000) 
 
      .assert.containsText('#main', 'Night Watch') 
 
      .end(done); 
 

 

 
     client.start(); 
 
    }); 
 
});

+0

Ее не будет работать так же. – timetraveler90

 Смежные вопросы

  • Нет связанных вопросов^_^