2016-09-01 10 views
0

webdriverioとmochaを使って自動テストを行っています。自動化されたテストの実行中にブラウザウィンドウが閉じられると、テストを続行するのではなく、プロセスを終了します。ブラウザを閉じるのを検出する方法はありますか?セレンログの情報が表示されますが、実際のノードスクリプトでこれを検出する方法はわかりません。セレンサーバログのエラーは次のとおりです。Webdriverio - 閉じているブラウザウィンドウを検出する方法

12:33:17.122 WARN - 例外がスローされました org.openqa.selenium.NoSuchWindowException:ウィンドウが見つかりません。ブラウザウィンドウが閉じられている可能性があります。

答えて

1

client.sessions()を使用すると、セッションがまだ存在するかどうかを確認できます。あなたはそれ以外の場合は、上のベースのコード内の適切な場所で、この

state: 'success', 
    sessionId: null, 
    hCode: 381733075, 
    value: 

    [ { capabilities: [Object], 
     id: '8ec2e2e8-6833-4105-8b84-1a6ce74a29ff', 
     hCode: 1337873045, 
     class: 'org.openqa.selenium.remote.server.handler.GetAllSessions$SessionInfo' } ], 
    class: 'org.openqa.selenium.remote.Response', 
    status: 0 } 

のようなものを返しますセッションが存在しない場合は上記

{ state: 'success', 
    sessionId: null, 
    hCode: 1944289324, 
    value: [], 
    class: 'org.openqa.selenium.remote.Response', 
    status: 0 } 

を返します。この

describe('check if session still exist', function() { 

    it('should check if session still exist', function() { 
    return browser.sessions().then(function(sessionid){ 
    var id1 = sessionid 
    console.log(id1); 
     }); 
    }); 
}); 

を使用することができますvaluejsonオブジェクトより上では、プロセスを終了することができます。

関連する問題