我认为必须在从文件加载属性之前定义传递给 testrunner.sh 的参数。
不过,我 99% 确信您可以通过其他方式完成您想要的。
参数化请求中的端点。如果这是很多工作,我建议在文本编辑器中使用搜索和替换。我以前做过,而且效果很好。您只需注意服务端点可能出现的其他位置(例如在 WSDL/WADL/XSD 引用等中)
您希望在请求中为端点提供什么取决于您使用的是 SOAP 还是 REST。
For SOAP: ${#Project#endpoint}
(assuming that your endpoint property is a project property)
For REST: http://${#Project#server}
我忘记了为什么它必须有所不同,但弄清楚它是一件痛苦的事。
在属性字段中,数据如下所示:
SOAP: http://server:8080
REST: server:8080
(whatever port is relevant)
您可以使用文件设置这些属性。文件将在执行开始时被解析,请求将使用文件中的属性值。
于 2012 年 7 月 30 日编辑
您仍然可以使用我提到的方法。
此命令行运行我的示例测试,指定 test.props 文件。该文件中只有以下内容:
test=1234(由导出属性输出)
我的项目将名为 test 的项目属性设置为 1234 之外的另一个值。
ndfdXML 是我的项目名称.. 只是一个示例名称。
命令行:
C:\Program Files\SmartBear\soapUI-4.5.1\bin>testrunner.bat -Dsoapui.properties.ndfdXML=test.props ndfdXML-soapui-project.xml
soapUI 4.5.1 TestCase Runner
Configuring log4j from [C:\Program Files\SmartBear\soapUI-4.5.1\bin\soapui-log4j.xml]
14:32:29,283 INFO [DefaultSoapUICore] initialized soapui-settings from [C:\Users\chris.mead\soapui-settings.xml]
14:32:30,081 INFO [WsdlProject] Loaded project from [file:/C:/Program%20Files/SmartBear/soapUI-4.5.1/bin/ndfdXML-soapui-project.xml]
14:32:30,089 INFO [AbstractTestPropertyHolderWsdlModelItem] Overriding 1 properties from [test.props] in [ndfdXML]
14:32:30,702 INFO [SoapUITestCaseRunner] Running soapUI tests in project [ndfdXML]
14:32:30,717 INFO [SoapUITestCaseRunner] Running Project [ndfdXML], runType = SEQUENTIAL
14:32:30,718 INFO [SoapUITestCaseRunner] Running soapUI testcase [TestCase 1]
14:32:30,718 INFO [SoapUITestCaseRunner] running step [CornerPoints - Request 1]
14:32:31,132 WARN [AbstractSoapVersion] Ignoring validation error: error: cvc-complex- type.3.2.2: Attribute not allowed: encodingStyle@http://schemas.xmlsoap.o
rg/soap/envelope/ in element Envelope@http://schemas.xmlsoap.org/soap/envelope/
14:32:31,449 INFO [SoapUITestCaseRunner] Assertion [SOAP Response] has status VALID
14:32:31,450 INFO [SoapUITestCaseRunner] Assertion [XPath Match] has status VALID
14:32:31,450 INFO [SoapUITestCaseRunner] running step [Properties]
14:32:31,454 INFO [SoapUITestCaseRunner] running step [Property Transfer]
14:32:31,523 INFO [SoapUITestCaseRunner] running step [Groovy Script]
14:32:31,912 INFO [log] 1234
最后一行是这个 groovy 输出的:
log.info(context.expand('${#Project#test}'))