2017-04-07 61 views
-1

測試步驟在了SoapUI(專業版)Groovy腳本我有12個測試步驟:在了SoapUI

  1. GET要求
  2. Groovy腳本女巫得到從以前的階躍響應total
  3. 屬性
  4. 房產轉讓
  5. POST請求1
  6. POST請求2
  7. POST請求3
  8. POST請求4
  9. POST請求5
  10. POST請求6
  11. POST請求7
  12. POST請求8

所有POST請求有ID參數。

問:

如何寫這樣也許另一個決策方式Groovy腳本:

if total = 8 then set ID parameters of POST 1 = 1,POST 2 = 1,POST 3 = 1,POST 4 = 1,POST 5 = 1,POST 6 = 1,POST 7 = 1,POST 8 = 1 
if total = 7 then set ID parameters of POST 1 = 2,POST 2 = 1,POST 3 = 1,POST 4 = 1,POST 5 = 1,POST 6 = 1,POST 7 = 1 
if total = 6 then set ID parameters of POST 1 = 2,POST 2 = 2,POST 3 = 1,POST 4 = 1,POST 5 = 1,POST 6 = 1 
if total = 5 then set ID parameters of POST 1 = 2,POST 2 = 2,POST 3 = 2,POST 4 = 1,POST 5 = 1 
if total = 4 then set ID parameters of POST 1 = 2,POST 2 = 2,POST 3 = 2,POST 4 = 2 
if total = 3 then set ID parameters of POST 1 = 3,POST 2 = 3,POST 3 = 2 
if total = 2 then set ID parameters of POST 1 = 4,POST 2 = 4 
if total = 1 then set ID parameters of POST 1 = 8 

回答

0

您可以使用下面的常規[工序2]

def totalPostSteps = 8 
def totalFromResponse = 7 //map the one you got from prev response 
def postIdArray = new int[totalPostSteps] 
def index = 0 
1.upto (totalPostSteps, 
{ 
    postIdArray[index]+=1; 
    index = index==totalFromResponse-1?0:index+1 
}) 
//log.info postIdArray.toString() 
postIdArray.eachWithIndex{num, idx -> 
    def numString = num!=0?num.toString():"" 
    //The next step will create/update properties in TestCase custom properties and u can map these directly to your POST requests 
    //OR You can set these directly to step3 and continue with step 4 
    testRunner.testCase.setPropertyValue("IdForPost_"+(idx+1), numString) 
    } 
+0

你的劇本結果每次都不一樣,大致看起來像這樣 - 我@@ 3bb633cd或者@ @ 52c6035或者@ @ 47a007e77等等 –

+0

哦。我改變了一些東西和工作。謝謝。我將testRunner.testCase.setPropertyValue(「IdForPost _」+(idx + 1),numString)更改爲testRunner.testCase.getTestStepByName(「Properties」)。setPropertyValue(「IdForPost」+(idx + 1),numString) –

+0

Nicee :) ..你能將它標記爲已接受嗎? - 謝謝 –