soapUI中的Groovy脚本和属性传输

时间:2016-02-19 04:44:15

标签: groovy soapui

我有什么方法可以从Property Transfer运行groovy script步骤?两者都属于同一测试用例。

测试用例包含以下测试步骤:

  1. groovy script
  2. soapUI request(GetAccountNumber)
  3. 属性转移步骤(在以下步骤中将响应属性从上方传输到请求属性)
  4. soapUI request(DownloadURL)
  5. 我需要确保流程如下:

    1. Groovy运行并从文件中读取数字并将其传递给GetAccountNumber。
    2. GetAccountNumber使用传递的值运行并生成响应。
    3. 此响应由属性转移步骤传递给DownloadURL。
    4. DownloadURL以此传递的值运行并生成输出。
    5. 我需要做的就是从groovy运行Property Transfer,因为其他步骤可以从groovy运行。

      它没有使用以下代码

      运行
      def testStep_1 = testRunner.testCase.getTestStepByName("PropertyTransfer") 
      def tCase_1 = testRunner.testCase.testSuite.testCases["SubmitGenerateReport"] 
      def tStep_1 = tCase.testSteps["PropertyTransfer"] 
      tStep_1.run(testRunner, context)
      

1 个答案:

答案 0 :(得分:5)

如果没有更多上下文,我认为您的问题是一个简单的拼写错误,您可以获得testCase并向tCase_1求助:

def tCase_1 = testRunner.testCase.testSuite.testCases["SubmitGenerateReport"];

然而,要获得tStep_1,请使用tCase代替tCase_1

def tStep_1 = tCase.testSteps["PropertyTransfer"]; tStep_1.run(testRunner, context);

此外,如果您想要从groovy运行的testStep与您正在执行的testCase相同;您只需使用以下命令即可运行:

testRunner.runTestStepByName('some teststep name')

我认为这比从testStep获取testCase然后运行它更方便。

希望它有所帮助,