在TestComplete JScript中,如何发布XMLHTTP对象?

时间:2013-11-14 18:42:35

标签: jscript xmlhttprequest testcomplete

我正在尝试使用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服务没有任何问题。但是,响应似乎在第一次运行后缓存到某个地方,当我第二次运行脚本时,缓存的响应返回,它似乎根本不会调用Web服务。因此,为了调用Web服务,我必须关闭TestComplete,然后每次运行脚本时重新打开它。

我搜索了参考文档,我发现TestComplete没有释放OLEObject,所以我必须手动释放它。但是,我找不到任何方法来释放XMLHTTP对象..

我尝试调用abort()或删除但是它们没有用。我该如何解决这个问题?

1 个答案:

答案 0 :(得分: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);
}

检查它是如何工作的。