2016-08-02 7 views
0

をwebdriverio私はこのエラーにアサーションエラーと

AssertionError: expected { state: 'pending' } to equal 'Platform Configurator' 

を受け付けております私はnpm

を通じてchaimochaをインストールしていることは、テストを実行しますが、アサーション

var webdriverio = require('webdriverio'); 
var should = require('chai').should() 
var expect = require('chai').expect() 
var options = { 
    desiredCapabilities: { 
     browserName: 'chrome' 
    } 
}; 

before(function() { 
    browser=webdriverio.remote(options) 
    return browser.init() 

    }); 


describe('sauce labs page test', function() { 
    it('should assert page title', function(done) { 


      browser.url('https://docs.saucelabs.com/reference/platforms-configurator/?_ga=1.5883444.608313.1428365147#/'); 
      browser.getTitle().should.equal('Platform Configurator'); 
      done(); 
    }); 

}); 
を渡しません。

編集:

I fこれを使用して、setTimeoutを使用して、テストが完了する前に、またはページが読み込まれる前に渡されます。

var webdriverio = require('webdriverio'); 
var should = require('chai').should() 
var expect = require('chai').expect() 
var options = { 
    desiredCapabilities: { 
     browserName: 'chrome' 
    } 
}; 

before(function() { 
    browser=webdriverio.remote(options) 
    return browser.init() 

    }); 


describe('sauce labs page test', function() { 
    it('should assert page title', function() { 


      browser.url('https://docs.saucelabs.com/reference/platforms-configurator/?_ga=1.5883444.608313.1428365147#/'); 

    setTimeout(function() { 
      browser.getTitle().should.equal('Platform Configurator'); 


    }, 10000) 



    }); 

}); 
+0

動的または静的saucelabsのコンテンツですか?動的な場合は、コンテンツが伝播するどこかで一時停止が必要ですか? – zipzit

+0

@zipzit私は 'done()'がそうしていると思った。私は[this](http://stackoverflow.com/questions/27143740/a-simple-webdriverio-mocha-test-doesnt-display-browser) – user1207289

+0

を参考にしました。私は専門家ではありません。私はチャイも学んでいます。しかし、私は、どのようにコマンドがsaucelabのすべてのJSコードが動的データの伝播を完了したかを「知っている」ことを知りません。人工的に遅延を挿入し、結果が異なるかどうかを確認できるのは興味深いだけです。 – zipzit

答えて

1

の解決のgetTitle

browser.getTitle().then(function(title){ 
    title.should.equal('Platform Configurator'); 
} 
+0

これはうまくいっていますが、URLを完全にロードする前にテストに合格しています。しかしそれは別の問題かもしれません。本当にURLが読み込まれる前にタイトルを取得することができるかもしれません。さらにテストを追加して、ブラウザがそれらのテストを待つかどうかを確認する必要があります。 – user1207289

+0

私は他のテストを含め、ページが読み込まれる前にすべてのテストに合格したばかりです。私はこの時点でどのようにそれを修正するか分からない。 – user1207289

関連する問題