我已在One Test Suite中单独隔离了所有请求。我需要收集每个api通话时间。
每个功能测试用例都将使用“运行测试用例”选项调用“请求测试套件”。
我在每个请求的脚本断言中都有以下代码。
def endpoint = messageExchange.getEndpoint()
uri = endpoint.replace("baseurl","")
log.info("Current URI: "+uri)
uri = "t_"+uri
def headers = messageExchange.getResponseHeaders()
bytes= headers["Content-Length"].get(0)
log.info("Number of Bytes: "+ bytes)
timeTaken = messageExchange.getTimeTaken().toString()
values = timeTaken + ";"+ bytes
context.testCase.setPropertyValue(uri, values)
我预计uri将被创建为key,timeTaken和bytes是值。 运行请求时(来自Request Test Suite),它会创建属性。
但功能测试用例从其他测试套件调用此请求它不会创建此类属性。如何解决此问题?我看到工作运行每个请求并获取创建的属性,以便在下次运行时它将被更新..但问题是在启动测试套件时我将删除所有属性和值。所以再次陷入困境..有人能告诉我如何解决这个问题吗?
答案 0 :(得分:1)
你可以在执行后直接将结果添加到csv文件中,如下所示:
new File('out.csv').append( "$uri; $timeTaken; $bytes\n" )