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

如何使用Java在SoapUI中设置和获取TestStep属性

王才英
2023-03-14

我正在尝试在Java中的SOAPUI项目中设置SOAPUI TestStep的属性,如下面的屏幕截图所示。

当我调试下面的代码时,当我得到属性或设置属性值时,我总是得到空值。我的观点是我想从我无法做到的 java 函数中设置属性变量。当我用谷歌搜索问题时,我在 Groovy 中得到了帮助。有人可以帮助我如何在 Java 中做到这一点吗

public class SoapUITest
{
   public final static void main(String [] args) throws Exception {

    WsdlProject project = new WsdlProject("C:\\users\\vikram\\WebService\\WebServiceTest\\src\\main\\java\\weather.xml");
    WsdlTestSuite wsdlTestSuite = project.getTestSuiteByName("WeatherZip");
    WsdlTestCase wsdlTestCase = wsdlTestSuite.getTestCaseByName("Weatherbyzip");
    WsdlTestStep wsdlTestStep = wsdlTestCase.getTestStepByName("GetCityForecastByZIP");
    wsdlTestStep.setPropertyValue("City","21001");// Problem: Unable to set the property value
    WsdlTestCaseRunner wsdlTestCaseRunner = new WsdlTestCaseRunner(wsdlTestCase, new StringToObjectMap(wsdlTestCase.getProperties()));

    TestStepResult testStepResult = wsdlTestCaseRunner.runTestStep(wsdlTestStep);
    if (testStepResult instanceof WsdlTestRequestStepResult) {
        System.out.println(((WsdlTestRequestStepResult) testStepResult).getResponse().getContentAsString());
    }
  }
}

我想在执行程序时动态设置城市的值。请帮助我解决这个问题。

共有1个答案

史俊德
2023-03-14

好的…我自己通过在TestCase级别而不是Test步骤中添加自定义属性来解决这个问题。

wsdlTestCase.set属性值("City","12345");

现在,SoapUI请求主体部分如下所示

<soapenv:Body>
  <weat:GetCityForecastByZIP>
     <!--Optional:-->
     <weat:ZIP>${#TestCase#City}</weat:ZIP>
  </weat:GetCityForecastByZIP>
</soapenv:Body>
 类似资料:
  • 如何在TypeORM中使用getter和setter。 我在这里和这里都看到了问题,但没有找到答案 例如,离开我的用户实体 我使用的是类型ORM版本 0.2.7

  • null null 我用一个单独的脚本编写了整个测试用例,并首先在groovy控制台上测试了它。当我开始将它转换为soapUI,并使用该属性将数据从步骤2“传输”到步骤5时,我出现了问题,因为我似乎无法将Arraylist放入属性(请参见下面的错误消息)。 现在我感到困惑的是,这是不可能的,因为我可以很容易地将SQL实例放在属性中: 因此,我如何将我的数组(填充了对象)从步骤2传输到步骤5,以便与

  • 我已经尝试在Objective-C中创建HTTP Get。 它使用中的,并使用选择或。 并通过以下代码设置标头:

  • 我正在尝试在jython中使用SoapUIAPI(为Robot Framework修改SoapUILibrary),但不知为何,我无法找到任何方法来设置property TestStep的属性。 设置项目、全局和系统属性很容易使用 SoapUITestCaseRunner.setProjectProperties() SoapUITestCaseRunner类不包含任何访问testSteps的方法

  • 我正处于使用SoapUI Pro学习Groovy的初始阶段。所以我开始在Groovy TestStep编辑器中编写简单的脚本,如下所示 当我通过单击SoapUI Pro中的“Run”按钮来执行此脚本时,它会抛出以下错误消息。 错误: nit.java:544AntlrParserPorg.codehaus.groovy.control.CSTIntoAST(AntlrParserPnit.comp

  • 我想问你,我应该如何设置和获取属性值?我应该这样做吗,例如直接从另一个类并将属性设置为公共属性,或者更好的做法是将属性设置为私有并更改它或通过使用此类中实现的公共函数来获取它? 第一种情况: 第二种情况: 这段代码显然有点简化...