0

TestComplete を使用して、RESTful Web サービスをテストする自動テスト ケースを作成しようとしています。

スクリプトは次のとおりです。私はJScriptを使用しています。

function test()
{
    var objhttp = Sys.OleObject("MSXML2.XMLHTTP");
    objhttp.open("GET", URL_HERE, false);
    objhttp.send();
    // Do stuff with objhttp.responseText here...
}

これを初めて実行すると、正しい応答が得られたようで、Web サービスは問題なく呼び出されます。ただし、最初の実行後に応答がどこかにキャッシュされているようで、スクリプトを 2 回目に実行すると、キャッシュされた応答が戻ってきて、Web サービスをまったく呼び出していないようです。したがって、Web サービスを呼び出すには、TestComplete を閉じてから、スクリプトを実行するたびに再度開く必要があります。

参照ドキュメントを検索したところ、OLEObject が TestComplete によってリリースされていないことがわかったので、手動でリリースする必要があります。しかし、XMLHTTP オブジェクトを解放するメソッドが見つかりませんでした。

abort() を呼び出したり、delete を実行しようとしましたが、うまくいきませんでした。これを解決するにはどうすればよいですか??

4

1 に答える 1

0

これは奇妙な動作であり、再現できません。このコードを実行するたびに、新しい値が返されます。

function test()
{
  var objhttp = Sys.OleObject("MSXML2.XMLHTTP");
  var url = "http://www.random.org/integers/?num=1&min=1&max=100&col=1&base=10&format=plain&rnd=new";
  objhttp.open("GET", url, false);
  objhttp.send();
  Log.Message(objhttp.responseText);
}

それがどのように機能するかを確認してください。

于 2013-11-15T11:31:52.293 に答える