2016-11-07 14 views
1

私は貴様スタックのコンパイルを使用しよう:AssertionErrorが{状態: '保留中の'}

モカ - テストランナー

チャイ - アサーションライブラリ

webdriverio - ブラウザ制御バインディング

セレン - br抽象owser工場

PhantomJS実行している - 高速ヘッドレスブラウザ

ので、私はこの

java -jar selenium-server.jar 

のようなセレンサーバを起動して、私はここでは、この

mocha test.js -t 10000 

のように私のテストを起動します私です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(); 
    }); 
}); 

と私が得る結果は次のとおりです。

# 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) 

私が間違ってやっている何かの任意のアイデア?

+0

あなたのwdio設定ファイルに 'sync:true'がありますか? –

+0

これは解決しましたか? – Gobliins

答えて

-1

client.waitForValue( '#logoHeaderNav'、3000);を削除してみます。それが動作するかどうかを確認してください。

1

WebdriverIOコマンドはすべて約束を返します。これは、エラーメッセージに{ state: 'pending' }が含まれていることを示しています。

これを回避するには、チャイの「約束どおりの」プラグインを使用したいと思うでしょう。 The official site has a pageあなたのためにこの設定をする方法を詳述。

関連する問題