原文地址: http://www.cnblogs.com/zhangfei/p/3792826.html
默认已经用Groovy把外部数据给读取出来了,关键是读取出来后,如何加载到request中去?这里提供了两种方法:
1.该Groovy脚本的名称是"setUp"
1
2
3
4
5
6
7
8
|
def num = Integer.parseInt(testRunner.testCase.getPropertyValue(
"count"
))
log.info num
num = (++num) %
2
testRunner.testCase.setPropertyValue(
"count"
, num +
""
)
String[] acList = [
"Loginn"
+String.valueOf(Math.random()).substring(
0
,
5
),
"Loginn"
+String.valueOf(Math.random()).substring(
0
,
6
)]
log.info num
log.info acList[num]
acList[num]
|
上面的例子是把数据放到了一个数组中去了,在request中这样写,然后再加一个dataloop,就可以循环的来把值赋给request中,然后运行request.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sam="http://www.soapui.org/sample/"> <soapenv:Header/> <soapenv:Body> <sam:login> <username>${setUp#result}</username> </sam:login> </soapenv:Body> </soapenv:Envelope>
2.该Groovy脚本的名称是"demo"
1
2
|
testRunner.testCase.testSuite.getTestCaseByName(
"TestCaseDemo"
).setPropertyValue(
"username"
,
"Loginn"
+String.valueOf(Math.random()).substring(
0
,
5
))
testRunner.testCase.testSuite.getTestCaseByName(
"TestCaseDemo"
).setPropertyValue(
"password"
,
"Loginn123"
)
|
上面的例子中,TestCaseDemo是指testcase的名称,在request中这样写:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sam="http://www.soapui.org/sample/"> <soapenv:Header/> <soapenv:Body> <sam:login> <username>${#TestCase#username}</username> <password>${#TestCase#password}</password> </sam:login> </soapenv:Body> </soapenv:Envelope>