2017-09-22 6 views
1

私は流星のアプリを持っていて、webdriver.ioのヘッドレスブラウザ経由でクライアントからユニットテスト内のデータを取得したいと考えています。webdriverio browser.executeはnullを返します

私が欲しいデータは、この関数からです:

Session.get() - >http://meteortips.com/first-meteor-tutorial/sessions/

私が使用してヘッドレスブラウザがURLの下からです:

http://webdriver.io/

私のテストは、次のようになります。

describe('[Check Boards]',() => { 
    it('should exist',() => { 
    const board = browser.execute('Session.get(\'currentBoard\')'); 
    ... 
    } 
} 

私はこのコマンドをSession.get('currentBoard')実際のブラウザのコンソールの中で実行すると、期待通りにボードを取得します。

しかし、モカテスト内部上述のように、私はコードからそれを実行したとき、私はこの結果を得る:

{ 
    "state": "success", 
    "sessionId": "12345", 
    "hCode": 12345, 
    "value": null, 
    "class": "org.openqa.selenium.remote.Response", 
    "_status": 0 
} 

値はnullですが、ボードがあるはずです。

+0

このコードでは、問題を理解して助けてくれるだけでは不十分です。 「理事会」とは何ですか?どこで/いつ初期化されますか?あなたのサンプルコードが実行されているとき? – Styx

+0

こんにちは私は少しコードを変更し、いくつかの不足している部分を補完しようとしました – Gobliins

答えて

0

browser.executeは、ブラウザで実行する機能が必要です。あなたは文字列を渡しているので、おそらく何をすべきか分からないでしょう。ここでは動作するはずです更新されたコードスニペットです:あなたはより多くの詳細を探しているなら

describe('[Check Boards]',() => { 
    it('should exist',() => { 
    const board = browser.execute(function() { 
     return Session.get('currentBoard'); 
    }); 
    ... 
    } 
} 

、私は(リスト内の#23)my WebdriverIO coursebrowser.executeで8分間のビデオを持っています。

関連する問題