我正在尝试使用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()或删除但是它们没有用。我该如何解决这个问题?
答案 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);
}
检查它是如何工作的。