JP2014149767A - 試験装置及び試験方法 - Google Patents
試験装置及び試験方法 Download PDFInfo
- Publication number
- JP2014149767A JP2014149767A JP2013019271A JP2013019271A JP2014149767A JP 2014149767 A JP2014149767 A JP 2014149767A JP 2013019271 A JP2013019271 A JP 2013019271A JP 2013019271 A JP2013019271 A JP 2013019271A JP 2014149767 A JP2014149767 A JP 2014149767A
- Authority
- JP
- Japan
- Prior art keywords
- web browser
- web
- server
- data relay
- relay unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
【課題】ウェブブラウザからのHTTPリクエストに対するHTTPレスポンスをウェブブラウザに送信してウェブブラウザに表示させる試験装置を得ること。
【解決手段】試験環境の端末上で動作するウェブブラウザ及び試験対象装置上で動作するウェブサーバとTCPコネクションを確立して接続する試験装置であって、ウェブブラウザから送信されるHTTPリクエストからウェブブラウザの情報を示すパラメータを取得し、実環境から収集したHTTPリクエスト内のパラメータを変更してウェブサーバに送信することにより、ウェブサーバからウェブブラウザに対応したHTTPレスポンスを受信し、当該HTTPレスポンスをウェブブラウザに送信するデータ中継部を備えた。
【選択図】 図1
【解決手段】試験環境の端末上で動作するウェブブラウザ及び試験対象装置上で動作するウェブサーバとTCPコネクションを確立して接続する試験装置であって、ウェブブラウザから送信されるHTTPリクエストからウェブブラウザの情報を示すパラメータを取得し、実環境から収集したHTTPリクエスト内のパラメータを変更してウェブサーバに送信することにより、ウェブサーバからウェブブラウザに対応したHTTPレスポンスを受信し、当該HTTPレスポンスをウェブブラウザに送信するデータ中継部を備えた。
【選択図】 図1
Description
実環境と同様な試験環境を構築して試験対象装置の動作を検証する試験装置に関する。
試験対象装置の動作検証は、試験用に生成したデータを利用して行われている(例えば、特許文献1)。
特許文献1では、試験用のデータを試験対象のウェブサーバに送信することにより、アクセス負荷の試験を行う技術が公開されている。試験用のデータを作成するウェブ負荷試験装置は、ウェブブラウザをウェブ負荷試験装置内に保持し、ウェブサーバと接続することにより試験用のデータとなるHTTPリクエストを生成する。試験時には、ウェブ負荷試験装置がHTTPリクエストをウェブサーバに送信し、HTTPレスポンスを受信する。
特許文献1では、試験用のデータを試験対象のウェブサーバに送信することにより、アクセス負荷の試験を行う技術が公開されている。試験用のデータを作成するウェブ負荷試験装置は、ウェブブラウザをウェブ負荷試験装置内に保持し、ウェブサーバと接続することにより試験用のデータとなるHTTPリクエストを生成する。試験時には、ウェブ負荷試験装置がHTTPリクエストをウェブサーバに送信し、HTTPレスポンスを受信する。
しかしながら、特許文献1では、ウェブサーバから送信されたHTTPレスポンスをウェブブラウザが受信したときに正常に動作するかを検証することについては記載されていない。したがって、従来技術では、ウェブサーバから送信されたHTTPレスポンスが正常なものかどうかを検証することができないという問題点があった。
本発明は上記のような問題点を解決するためになされたもので、ウェブブラウザからのHTTPリクエストに対するHTTPレスポンスをウェブブラウザに送信してウェブブラウザに表示させる試験装置を得ることを目的としている。
試験環境の端末上で動作するウェブブラウザ及び試験対象装置上で動作するウェブサーバとTCPコネクションを確立して接続する試験装置であって、ウェブブラウザから送信されるHTTPリクエストからウェブブラウザの情報を示すパラメータを取得し、実環境から収集したHTTPリクエスト内のパラメータを変更してウェブサーバに送信することにより、ウェブサーバからウェブブラウザに対応したHTTPレスポンスを受信し、当該HTTPレスポンスをウェブブラウザに送信するデータ中継部を備えた。
本発明によれば、ウェブブラウザからウェブサーバに送信したHTTPリクエストに対するHTTPレスポンスをウェブブラウザが受信したときに正常に動作するかを検証することができる。
実施の形態1.
図1は、実施の形態1に係る試験装置13を含むシステムの構成例を示す図である。図1は、実環境1と試験環境11から構成される。実環境1は端末2、スイッチ3及びサーバ装置4から構成される。端末2では、ウェブブラウザ5が動作している。スイッチ3は、端末2とサーバ装置4との間で送受信されるネットワークデータを宛先によって振り分けているとともに、ネットワークデータを試験環境11へ送信する。サーバ装置4では、ウェブサーバ6が動作している。
図1は、実施の形態1に係る試験装置13を含むシステムの構成例を示す図である。図1は、実環境1と試験環境11から構成される。実環境1は端末2、スイッチ3及びサーバ装置4から構成される。端末2では、ウェブブラウザ5が動作している。スイッチ3は、端末2とサーバ装置4との間で送受信されるネットワークデータを宛先によって振り分けているとともに、ネットワークデータを試験環境11へ送信する。サーバ装置4では、ウェブサーバ6が動作している。
ウェブサーバ5とウェブブラウザ6との通信にはHTTP(HyperText Transfer Protocol)が用いられている。ウェブブラウザ5からウェブサーバ6への要求メッセージがHTTPリクエストである。HTTPリクエストに対する応答メッセージがHTTPレスポンスである。ウェブサーバ6はHTTPリクエストに従って処理を行い、その結果をHTTPレスポンスとしてウェブブラウザ5に通知する。HTTPレスポンスには、HTTPリクエストの内容に応じてドキュメントや画像等のコンテンツの情報が付加される場合がある。
試験環境11は、端末12、試験装置13、試験対象装置14から構成される。端末12では、ウェブブラウザ15が動作している。試験対象装置14では、ウェブサーバ16が動作している。試験装置13は、データ収集部17、データ解析部18、データ中継部19、及びブラウザ制御部20から構成される。試験装置13はスイッチ3から実環境1のネットワークデータを収集し、収集したネットワークデータを利用してウェブサーバ16の動作を検証するための試験を行う。
データ収集部17は、実環境1からネットワークデータを収集し、ファイルに保存する。データ収集部17は、実環境1のスイッチ3のミラーポートからネットワークを流れるネットワークデータを、プロミスカスモードによって収集し、ファイルに保存する。スイッチ3には、あるポートが送受信するネットワークデータのコピーを、同時に別のポートから送出する機能があり、コピーを送出するポートをミラーポートと呼ぶ。また、プロミスカスモードとは、ネットワークを流れるすべてのネットワークデータを受信するモードである。
なお、データ収集部17は、試験装置13とは別の装置としてもよい。データ収集部17は、ネットワークデータを収集した後にネットワークデータをファイルに保存するようにすればよい。
データ解析部18は、ネットワークデータが保存されたファイルを読込む。データ解析部18は、ネットワークデータからウェブサーバ5へのHTTPリクエストを抽出し、データ中継部19に通知する。データ解析部18は、ネットワークデータのうち宛先IPアドレスが試験対象装置14のIPアドレスに一致し、さらに宛先ポート番号がウェブブラウザ5とウェブサーバ6との通信に使われているポート番号に一致するネットワークデータを抽出する。データ解析部18及びデータ中継部19は、あらかじめ実環境ネットワーク1の端末2及びサーバ装置4のIPアドレスを保持しているものとする。
データ中継部19は、端末12側及び試験対象装置14側の2つのIPアドレスを保持している。データ中継部19の端末12側のIPアドレスをA1する。データ中継部19の試験対象装置14側のIPアドレスをA2とする。端末12のIPアドレスをA3とする。試験対象装置14のIPアドレスをA4とする。これらのIPアドレスを含めて試験に必要な値は試験設定ファイルに記述され、あらかじめデータ解析部18及びデータ中継部19に入力される。
データ中継部19は、端末12のウェブブラウザ15を起動するようにブラウザ制御部20に通知する。ブラウザ制御部20は、ウェブブラウザ15を起動するように端末12に通知する。端末12はウェブブラウザ15を起動し、HTTPリクエストをデータ中継部19に送信する。データ中継部19は、ウェブブラウザ15からのHTTPリクエストを、ネットワークデータから抽出したサーバ装置4へのHTTPリクエストに置き換え、試験対象装置14のウェブサーバ16に送信する。
ウェブサーバ16は、HTTPリクエストの内容に応じた処理を行い、HTTPレスポンスをデータ中継部19に送信する。データ中継部19は、HTTPレスポンスをウェブブラウザ15に送信し、ウェブブラウザ15はHTTPレスポンスを受信する。試験者は、ウェブブラウザ15に表示される内容を確認することにより、ウェブサーバ16から正常なHTTPレスポンスが送信されたか検証する。
HTTPレスポンスには、リダイレクト先URL(Uniform Resource Locator)が含まれている場合がある。リダイレクトとは、HTTPリクエストで指定したURLの転送先のURLを示す機能である。データ中継部19は、HTTPレスポンスにリダイレクト先URLが含まれていた場合、その情報をリダイレクトフラグ及びリダイレクト先URL保存バッファに保存する。リダイレクトフラグは、HTTPレスポンスにリダイレクト先URLが含まれていたかどうかを示すためのフラグである。リダイレクト先URL保存バッファは、リダイレクト先URLの値を保存するバッファである。
次に、HTTPリクエストとHTTPレスポンスのメッセージ構造を示す。
図2は、実施の形態1に係るHTTPリクエスト21を示す図である。HTTPリクエスト21は、リクエストライン22、ヘッダ23及びメッセージボディ24から構成される。リクエストライン22には、メソッド、URI(Uniform Resource Indicator)、プロトコルが順に記述される。
図2は、実施の形態1に係るHTTPリクエスト21を示す図である。HTTPリクエスト21は、リクエストライン22、ヘッダ23及びメッセージボディ24から構成される。リクエストライン22には、メソッド、URI(Uniform Resource Indicator)、プロトコルが順に記述される。
メソッドには、ウェブサーバに対してどのような処理を要求するかを指定する。HTTPリクエスト21では、メソッドは「GET」である。「GET」は、ウェブサーバ16上のファイルを要求するメソッドである。URIには、目的のコンテンツの場所を指定する。HTTPリクエスト21では、「http://www.aaa.com」である。なお、URLはURIの一種である。プロトコルには、通信に利用するプロトコルとそのバージョンを指定する。HTTPリクエスト21では、「HTTP/1.1」である。
ヘッダ23には、制御情報が記述される。User−Agentは、送信元のウェブブラウザやOS(Operating System)の種類やバージョン等の情報を通知するパラメータである。メッセージボディ24には、ウェブサーバに対して送信するドキュメント等がある場合のみ記述される。なお、HTTPリクエスト21は、HTTPリクエストの一例である。
図3は、実施の形態1に係るHTTPレスポンス31を示す図である。HTTPレスポンス31は、ステータスライン32、ヘッダ33及びメッセージボディ34から構成される。ステータスライン32は、HTTPリクエストに対する処理結果を示す。ステータスライン32には、プロトコル、ステータスコード、フレーズが順に記述される。プロトコルには、通信に利用するプロトコルとバージョンを指定する。HTTPレスポンス31では、「HTTP/1.1」である。ステータスコードは、ウェブサーバからの応答状況を示すコードである。HTTPレスポンス31では、「200」である。「200」は正常にデータを送信できたことを示す。フレーズはステータスコードの意味を示す。HTTPレスポンス31では、「OK」である。
ヘッダ33には、制御情報が記述される。「Location」は、ウェブサーバがウェブブラウザにリダイレクト先URLを通知するパラメータである。リダイレクト先URLは「http://www.bbb.com」である。メッセージボディ34は、ウェブブラウザに対して送信するドキュメント等がある場合のみ記述される。なお、HTTPレスポンス31は、HTTPレスポンスの一例である。
次に動作について説明する。
図4は、実施の形態1に係るウェブブラウザ15、試験装置13及びウェブサーバ16の処理の流れを示すシーケンス図である。図4は、HTTPレスポンスにリダイレクト先URLが指定されない場合のシーケンスである。シーケンスの開始時には、リダイレクトフラグはオフに設定されている。
図4は、実施の形態1に係るウェブブラウザ15、試験装置13及びウェブサーバ16の処理の流れを示すシーケンス図である。図4は、HTTPレスポンスにリダイレクト先URLが指定されない場合のシーケンスである。シーケンスの開始時には、リダイレクトフラグはオフに設定されている。
データ中継部19は、データ解析部18がネットワークデータから抽出した、ウェブサーバ6へのHTTPリクエストがデータ解析部18から通知されるとステップS401より処理を開始する。このHTTPリクエストをHTTPリクエストReq41とする(図4には図示していない)。
ステップS401において、データ中継部19は、リダイレクトフラグを参照する。リダイレクトフラグはオフのため、処理はステップS402へ進む。
ステップS402において、データ中継部19は、ブラウザ制御部20にウェブブラウザ15の起動を指示し、データ中継部19のIPアドレスA1及び待ち受けポート番号B1を通知する。処理はステップS403へ進む。
ステップS401において、データ中継部19は、リダイレクトフラグを参照する。リダイレクトフラグはオフのため、処理はステップS402へ進む。
ステップS402において、データ中継部19は、ブラウザ制御部20にウェブブラウザ15の起動を指示し、データ中継部19のIPアドレスA1及び待ち受けポート番号B1を通知する。処理はステップS403へ進む。
ステップS403において、ブラウザ制御部20は、ウェブブラウザ15に起動を指示し、データ中継部19のIPアドレスA1及び待ち受けポート番号B1を通知する。処理はステップS404へ進む。
ステップS404において、ウェブブラウザ15は、データ中継部19に対してTCPコネクションの確立を要求し、TCPコネクション#1が確立される。処理はステップS405へ進む。
ステップS404において、ウェブブラウザ15は、データ中継部19に対してTCPコネクションの確立を要求し、TCPコネクション#1が確立される。処理はステップS405へ進む。
ステップS405において、ウェブブラウザ15は、HTTPリクエストReq42をTCPコネクション#1でデータ中継部19に送信する。処理はステップS406へ進む。
ステップS406において、データ中継部19は、データ解析部18から通知されたHTTPリクエストReq41のヘッダのUser−Agentの値に、HTTPリクエストReq42のUser−Agentの値を設定し、HTTPリクエストReq43とする。処理はステップS407へ進む。
ステップS406において、データ中継部19は、データ解析部18から通知されたHTTPリクエストReq41のヘッダのUser−Agentの値に、HTTPリクエストReq42のUser−Agentの値を設定し、HTTPリクエストReq43とする。処理はステップS407へ進む。
ステップS407において、データ中継部19はウェブサーバ16に対してTCPコネクションの確立を要求し、TCPコネクション#2が確立される。データ中継部19は、あらかじめウェブサーバ16の待ち受けポート番号B4を保持しているものとする。処理はステップS408へ進む。
ステップS408において、データ中継部19は、HTTPリクエストReq43をTCPコネクション#2でウェブサーバ16に送信する。処理はステップS409へ進む。
ステップS408において、データ中継部19は、HTTPリクエストReq43をTCPコネクション#2でウェブサーバ16に送信する。処理はステップS409へ進む。
ステップS409において、ウェブサーバ16は、HTTPリクエストReq43に対するHTTPレスポンスRes41をTCPコネクション#2でデータ中継部19に送信する。処理はステップS410へ進む。
ステップS410において、データ中継部19は、リダイレクトフラグをオフにする。処理はステップS411へ進む。
ステップS411において、データ中継部19は、HTTPレスポンスRes41をTCPコネクション#1でウェブブラウザ15に送信する。処理はステップS412へ進む。
ステップS410において、データ中継部19は、リダイレクトフラグをオフにする。処理はステップS411へ進む。
ステップS411において、データ中継部19は、HTTPレスポンスRes41をTCPコネクション#1でウェブブラウザ15に送信する。処理はステップS412へ進む。
ステップS412において、データ中継部19は、TCPコネクション#2を切断する。処理はステップS413へ進む。
ステップS413において、データ中継部19は、ブラウザ制御部20にウェブブラウザ15の終了を指示する。処理はステップS414へ進む。
ステップS414において、ブラウザ制御部20は、ウェブブラウザ15に終了を指示する。処理はステップS415へ進む。
ステップS415において、ウェブブラウザ15は、TCPコネクション#1を切断し、終了する。
ステップS413において、データ中継部19は、ブラウザ制御部20にウェブブラウザ15の終了を指示する。処理はステップS414へ進む。
ステップS414において、ブラウザ制御部20は、ウェブブラウザ15に終了を指示する。処理はステップS415へ進む。
ステップS415において、ウェブブラウザ15は、TCPコネクション#1を切断し、終了する。
図5は、実施の形態1に係るウェブブラウザ15、試験装置13及びウェブサーバ16の処理の流れを示すシーケンス図である。図5は、HTTPレスポンスにリダイレクト先URLが指定される場合のシーケンスである。シーケンスの開始時には、リダイレクトフラグはオフに設定されている。図5のステップS501〜S508の処理は、図4のステップS401〜S408と同じであるため、説明を省略する。
S501〜S508の処理が行われ、処理はステップS509へ進む。ステップS509において、ウェブサーバ16は、リダイレクト先URLを指定したHTTPレスポンスRes51をデータ中継部19に送信する。リダイレクト先URLが指定されるヘッダのパラメータはいくつかあり、例えば、LocationやMETAタグである。処理はステップS510へ進む。
ステップS510において、データ中継部19は、HTTPレスポンスRes51のリダイレクト先URLをリダイレクト先URL保存バッファに保存し、リダイレクトフラグをオンに設定する。また、データ中継部19は、HTTPレスポンスRes51のリダイレクト先URLにIPアドレスA1及びポート番号B1を設定し、HTTPレスポンスRes52とする。処理はステップS511へ進む。
ステップS511において、データ中継部19は、HTTPレスポンスRes52をTCPコネクション#1でウェブブラウザ15に送信する。処理はステップS512へ進む。
ステップS512において、ウェブブラウザ15は、HTTPレスポンスRes52のリダイレクト先URLを、HTTPリクエストReq51のURLに設定し、TCPコネクション#1でデータ中継部19に送信する。処理はステップS513へ進む。
ステップS512において、ウェブブラウザ15は、HTTPレスポンスRes52のリダイレクト先URLを、HTTPリクエストReq51のURLに設定し、TCPコネクション#1でデータ中継部19に送信する。処理はステップS513へ進む。
ステップS513において、データ中継部19は、リダイレクトフラグを参照する。リダイレクトフラグがオンのため、データ中継部19は、リダイレクト先URL保存バッファの値をHTTPリクエストReq51のURLに設定し、HTTPリクエストReq52とする。処理はステップS514へ進む。
ステップS514において、データ中継部19は、HTTPリクエストReq52をTCPコネクション#2でウェブサーバ16に送信する。処理はステップS515へ進む。
ステップS515において、ウェブサーバ16は、HTTPリクエストReq52に対するHTTPレスポンスRes53をデータ中継部19に送信する。処理はステップS516へ進む。
ステップS516において、データ中継部19は、リダイレクトフラグをオフに設定する。処理はステップS517へ進む。
ステップS515において、ウェブサーバ16は、HTTPリクエストReq52に対するHTTPレスポンスRes53をデータ中継部19に送信する。処理はステップS516へ進む。
ステップS516において、データ中継部19は、リダイレクトフラグをオフに設定する。処理はステップS517へ進む。
ステップS517において、データ中継部19は、HTTPレスポンスRes53をTCPコネクション#2でウェブブラウザ15に送信する。処理はステップS518へ進む。
ステップS518において、データ中継部19は、TCPコネクション#2を切断する。処理はステップS519へ進む。
ステップS519において、データ中継部19は、ブラウザ制御部20にウェブブラウザ15の終了を指示する。処理はステップS520へ進む。
ステップS520において、ブラウザ制御部20は、ウェブブラウザ15に終了を指示する。処理はステップS521へ進む。
ステップS521において、ウェブブラウザ15はTCPコネクション#1を切断し、終了する。
ステップS518において、データ中継部19は、TCPコネクション#2を切断する。処理はステップS519へ進む。
ステップS519において、データ中継部19は、ブラウザ制御部20にウェブブラウザ15の終了を指示する。処理はステップS520へ進む。
ステップS520において、ブラウザ制御部20は、ウェブブラウザ15に終了を指示する。処理はステップS521へ進む。
ステップS521において、ウェブブラウザ15はTCPコネクション#1を切断し、終了する。
次に、端末12と試験装置13との間に第1のプロキシサーバとしてプロキシサーバ61が存在する構成における動作について説明する。
図6は、実施の形態1に係るウェブブラウザ15、プロキシサーバ61、試験装置13及びウェブサーバ16の処理の流れを示すシーケンス図である。図6は、HTTPレスポンスにリダイレクト先URLが指定されない場合のシーケンスである。シーケンスの開始時には、リダイレクトフラグはオフに設定されている。図6のステップS608〜S612の処理は、図4のS406〜S410の処理と同じであるため、説明を省略する。
図6は、実施の形態1に係るウェブブラウザ15、プロキシサーバ61、試験装置13及びウェブサーバ16の処理の流れを示すシーケンス図である。図6は、HTTPレスポンスにリダイレクト先URLが指定されない場合のシーケンスである。シーケンスの開始時には、リダイレクトフラグはオフに設定されている。図6のステップS608〜S612の処理は、図4のS406〜S410の処理と同じであるため、説明を省略する。
データ中継部19は、データ解析部18からウェブサーバ6へのHTTPリクエストが通知されるとステップS601より処理を開始する。このHTTPリクエストをHTTPリクエストReq41とする(図6には図示していない)。
ステップS601において、データ中継部19は、リダイレクトフラグを参照する。リダイレクトフラグがオフのため、処理はステップS602へ進む。
ステップS602において、データ中継部19は、ブラウザ制御部20にウェブブラウザ15の起動を指示する。処理はステップS603へ進む。
ステップS601において、データ中継部19は、リダイレクトフラグを参照する。リダイレクトフラグがオフのため、処理はステップS602へ進む。
ステップS602において、データ中継部19は、ブラウザ制御部20にウェブブラウザ15の起動を指示する。処理はステップS603へ進む。
ステップS603において、ブラウザ制御部20は、ウェブブラウザ15に起動を指示し、データ中継部19のIPアドレスA1及び待ち受けポート番号B1を通知する。処理はステップS604へ進む。
ステップS604において、ウェブブラウザ15は、プロキシサーバ61にTCPコネクションの確立を要求し、TCPコネクション#3が確立される。ウェブブラウザ15は、あらかじめプロキシサーバ61のIPアドレス及び待ち受けポート番号を保持しているものとする。処理はステップS605へ進む。
ステップS605において、ウェブブラウザ15は、HTTPリクエストReq42をTCPコネクション#3でプロキシサーバ61に送信する。処理はステップS606へ進む。
ステップS604において、ウェブブラウザ15は、プロキシサーバ61にTCPコネクションの確立を要求し、TCPコネクション#3が確立される。ウェブブラウザ15は、あらかじめプロキシサーバ61のIPアドレス及び待ち受けポート番号を保持しているものとする。処理はステップS605へ進む。
ステップS605において、ウェブブラウザ15は、HTTPリクエストReq42をTCPコネクション#3でプロキシサーバ61に送信する。処理はステップS606へ進む。
ステップS606において、プロキシサーバ61は、ウェブサーバ15から受信したHTTPリクエストReq42のURLからデータ中継部19のIPアドレスA1及び待ち受けポート番号B1を取得する。プロキシサーバ61は、データ中継部19にTCPコネクションの確立を要求し、TCPコネクション#4が確立される。処理はステップS607へ進む。
ステップS607において、プロキシサーバ61は、HTTPリクエストReq42をTCPコネクション#4でデータ中継部19に送信する。処理はステップS608へ進む。ステップS608〜S612の処理が行われ、ステップS613へ進む。
ステップS607において、プロキシサーバ61は、HTTPリクエストReq42をTCPコネクション#4でデータ中継部19に送信する。処理はステップS608へ進む。ステップS608〜S612の処理が行われ、ステップS613へ進む。
ステップS613において、データ中継部19は、HTTPレスポンスRes41をTCPコネクション#4でプロキシサーバ61に送信する。処理はステップS614へ進む。
ステップS614において、プロキシサーバ61は、HTTPレスポンスRes41をTCPコネクション#3でウェブブラウザ15に送信する。処理はステップS615へ進む。
ステップS614において、プロキシサーバ61は、HTTPレスポンスRes41をTCPコネクション#3でウェブブラウザ15に送信する。処理はステップS615へ進む。
ステップS615において、データ中継部19は、TCPコネクション#2を切断する。処理はステップS616へ進む。
ステップS616において、データ中継部19は、ブラウザ制御部20にウェブブラウザ15の終了を指示する。処理はステップS617へ進む。
ステップS617において、ブラウザ制御部20は、ウェブブラウザ15に終了を指示する。処理はステップS618へ進む。
ステップS618において、ウェブブラウザ15はTCPコネクション#3を切断し、終了する。処理はステップS619へ進む。
ステップS619において、データ中継部19は、TCPコネクション#3を切断し、終了する。
ステップS616において、データ中継部19は、ブラウザ制御部20にウェブブラウザ15の終了を指示する。処理はステップS617へ進む。
ステップS617において、ブラウザ制御部20は、ウェブブラウザ15に終了を指示する。処理はステップS618へ進む。
ステップS618において、ウェブブラウザ15はTCPコネクション#3を切断し、終了する。処理はステップS619へ進む。
ステップS619において、データ中継部19は、TCPコネクション#3を切断し、終了する。
図7は、実施の形態1に係るウェブブラウザ15、プロキシサーバ61、試験装置13及びウェブサーバ16の処理の流れを示すシーケンス図である。図7は、HTTPレスポンスにリダイレクト先URLが指定される場合のシーケンスである。図7のステップS701〜S710の処理は図6のS601〜S610と同じであり、図7のステップS723〜S727の処理は図6のS615〜S619と同じため、説明を省略する。
ステップS701〜S710の処理が行われ、処理はステップS711へ進む。
ステップS711において、ウェブサーバ16は、リダイレクト先URLを指定したHTTPレスポンスRes51をデータ中継部19に送信する。処理はステップS712へ進む。
ステップS712において、データ中継部19は、HTTPレスポンスRes51のリダイレクト先URLをリダイレクト先URL保存バッファに保存し、リダイレクトフラグをオンに設定する。また、データ中継部19は、HTTPレスポンスRes51のリダイレクト先URLにIPアドレスA1及びポート番号B1を設定し、HTTPレスポンスRes52とする。処理はステップS713へ進む。
ステップS711において、ウェブサーバ16は、リダイレクト先URLを指定したHTTPレスポンスRes51をデータ中継部19に送信する。処理はステップS712へ進む。
ステップS712において、データ中継部19は、HTTPレスポンスRes51のリダイレクト先URLをリダイレクト先URL保存バッファに保存し、リダイレクトフラグをオンに設定する。また、データ中継部19は、HTTPレスポンスRes51のリダイレクト先URLにIPアドレスA1及びポート番号B1を設定し、HTTPレスポンスRes52とする。処理はステップS713へ進む。
ステップS713において、データ中継部19は、HTTPレスポンスRes52をTCPコネクション#4でプロキシサーバ61に送信する。処理はステップS714へ進む。
ステップS714において、プロキシサーバ61は、HTTPレスポンスRes52をTCPコネクション#3でウェブブラウザ15に送信する。処理はステップS715へ進む。
ステップS714において、プロキシサーバ61は、HTTPレスポンスRes52をTCPコネクション#3でウェブブラウザ15に送信する。処理はステップS715へ進む。
ステップS715において、ウェブブラウザ15は、HTTPレスポンスRes52のリダイレクト先URLを、HTTPリクエストReq51のURLに設定し、TCPコネクション#3でプロキシサーバ61に送信する。処理はステップS716へ進む。
ステップS716において、プロキシサーバ61は、HTTPリクエストReq51をTCPコネクション#4でデータ中継部19に送信する。処理はステップS717へ進む。
ステップS716において、プロキシサーバ61は、HTTPリクエストReq51をTCPコネクション#4でデータ中継部19に送信する。処理はステップS717へ進む。
ステップS717において、データ中継部19は、リダイレクトフラグを参照する。リダイレクトフラグがオンのため、データ中継部19は、リダイレクト先URL保存バッファの値をHTTPリクエストReq51のURLに設定し、HTTPリクエストReq52とする。処理はステップS718へ進む。
ステップS718において、データ中継部19は、HTTPリクエストReq52をTCPコネクション#2でウェブサーバ16に送信する。処理はステップS719へ進む。
ステップS718において、データ中継部19は、HTTPリクエストReq52をTCPコネクション#2でウェブサーバ16に送信する。処理はステップS719へ進む。
ステップS719において、ウェブサーバ16は、HTTPリクエストReq52に対するHTTPレスポンスRes53をTCPコネクション#2でデータ中継部19に送信する。処理はステップS720へ進む。
ステップS720において、データ中継部19は、リダイレクトフラグをオフにする。処理はステップS721へ進む。
ステップS721において、データ中継部19は、HTTPレスポンスRes53をTCPコネクション#4でプロキシサーバ61に送信する。処理はステップS722へ進む。
ステップS720において、データ中継部19は、リダイレクトフラグをオフにする。処理はステップS721へ進む。
ステップS721において、データ中継部19は、HTTPレスポンスRes53をTCPコネクション#4でプロキシサーバ61に送信する。処理はステップS722へ進む。
ステップS722において、プロキシサーバ61は、HTTPレスポンスRes53をTCPコネクション#3でウェブブラウザ15に送信する。処理はステップS723へ進む。ステップS723〜ステップS727に処理が行われ、終了する。
次に、試験装置13と試験対象装置14との間に第2のプロキシサーバとしてプロキシサーバ81が存在する構成における処理について説明する。
図8は、実施の形態1に係る端末12、試験装置13、プロキシサーバ81及び試験対象装置14の処理を示すシーケンス図である。図8は、HTTPレスポンスにリダイレクト先URLが指定されない場合のシーケンスである。図8のステップS801〜S806の処理は、図4のステップS401〜S406の処理と同じであるため、説明を省略する。
図8は、実施の形態1に係る端末12、試験装置13、プロキシサーバ81及び試験対象装置14の処理を示すシーケンス図である。図8は、HTTPレスポンスにリダイレクト先URLが指定されない場合のシーケンスである。図8のステップS801〜S806の処理は、図4のステップS401〜S406の処理と同じであるため、説明を省略する。
ステップS801〜S806の処理が行われ、処理はステップS807へ進む。
ステップS807において、データ中継部19はプロキシサーバ81に対してTCPコネクションの確立を要求し、TCPコネクション#5が確立される。データ中継部19は、あらかじめプロキシサーバ81のIPアドレス及び待ち受けポート番号を保持しているものとする。処理はステップS808へ進む。
ステップS808において、データ中継部19は、HTTPリクエストReq43をTCPコネクション#5でプロキシサーバ81に送信する。処理はステップS809へ進む。
ステップS807において、データ中継部19はプロキシサーバ81に対してTCPコネクションの確立を要求し、TCPコネクション#5が確立される。データ中継部19は、あらかじめプロキシサーバ81のIPアドレス及び待ち受けポート番号を保持しているものとする。処理はステップS808へ進む。
ステップS808において、データ中継部19は、HTTPリクエストReq43をTCPコネクション#5でプロキシサーバ81に送信する。処理はステップS809へ進む。
ステップS809において、プロキシサーバ81は、データ中継部19から受信したHTTPリクエストReq43のURLからウェブサーバ16のIPアドレスA4及び待ち受けポート番号B4を取得する。プロキシサーバ81は、ウェブサーバ16にTCPコネクションの確立を要求し、TCPコネクション#6が確立される。処理はステップS810へ進む。
ステップS810において、プロキシサーバ81は、HTTPリクエストReq43をTCPコネクション#6でウェブサーバ16に送信する。処理はステップS811へ進む。
ステップS810において、プロキシサーバ81は、HTTPリクエストReq43をTCPコネクション#6でウェブサーバ16に送信する。処理はステップS811へ進む。
ステップS811において、ウェブサーバ16は、HTTPリクエストReq43に対するHTTPレスポンスRes41をTCPコネクション#6でプロキシサーバ81に送信する。処理はステップS812へ進む。
ステップS812において、プロキシサーバ81は、HTTPレスポンスRes41をTCPコネクション#5でデータ中継部19に送信する。処理はステップS813へ進む。
ステップS813において、データ中継部19は、リダイレクトフラグをオフにする。処理はステップS814へ進む。
ステップS812において、プロキシサーバ81は、HTTPレスポンスRes41をTCPコネクション#5でデータ中継部19に送信する。処理はステップS813へ進む。
ステップS813において、データ中継部19は、リダイレクトフラグをオフにする。処理はステップS814へ進む。
ステップS814において、データ中継部19は、HTTPレスポンスRes41をTCPコネクション#1でウェブブラウザ15に送信する。処理はステップS815へ進む。ステップS815において、データ中継部19は、TCPコネクション#5を切断する。処理はステップS816へ進む。
ステップS816において、ウェブサーバ16は、TCPコネクション#6を切断する。処理はステップS817へ進む。
ステップS816において、ウェブサーバ16は、TCPコネクション#6を切断する。処理はステップS817へ進む。
ステップS817において、データ中継部19は、ブラウザ制御部20にウェブブラウザ15の終了を指示する。処理はステップS818へ進む。
ステップS818において、ブラウザ制御部20は、ウェブブラウザ15に終了を指示する。処理はステップS819へ進む。
ステップS819において、ウェブブラウザ15は、TCPコネクション#1を切断し、終了する。
ステップS818において、ブラウザ制御部20は、ウェブブラウザ15に終了を指示する。処理はステップS819へ進む。
ステップS819において、ウェブブラウザ15は、TCPコネクション#1を切断し、終了する。
図9は、実施の形態1に係るウェブブラウザ15、試験装置13、プロキシサーバ81及びウェブサーバ16の処理の流れを示すシーケンス図である。図9は、HTTPレスポンスにリダイレクト先URLが指定される場合のシーケンスである。図9のステップS901〜S910の処理は図8のS801〜S810と同じであり、図9のステップS923〜S927の処理は図8のS815〜S819と同じため、説明を省略する。
S901〜S910の処理が行われ、処理はステップS911へ進む。
ステップS911において、ウェブサーバ16は、リダイレクト先URLを指定したHTTPレスポンスRes51をTCPコネクション#6でプロキシサーバ81に送信する。処理はステップS912へ進む。
ステップS912において、プロキシサーバ81は、HTTPレスポンスRes51をTCPコネクション#5でデータ中継部19に送信する。処理はステップS913へ進む。
ステップS911において、ウェブサーバ16は、リダイレクト先URLを指定したHTTPレスポンスRes51をTCPコネクション#6でプロキシサーバ81に送信する。処理はステップS912へ進む。
ステップS912において、プロキシサーバ81は、HTTPレスポンスRes51をTCPコネクション#5でデータ中継部19に送信する。処理はステップS913へ進む。
ステップS913において、データ中継部19は、HTTPレスポンスRes51のリダイレクト先URLをリダイレクト先URL保存バッファに保存し、リダイレクトフラグをオンに設定する。また、データ中継部19は、HTTPレスポンスRes51のリダイレクト先URLにIPアドレスA1及びポート番号B1を設定し、HTTPレスポンスRes52とする。処理はステップS914へ進む。
ステップS914において、データ中継部19は、HTTPレスポンスRes52をTCPコネクション#1でウェブブラウザ15に送信する。処理はステップS915へ進む。
ステップS915において、ウェブブラウザ15は、HTTPレスポンスRes52のリダイレクト先URLを、HTTPリクエストReq51のURLに設定し、TCPコネクション#1でデータ中継部19に送信する。処理はステップS916へ進む。
ステップS915において、ウェブブラウザ15は、HTTPレスポンスRes52のリダイレクト先URLを、HTTPリクエストReq51のURLに設定し、TCPコネクション#1でデータ中継部19に送信する。処理はステップS916へ進む。
ステップS916において、データ中継部19は、リダイレクトフラグを参照する。リダイレクトフラグがオンのため、データ中継部19は、リダイレクト先URL保存バッファの値をHTTPリクエストReq51のURLに設定し、HTTPリクエストReq52とする。処理はステップS917へ進む。
ステップS917において、データ中継部19は、HTTPリクエストReq52をTCPコネクション#5でプロキシサーバ81に送信する。処理はステップS918へ進む。
ステップS918において、プロキシサーバ81は、HTTPリクエストReq52をTCPコネクション#6でウェブサーバ16に送信する。処理はステップS919へ進む。
ステップS918において、プロキシサーバ81は、HTTPリクエストReq52をTCPコネクション#6でウェブサーバ16に送信する。処理はステップS919へ進む。
ステップS919において、ウェブサーバ16は、HTTPリクエストReq52に対するHTTPレスポンスRes53をTCPコネクション#6でプロキシサーバ81に送信する。処理はステップS920へ進む。
ステップS920において、プロキシサーバ81は、HTTPレスポンスRes53をTCPコネクション#5でデータ中継部19に送信する。処理はステップS921へ進む。
ステップS921において、データ中継部19は、リダイレクトフラグをオフに設定する。処理はステップS922へ進む。
ステップS920において、プロキシサーバ81は、HTTPレスポンスRes53をTCPコネクション#5でデータ中継部19に送信する。処理はステップS921へ進む。
ステップS921において、データ中継部19は、リダイレクトフラグをオフに設定する。処理はステップS922へ進む。
ステップS922において、データ中継部19は、HTTPレスポンスRes53をTCPコネクション#2でウェブブラウザ15に送信する。処理はステップS923へ進む。ステップS923〜S927の処理が行われ、終了する。
したがって、本実施の形態では、試験環境の端末上で動作するウェブブラウザ及び試験対象装置上で動作するウェブサーバとTCPコネクションを確立して接続する試験装置であって、ウェブブラウザから送信されるHTTPリクエストからウェブブラウザの情報を示すパラメータを取得し、実環境から収集したHTTPリクエスト内のパラメータを変更してウェブサーバに送信することにより、ウェブサーバからウェブブラウザに対応したHTTPレスポンスを受信し、当該HTTPレスポンスをウェブブラウザに送信するデータ中継部を備えているので、ウェブブラウザからウェブサーバに送信したHTTPリクエストに対するHTTPレスポンスをウェブブラウザが受信したときに正常に動作するかを検証することができる。
1 実環境
2 端末
3 スイッチ
4 サーバ装置
5 ウェブブラウザ
6 ウェブサーバ
11 試験環境
12 端末
13 試験装置
14 試験対象装置
15 ウェブブラウザ
16 ウェブサーバ
17 データ収集部
18 データ解析部
19 データ中継部
20 ブラウザ制御部
21 HTTPリクエスト
22 リクエストライン
23 ヘッダ
24 メッセージボディ
31 HTTPレスポンス
32 ステータスライン
33 ヘッダ
34 メッセージボディ
2 端末
3 スイッチ
4 サーバ装置
5 ウェブブラウザ
6 ウェブサーバ
11 試験環境
12 端末
13 試験装置
14 試験対象装置
15 ウェブブラウザ
16 ウェブサーバ
17 データ収集部
18 データ解析部
19 データ中継部
20 ブラウザ制御部
21 HTTPリクエスト
22 リクエストライン
23 ヘッダ
24 メッセージボディ
31 HTTPレスポンス
32 ステータスライン
33 ヘッダ
34 メッセージボディ
Claims (6)
- 試験環境の端末上で動作するウェブブラウザ及び試験対象装置上で動作するウェブサーバとTCPコネクションを確立して接続する試験装置であって、
前記ウェブブラウザから送信されるHTTPリクエストから前記ウェブブラウザの情報を示すパラメータを取得し、実環境から収集したHTTPリクエスト内のパラメータを前記パラメータに変更して前記ウェブサーバに送信することにより、前記ウェブサーバから前記ウェブブラウザに対応したHTTPレスポンスを受信し、当該HTTPレスポンスを前記ウェブブラウザに送信するデータ中継部を備えることを特徴とする試験装置。 - 前記データ中継部は、前記ウェブサーバから受信したHTTPレスポンスにウェブページの転送先を示すリダイレクト先URLが含まれている場合、前記リダイレクト先URLの値を保持するとともに、リダイレクト先URLとして前記データ中継部のIPアドレスとポート番号とした当該HTTPレスポンスを前記ウェブブラウザに送信することにより、前記ウェブブラウザからHTTPリクエストを受信し、URLを保持された前記リダイレクト先URLの値とし、前記パラメータは保存せずに、当該HTTPリクエストを前記ウェブサーバに送信することを特徴とする請求項1に記載の試験装置。
- 前記データ中継部は、前記データ中継部と前記ウェブブラウザとの間に第1のプロキシサーバが存在する場合、前記第1のプロキシサーバとTCPコネクションを確立し、前記第1のプロキシサーバを介して前記ウェブブラウザと接続し、前記第1のプロキシサーバを介して前記ウェブブラウザからHTTPリクエストを受信し、前記第1のプロキシサーバを介して前記ウェブブラウザにHTTPレスポンスを送信することを特徴とする請求項1又は2のいずれかに記載の試験装置。
- 前記データ中継部は、前記データ中継部と前記ウェブサーバとの間に第2のプロキシサーバが存在する場合、前記第2のプロキシサーバとTCPコネクションを確立し、前記第2のプロキシサーバを介して前記ウェブサーバと接続し、前記第2のプロキシサーバを介して前記ウェブサーバにHTTPリクエストを送信し、前記第2のプロキシサーバを介して前記ウェブサーバからHTTPレスポンスを受信することを特徴とする請求項1から3のいずれかに記載の試験装置。
- 前記実環境から収集したネットワークデータからHTTPリクエストを抽出して前記データ中継部に通知するデータ解析部と、
前記データ中継部からの指示により前記ウェブブラウザの起動と停止とを制御するブラウザ制御部を備え、
前記データ中継部は、前記データ解析部から実環境のHTTPリクエストを通知されると前記ブラウザ制御部に前記ウェブブラウザの起動を指示し、また、前記リダイレクト先URLを含まないHTTPレスポンスを受信すると、前記ブラウザ制御部にウェブブラウザの停止を指示することを特徴とする請求項1から4のいずれかに記載の試験装置。 - 試験環境の端末上で動作するウェブブラウザ及び試験対象装置上で動作するウェブサーバとTCPコネクションを確立して接続するステップと、
前記ウェブブラウザから送信されるHTTPリクエストから前記ウェブブラウザの情報を示すパラメータを取得し、実環境から収集したHTTPリクエスト内のパラメータを前記パラメータに変更して前記ウェブサーバに送信するステップと、
前記ウェブサーバから前記ウェブブラウザに対応したHTTPレスポンスを受信し、当該HTTPレスポンスを前記ウェブブラウザに送信するステップと、
を有する試験方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013019271A JP2014149767A (ja) | 2013-02-04 | 2013-02-04 | 試験装置及び試験方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013019271A JP2014149767A (ja) | 2013-02-04 | 2013-02-04 | 試験装置及び試験方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014149767A true JP2014149767A (ja) | 2014-08-21 |
Family
ID=51572668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013019271A Pending JP2014149767A (ja) | 2013-02-04 | 2013-02-04 | 試験装置及び試験方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014149767A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858381A (zh) * | 2020-07-31 | 2020-10-30 | 北京字节跳动网络技术有限公司 | 应用程序容错能力测试方法、电子设备及介质 |
-
2013
- 2013-02-04 JP JP2013019271A patent/JP2014149767A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858381A (zh) * | 2020-07-31 | 2020-10-30 | 北京字节跳动网络技术有限公司 | 应用程序容错能力测试方法、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6601105B2 (ja) | 管理システム、通信システム、及びコンピュータプログラム | |
JP6558637B2 (ja) | 管理システム、画像処理装置、及びコンピュータプログラム | |
US20150081845A1 (en) | Communication terminal, information processing method, and storage medium | |
US10298882B1 (en) | Device, system and method for embedded video chat | |
JP5962105B2 (ja) | 中継装置、画像出力装置、中継装置のプログラム、および、中継装置の制御方法 | |
US10341519B2 (en) | Communication system, image forming apparatus, method of controlling the same, and storage medium | |
JP6800590B2 (ja) | 印刷システムおよびその制御方法 | |
JP2016051201A5 (ja) | 情報処理装置とその制御方法、及びプログラム | |
US9313345B2 (en) | Information processing apparatus, system, and control method for information processing apparatus | |
JP6429559B2 (ja) | 通信装置、通信システム、情報処理方法及びプログラム | |
JP2014149767A (ja) | 試験装置及び試験方法 | |
JP6608572B1 (ja) | データ処理装置、データ処理システム、データ処理方法及びプログラム | |
JP2018112895A (ja) | 情報処理装置、その制御方法、プログラム、及び情報処理システム | |
CN105100230A (zh) | 一种文件传输方法和装置 | |
EP2096572A2 (en) | Information storage system | |
JP2020046756A (ja) | 情報処理装置、その制御方法およびプログラム | |
US9942823B2 (en) | Communication terminal, communication method, and communication program | |
JP6285473B2 (ja) | 通信設定通知装置 | |
JP5807713B1 (ja) | 画像処理装置及び画像処理プログラム | |
JP2016071531A (ja) | 情報処理装置、その制御方法、及びプログラム | |
JP5892615B2 (ja) | 中継装置、中継装置の制御方法、及びプログラム | |
JP7293268B2 (ja) | 通信装置及びその制御方法、並びにプログラム | |
JP6942609B2 (ja) | 通信装置、通信方法、及びプログラム | |
JP2015188198A (ja) | システム及び制御方法 | |
JP6002633B2 (ja) | 情報告知システム、中継装置、情報告知方法、中継方法及びコンピュータプログラム |