soapui参数化

上一篇 / 下一篇  2012-07-09 16:54:35 / 个人分类:自动化测试

1、设置属性
  在test step上添加3个属性:paraList、loopCount、corpname
2、添加groovy控制脚本,必须下载opencsv.jar包放在安装目录lib下才能正确引用
groovy脚本:  
import au.com.bytecode.opencsv.CSVReader;
def filename = "C:\\Documents and Settings\\Administrator\\My Documents\\aa.csv"    //testRunner.testCase.getPropertyValue( "aa.csv" )
log.info("[load data] CSV File Path and Name: " + filename)
log.info("[load data] Reading the CSV...")
CSVReader reader = new CSVReader(new FileReader(filename));
def isHeader = true
List paraList = []
while ((nextLine = reader.readNext()) != null) {
  if (isHeader) {
      isHeader = false
  } else {
      paraList.add nextLine
  }
}
//set property to test case context
def loopCount = 0
def paraCount=paraList.size()
log.info("[load data] Number of Approval: " + paraCount)
context.setProperty("paraList",paraList)
context.setProperty("loopCount",loopCount);
for (i in 1..paraList.size()) //顺序读取参数验证功能
{
log.info("[loop start] Current Loop Count: " + context.loopCount);
def msg=context.paraList[i-1]
//testRunner.testCase.testSuite.getTestCaseByName("Approval").setPropertyValue("body","<![CDATA[" + msg[3].trim() + "]]>")
  context.setProperty("corpname",msg[0])
  testRunner.runTestStepByName( "realtimeQueryByCorpName")
  context.setProperty("loopCount", ++context.loopCount);
}
//----性能测试用,替换for
//def randomNumber=(int)(Math.random()*paraCount) //0到paracount的随机数
//def msg=context.paraList[randomNumber]
//context.setProperty("corpname",msg[0])
 
3、修改soap请求的参数
<arg0> ${#corpname}  </arg0>
 
 
 
for (i in 1..paraList.size()) //顺序读取参数验证功能
{
log.info("[loop start] Current Loop Count: " + context.loopCount);

def msg=context.paraList[i-1]
  array=msg[0].split('        ')
  context.setProperty("corpname",array[0])
  context.setProperty("url",array[1])
  testRunner.runTestStepByName( "realtimeQuery")
  context.setProperty("loopCount", ++context.loopCount);
}

TAG:

yinxiaodan的个人空间 引用 删除 yinxiaodan   /   2015-04-22 11:30:39
SoapUI参数化学习-1
http://uniontesting.com/home.php?mod=space&uid=102&do=blog&id=498
leihuai2006的个人空间 引用 删除 leihuai2006   /   2014-04-17 10:07:41
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.goldinfo.yeexing.com">
   <soapenv:Header/>
   <soapenv:Body>
                  -
                  <ser:RefundTicket>
         <!--Optional:-->
         <userName>Gold100842</userName>
         <!--Optional:-->
         <orderId>T2014040816295</orderId>
         <!--Optional:-->
         <retfundDetails><?xml version="1.0" encoding="UTF-8" ?>
- <req>
- <retfundDetails>
<retfundDetail  passengerName="向微微" refundMoney="1" refundRate="5" dealType="1"  />
</retfundDetails>
</req>

         </retfundDetails>
         <!--Optional:-->
         <refundType>1</refundType>
         <!--Optional:-->
         <sign/>
      </ser:RefundTicket>
   </soapenv:Body>
</soapenv:Envelope>我的retfundDetails该如何参数化呢?
leihuai2006的个人空间 引用 删除 leihuai2006   /   2014-04-17 10:06:24
5
 

评分:0

我来说两句

日历

« 2024-04-17  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 190002
  • 日志数: 55
  • 图片数: 4
  • 文件数: 3
  • 建立时间: 2010-11-29
  • 更新时间: 2020-12-24

RSS订阅

Open Toolbar