現在、Seleniumベースのオートメーションフレームワークを使用してテスト自動化を行っています。私は現在、APIスイートを作成するためにHTTPリクエストを送信しています。HTTPイベントストリームからデータを抽出するJava
ただし、投稿が必要な次のURLはテキスト/イベントストリームの一部です。 抽出が必要なデータは、eventStream自体の中にあります。
a["{\"jsonrpc\":\"2.0\",\"id\":1,\"result\":{\"VirgoSessionToken\":\"8C7A0FAA-EA27-473A-BCC3-E568ABDBD403\",\"Localization\":{\"LocaleString\":\"en_UK\",\"LanguageTag\":\"en-UK\",\"DecimalSeparator\":\".\",\"ZeroDigit\":\"0\",\"ThousandsSeparator\":\",\",\"CurrencySymbolLocation\":\"PREFIX\"},\"Balance\":{\"Timestamp\":1493730819967,\"Banks\":{\"CREDIT\":{\"Amount\":83872,\"CurrencyCode\":\"GBP\",\"MinorCurrencyUnits\":2,\"CurrencySymbol\":\"GBP\"},\"WINNINGS\":{\"Amount\":0,\"CurrencyCode\":\"GBP\",\"MinorCurrencyUnits\":2,\"CurrencySymbol\":\"GBP\"}}},\"Preferences\":{\"Global\":{},\"Game\":{}},\"State\":{\"value\":\"{\\\"serverState\\\":{\\\"player\\\":{\\\"uniqueVirgoId\\\":\\\"f85551d0-2f36-11e7-9136-314c3f96f318\\\",\\\"playerBindingState\\\":{\\\"20\\\":0,\\\"40\\\":0,\\\"60\\\":0,\\\"80\\\":0,\\\"100\\\":0,\\\"200\\\":0,\\\"400\\\":0,\\\"600\\\":0,\\\"800\\\":0,\\\"1000\\\":0,\\\"2000\\\":0,\\\"4000\\\":0,\\\"6000\\\":0,\\\"8000\\\":0,\\\"10000\\\":0},\\\"populated\\\":true},\\\"game\\\":{\\\"currencyCode\\\":\\\"\\\"}},\\\"jackpotState\\\":{}}\"},\"ApiPhase\":\"Idle\"}}"]
Javaを使用して金額を抽出する必要があります。 コードの書式があまり良くない場合はお詫び申し上げます。
EventStreamsからデータを抽出する最良の方法はありますか?私のフレームワークが何をするかの例として
:
String webSocketUrl = insHostedUrl + responseTitle + "/xc_yx4r_" + "/eventsource";
assertTrue(httpCreateRequest("post", webSocketUrl);
assertTrue(httpSendRequest());
response = httpGetResponse();
リクエストに表示されているURLでこのポスト。しかし、これは私をeventStreamデータに変換しません。
と別の記事ですか? – freedev
実際のデータコードが質問に記載されています。プロジェクトのコード自体は、内部のオートメーションフレームワークとして公開されていません。私はフレームワークがそれほど進まないので、これを抽出できる汎用的なJavaメソッドがあるかどうかを確認するためにポストしていました。 – mvoase
私が見ているのは大きなJson文字列(内部に入れ子になったJson文字列)です。 – freedev