2017-08-02 7 views

答えて

0

このログをどこで実行しますか?カスタムプロキシでこれを記録しようとすると、これらのログはハブを実行しているマシンでのみ使用可能になります。それはあなたが欲しいものですか?その実体を読むことによってjavax.servlet.http.HttpServletRequest内からこの情報を抽出し、(この方法は、あなたが構築しているあなたのDefaultRemoteProxy拡張オブジェクトで利用可能であるべき)org.openqa.grid.internal.listeners.CommandListener#afterCommandのオーバーロードされたバリアントの中で

:はいあれば、ここにあなたがそれをやるべき方法ですそれを適切なペイロードに変換します。それはあなたが望むものではない場合、あなたはEventFiringWebDriverを活用されているはずです

org.openqa.grid.web.servlet.handler.SeleniumBasedResponse ar = new org.openqa.grid.web.servlet.handler.SeleniumBasedResponse(response); 
if (ar.getForwardedContent() != null) { 
    System.err.println("Content" + ar.getForwardedContent()); 
} 

:ここ

org.openqa.grid.selenium.proxy.DefaultRemoteProxyのカスタマイズバージョンからafterCommand()(または)beforeCommand()方法は次のように見ることができる方法です。 EventFiringWebDriverの操作方法については、下記のブログをご覧ください。 EventFiringWebDriverはグリッド側でカスタマイズする必要はなく、既存のRemoteWebDriverオブジェクトをラップするEventFiringWebDriverを使用するだけで済みます。このオブジェクトに入れたリスナーでは、これを取得するのに役立ちます。

+0

カスタムプロキシでやりたいです。 私は(コマンドの種類:click、url ..)のリクエストに問題はありませんが、そのコマンドの応答を得ることができません。たとえば、getTitleコマンドの "title"にアクセスしたいとします。 –

+0

@ElheniMokhles - 私はこれを行う方法のコードスニペットを表示するために私の答えを更新しました。 –

+0

getForwardedContent()(beforeCommandとafteCommandの両方)を実行すると、常にnullが返されます。 –

関連する問題