在soapui中使用Groovy脚本常用方法

1. setPropertyValue
      a. 设置 project level property
        //set to project level property
        testRunner.testCase.testSuite.project.setPropertyValue("Name", "propValue");
      b. 设置 testSuite level property
        //set to testSuite level property
        testRunner.testCase.testSuite.setPropertyValue("Name","propValue");
       c. 设置 testCase level property
        //set to testCase level property
        testRunner.testCase.setPropertyValue("Name","propValue");
      d. 设置XML
         def projectDir=context.expand('${projectDir}');
         def InitialXML = FileUtil.file2String(projectDir+"/XXX.xml");
         groovyUtils.setPropertyValue("stepName","Request",InitialXML);
        
2. 定位到某个testSuites
        def testSuite = testRunner.testCase.testSuite.project.testSuites['testSuites Name'];
        
3. getTestCaseCount()
       for(int i=0; i<testSuite.getTestCaseCount(); i++) { 
         if (!testSuite.getTestCaseAt(i).isDisabled()) {
         if (!(testSuite.getTestCaseAt(i).getTestStepByName("stepName")).equals()){
       .....
             }
          }
       }
      
4. getTestSuiteCount()
     testRunner.testCase.testSuite.project.getTestSuiteCount()
     
5. getLabel()
        a. 取test case的名称
        def tc = testRunner.testCase;
        log.info (tc.getLabel());
        b. 取test suite的名称
        def ts = testRunner.testCase.testSuite;
        log.info (ts.getLabel());
      
 6. getName()
       去project 名称
       def tp = testRunner.testCase.testSuite.project;
       log.info (tp.getName());
  
7. 声明namespace
       def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context );
       def getRequest = groovyUtils.getXmlHolder( 'stepName#Request' );
       getRequest.namespaces["ns1"] = "http://...";

8.层级访问
        testRunner.testCase.testSuite.project.testSuites[testSuiteName].testCases[testCaseName].testSteps[testStepName]

1. setPropertyValue
      a. 设置 project level property
        //set to project level property
        testRunner.testCase.testSuite.project.setPropertyValue("Name", "propValue");
      b. 设置 testSuite level property
        //set to testSuite level property
        testRunner.testCase.testSuite.setPropertyValue("Name","propValue");
       c. 设置 testCase level property
        //set to testCase level property
        testRunner.testCase.setPropertyValue("Name","propValue");
      d. 设置XML
         def projectDir=context.expand('${projectDir}');
         def InitialXML = FileUtil.file2String(projectDir+"/XXX.xml");
         groovyUtils.setPropertyValue("stepName","Request",InitialXML);
        
2. 定位到某个testSuites
        def testSuite = testRunner.testCase.testSuite.project.testSuites['testSuites Name'];
        
3. getTestCaseCount()
       for(int i=0; i<testSuite.getTestCaseCount(); i++) { 
         if (!testSuite.getTestCaseAt(i).isDisabled()) {
         if (!(testSuite.getTestCaseAt(i).getTestStepByName("stepName")).equals()){
       .....
             }
          }
       }
      
4. getTestSuiteCount()
     testRunner.testCase.testSuite.project.getTestSuiteCount()
     
5. getLabel()
        a. 取test case的名称
        def tc = testRunner.testCase;
        log.info (tc.getLabel());
        b. 取test suite的名称
        def ts = testRunner.testCase.testSuite;
        log.info (ts.getLabel());
      
 6. getName()
       去project 名称
       def tp = testRunner.testCase.testSuite.project;
       log.info (tp.getName());
  
7. 声明namespace
       def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context );
       def getRequest = groovyUtils.getXmlHolder( 'stepName#Request' );
       getRequest.namespaces["ns1"] = "http://...";

8.层级访问
        testRunner.testCase.testSuite.project.testSuites[testSuiteName].testCases[testCaseName].testSteps[testStepName]

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SoapUI使用Groovy脚本可以帮助你扩展和自定义测试逻辑。下面是一些在SoapUI使用Groovy脚本的常见示例: 1. 在请求使用Groovy脚本设置参数值: ```groovy // 获取请求对象 def request = context.testCase.testSteps["Request"].testRequest // 设置参数值 request.setRequestContent("Hello, SoapUI!") ``` 2. 在测试步骤使用Groovy脚本进行断言: ```groovy // 获取响应对象 def response = context.testCase.testSteps["Request"].testRequest.response // 断言响应码为200 assert response.getStatusCode() == 200 // 断言响应内容包含指定字符串 assert response.getResponseText().contains("Success") ``` 3. 在Groovy脚本使用循环和条件语句: ```groovy def count = 0 // 循环执行请求 while (count < 5) { def response = context.testCase.testSteps["Request"].testRequest.response log.info("Response: " + response.getResponseText()) count++ } // 根据条件执行不同的操作 if (response.getStatusCode() == 200) { log.info("Request succeeded") } else { log.error("Request failed") } ``` 4. 在Groovy脚本调用其他自定义方法或函数: ```groovy // 定义自定义函数 def customMethod(String message) { log.info("Custom Method: " + message) } // 调用自定义方法 customMethod("Hello, SoapUI!") ``` 以上示例只是演示了一些Groovy脚本的基本用法,你可以根据具体需求进行扩展和修改。在SoapUI,你可以将Groovy脚本添加到测试步骤、测试套件和全局范围,并通过`context`对象访问相关上下文信息。希望对你有帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值