日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
SoapUI的進(jìn)階使用

關(guān)于SoapUI的簡單使用,大家可以參考網(wǎng)上并自己摸索下,這里就不說了,下面說的是一些不常見的用法(但是又很有用),再加一些性能測試方面的經(jīng)驗。

按需制作網(wǎng)站可以根據(jù)自己的需求進(jìn)行定制,成都網(wǎng)站建設(shè)、做網(wǎng)站構(gòu)思過程中功能建設(shè)理應(yīng)排到主要部位公司成都網(wǎng)站建設(shè)、做網(wǎng)站的運用實際效果公司網(wǎng)站制作網(wǎng)站建立與制做的實際意義

File Import

很多時候會有 File Import(Upload)類的Functions的,如果要用SoapUI做集成測試的話,免不了要處理 byte[] 類型的參數(shù),那么如何通過SoapUI傳遞byte[](File)的參數(shù)了,實際上,也很簡單,看圖就很清楚了。

Property Transfer

Property Transfer 就是在SoapUI不同的Test Steps之間傳遞數(shù)據(jù),具體的可以看看文檔 Transferring Property Values。通過下面的實例圖你就創(chuàng)建了一個Property Transfer并添加了一個Transfer Value,而每個Transfer Value都有兩個部分,一個是Source,一個是Target,都可以選擇不同的Step和不同的Property。

如何配置這些內(nèi)容,請看一個例子。e.g.

假設(shè)在一個系統(tǒng)中有一個function:send msg step,它需要一個參數(shù),而這個參數(shù)是另一個Step:login 成功后的response,那么這種情況就可以這樣:

貼上要寫的配置信息:

Source

 
 
 
 
  1. declare namespace ns1='http://mic2.taifook.com/';  
  2. //ns1:loginResponse/return 

Target

 
 
 
 
  1. declare namespace mic2='http://mic2.taifook.com/';  
  2. //mic2:send/arg0 

Groovy

在SoapUI中可以寫一些腳本,這個腳本語言就是 Groovy ,實際上平常我們需要使用的Groovy還是很簡單的(因為和Java很類似),下面舉一些例子來看看:

e.g.1

rand

 
 
 
 
  1. import static java.util.UUID.randomUUID  
  2. randomUUID() as String  

這個就是用UUID作為一個隨機(jī)字符串的例子,在Test Step中可以這樣使用(上面Groovy Script 文件名為 rand)

 
 
 
 
  1. ${rand#result} 

e.g.2

getAccount

 
 
 
 
  1. def num = Integer.parseInt(testRunner.testCase.getPropertyValue( "count" ))  
  2. num = (++num) % 10 
  3. testRunner.testCase.setPropertyValue( "count", num + "")  
  4. String[] acList = [  
  5. "02-0000000-22",  
  6. "02-1000001-22",  
  7. "02-2000002-22",  
  8. "02-3000003-22",  
  9. "02-4000004-22",  
  10. "02-5000005-22",  
  11. "02-6000006-22",  
  12. "02-7000007-22",  
  13. "02-8000008-22",  
  14. "02-9000009-22" 
  15. ]  
  16. acList[num] 

這個就是順序并輪流從一個長度為10的字符串?dāng)?shù)組里取一個元素(***行有些錯誤,一開始得不到 count’s PropertyValue ,你可以用類似第三行先 set count = 0 后刪除,或者手動添加 count PropertyValue,如何添加?請自己google下),這個可以用來做一些性能測試的一些數(shù)據(jù)輸入(可以做到盡量不同),用法和上面一樣

 
 
 
 
  1.  
  2. <MSG><REC instrCode="985" ... acId="${getAccount#result}" ... /></MSG>  
  3.  

e.g.3

initData

 
 
 
 
  1. import au.com.bytecode.opencsv.CSVReader;  
  2.  
  3. def filename = testRunner.testCase.getPropertyValue( "filename" )  
  4. log.info("[load data] CSV File Path and Name: " + filename)  
  5. log.info("[load data] Reading the CSV...")  
  6.  
  7. CSVReader reader = new CSVReader(new FileReader(filename));  
  8.  
  9. def isHeader = true 
  10. List approvalList = []  
  11.  
  12. while ((nextLine = reader.readNext()) != null) {  
  13.   if (isHeader) {  
  14.       isHeader = false 
  15.   } else {  
  16.       approvalList.add nextLine  
  17.   }  
  18. }  
  19. //set property to test case context   
  20. def loopCount = 0 
  21. log.info("[load data] Number of Approval: " + approvalList.size())  
  22. context.setProperty("approvalList",approvalList)  
  23. context.setProperty("loopCount",loopCount);  
  24.  
  25. // get property  
  26. log.info("[loop start] Current Loop Count: " + context.loopCount);  
  27. def msg = context.approvalList.remove(0)  
  28.  
  29. testRunner.testCase.testSuite.getTestCaseByName("Approval").setPropertyValue("userid",msg[0])  
  30. testRunner.testCase.testSuite.getTestCaseByName("Approval").setPropertyValue("password",msg[1])  
  31. testRunner.testCase.testSuite.getTestCaseByName("Approval").setPropertyValue("key",msg[2])  
  32. testRunner.testCase.testSuite.getTestCaseByName("Approval").setPropertyValue("body","<![CDATA[" + msg[3].trim() + "]]>")  
  33.  
  34. context.setProperty("loopCount", ++context.loopCount); 

看到?jīng)]有,這個例子就很像Java了,用其它的Jar包(opencsv-xxx.jar,請把它放到SoapUI安裝路徑下的lib目錄下)里的方法來讀csv格式的文件,然后把讀出來的數(shù)據(jù)放到List中并存到context中,后面還用到了getTestCaseByName獲得當(dāng)前的Test Case(本例中TestCase名為Approval,請注意:不是Test Step名),并賦值以供使用。使用這里的值,也很簡單

 
 
 
 
  1. ${#TestCase#userid}  

這里的例子只是冰山一角,更多的請參考:

Tips & Tricks

Property Expansion

這個也是在工作中的一個分享,對象是有使用SoapUI經(jīng)驗的同事,所以,您看這部分,可能會有一些不清楚的,如果有什么建議或問題的話,可以通過微博 http://weibo.com/lishunli 或 QQ:506817493 或 Email:leeshunli@qq.com 聯(lián)系到我,大家一起交流學(xué)習(xí)。

原文鏈接:http://www.blogjava.net/lishunli/archive/2012/04/11/373769.html

【編輯推薦】

  1. Java RMI遠(yuǎn)程調(diào)用
  2. 在Eclipse中使用JSHint檢查JavaScript
  3. 淺談Java的方法覆蓋與變量覆蓋
  4. Java類變量和成員變量初始化過程
  5. JavaScript表格組件加載速度測試

分享題目:SoapUI的進(jìn)階使用
鏈接分享:http://m.5511xx.com/article/dpiddeg.html