当前位置: 首页 > 知识库问答 >
问题:

如何在单个时髦脚本中访问所有 soap 请求

邴俊达
2023-03-14

我正在编写一个时髦的脚本,以在一个步骤中测试我的所有服务。

我导入了WSDL,然后自动生成所有SOAP请求。

我希望减少逐个测试所有SOAP服务的手动工作。

所以,如果可能的话,我想通过groovy实现。

从addressScript中的这里——我想在以后的所有测试用例中访问所有的SOAP请求。那么有没有可能通过上下文中的一些循环来实现它呢..?下面是我正在尝试的示例代码。

我的主要座右铭是减少逐个测试所有SOAP请求的所有手动工作。

import org.apache.commons.httpclient.methods.PostMethod;
import org.w3c.dom.*;


    class Example {
       static void main(String[] args) {

    String serviceInput="";
    PostMethod post = new PostMethod(");
    post.setRequestHeader("Accept", "application/soap+xml,application/dime,multipart/related,text/*");
    post.setRequestHeader("SOAPAction", "");


    def req = context.testCase.getTestStepAt(context.currentStepIndex - 1).httpRequest.requestContent
    log.info req

    // here i want to access all the SOAP requests in loop , and to test all the services in sequence 

       }
    }

共有1个答案

翁和颂
2023-03-14

从您所附的图像来看,您的案例中似乎使用了SOAP请求步骤。

这是时髦脚本

import com.eviware.soapui.impl.wsdl.teststeps.WsdlTestRequestStep
//Loop thru all the test cases of test suite
context.testCase.testSuite.testCaseList.each { testKase ->
    //Loop thru all the test steps of each test case
    testKase.testStepList.each { step ->
           //Check if the request type is SOAP     
        if (step instanceof WsdlTestRequestStep) {
            //Get the request of test step
            def stepRequest = step.getPropertyValue('Request')
            log.info "Request of step ${step.name} is :\n ${stepRequest}"
        } else {
            log.info 'Ignoring step as it is not SOAP request type step'
        }
    }
}

不太确定,收到请求后您想做什么。无论如何,stepRequest 变量将具有请求数据,现在只是记录,如您在上面的代码中看到的那样。

 类似资料:
  • 我正在编写一个Groovy脚本来使用SOAP Web服务。首先,我在SOAP中导入了我的WSDL并创建了一个项目。 那么所有的SOAP请求都会自动生成。 现在我尝试编写一个Groovy来使用生成的SOAP请求调用SOAP服务。 现在这是我的时髦脚本 我想访问在SOAPUI-CreateNote中生成的相同SOAP请求。我如何访问它? 我的实际需求是访问Groovy脚本中的所有SOAP请求——这样我

  • 我想知道我是否可以使用 Groovy 脚本创建一个新项目。到目前为止尝试的是: > 在 Soap UI 中手动创建了一个示例项目,使用以下脚本添加了测试套件、测试用例和时髦的测试步骤 运行步骤 但我无法从中创建一个项目。有人能帮我解决我缺失或出错的地方吗?

  • 是否可以从Groovy脚本运行jenkins作业? 我知道这是可能的运行詹金斯的工作从管道像这样 生成作业:“测试” 这也不起作用 构建(“测试”) 错误 生成作业:“测试” 编辑后执行系统Groovy脚本并添加 我在Hudson.instance.queue这条线上出错了。计划(作业,0,causeAction,paramsAction) 构建步骤“执行系统Groovy脚本”将构建标记为失败

  • 嗨,我正在使用SoapUI Pro来测试一组Soap网络服务。 我有一个 testRunListener,它将我的 soap 请求的请求和响应记录到它在运行测试时创建的文件中。在这里,我有一个if语句,该语句在记录请求和响应之前检查测试步骤的名称.. 而不是使用单个请求的名称,我想使用更通用的东西,例如请求的类型,可以是 createShipping 或 cancelShipping。这是因为我有

  • 问题内容: 我需要所有已登录的SOAP请求,以及持续时间(处理请求所花费的时间)。 最好的方法是什么?看起来可以为Spring WebServices配置log4j,但是它将记录所有值吗? 将以下行添加到log4j.xml 编辑:我们实际上是在使用,而不是。另外,看起来可以通过配置PayloadLoggingInterceptor来做到这一点 但是我不确定日志消息会去哪里。我将该拦截器添加到了我们

  • 我从项目中的脚本执行一个脚本。 该脚本中还有另一个循环,即执行请求。之后,应该执行另外两个脚本来处理输出。这些在请求步骤之后的相同testcase中,但不会自动执行。