2016-11-07 4 views
1

Ich versuche, eine Zusammenstellung von differents Stacks zu verwenden:AssertionError {Zustand: 'anhängig'}

Mokka - Testläufer

Chai - Behauptung Bibliothek

webdriverio - Browser Kontrollbindungen

Selen - br owser Abstraktion und Laufwerks

PhantomJS - schnell kopflos Browser

so starte ich ein Selen-Server wie dieser

java -jar selenium-server.jar 

und ich meinen Test starten wie diese

mocha test.js -t 10000 

Hier ist mein test.js

var webdriverio = require('webdriverio'); 
var options = { desiredCapabilities: { browserName: 'phantomjs' } }; 
var client = webdriverio.remote(options); 


describe('Test example.com', function(){ 
    before(function(done) { 
     client.init().url('/* my website */'); 
     done(); 
     //client.pause(5000); 
     var chai = require('chai'); 
     global.expect = chai.expect; 
     chai.Should(); 

    }); 


    describe('Check homepage', function(){ 
     it('should wait 3 secondes', function() { 
      client.pause(3000); 
     }); 

     it('should see the correct title', function() { 
      client.waitForValue('#logoHeaderNav', 3000); 
      client.url('/* my website */'); 
      client.getTitle().should.be.equal('/*my title*/'); 

     }); 
    }); 

    after(function(done) { 
    client.end(); 
    done(); 
    }); 
}); 

und das Ergebnis i erhalten ist:

# mocha test.js -t 10000 


    Test example.com 
    Check homepage 
     ✓ should wait 3 secondes 
     1) should see the correct title 


    1 passing (108ms) 
    1 failing 

    1) Test example.com Check homepage should see the correct title: 
    AssertionError: expected { state: 'pending' } to equal '/*my title */' 
     at Context.<anonymous> (test.js:90:35) 

irgendwelche Ideen von etwas, was ich falsch gemacht habe ??

+0

Haben Sie in Ihrer wdio-Konfigurationsdatei "sync: true"? –

+0

wurde das gelöst? – Gobliins

Antwort

-1

Versuchen Sie, client.waitForValue ('# logoHeaderNav', 3000) zu entfernen; Aussage und sehen, ob es funktioniert.

1

WebdriverIO Befehle alle Rückgabeversprechen, was die { state: 'pending' } in Ihrer Fehlermeldung ist.

Um dies zu umgehen, verwenden Sie Chais "as-projected" -Plugin. The official site has a page Detaillierung, wie Sie dies für Sie eingerichtet bekommen.

Verwandte Themen