我的pom.xml看起来像这样
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.cvent</groupId>
<artifactId>soa-readyapi</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>OnSite Solutions ReadyAPI Tests</name>
<properties>
<soapui.environment/>
<soapui.test-suite/>
<soapui.test-case/>
</properties>
<build>
<plugins>
<plugin>
<groupId>com.smartbear</groupId>
<artifactId>ready-api-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<projectFile>${soapui.projectFile}</projectFile>
<iface>IOrderService</iface>
<tool>wsi,axis1,axis2</tool>
<settingsFile>soapui-settings.xml</settingsFile>
<!-- <environment>${soapui.environment}</environment> -->
<outputFolder>output</outputFolder>
<junitReport>true</junitReport>
<printReport>true</printReport>
<projectProperties>
<value>one_api="https://someurl:4000"</value>
<value>two_api="https://someurl:4001"</value>
<!-- <value>environment=${soapui.environment}</value> -->
</projectProperties>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
当我尝试使用以下命令运行此项目时 -
mvn clean test -Dsoapui.projectFile=smokeTest
测试似乎与ReadyAPI中设置的最后一个活动环境一起运行。它忽略了
<value>one_api="https://someurl:4000"</value>
<value>two_api="https://someurl:4001"</value>
我知道我可以使用环境功能来执行此操作,但这对我当前的用例没有帮助。我想在运行时设置它,现在我正在硬编码pom.xml,看看它是否可行,但它没有。
为什么readyAPI忽略我在pom.xml中设置的值的任何想法?
谢谢
答案 0 :(得分:0)
我进行了以下测试以检查这是否有效。
首先,我创建一个 Groovy testStep并使用以下代码展开项目属性,以检查是否从pom.xml
正确加载:
log.info context.expand('${#Project#one_api}')
log.info context.expand('${#Project#two_api}')
然后我还添加 REST testStep并将${#Project#one_api}
设置为端点:
最后我带了你的pom.xml
(因为@SiKing建议删除值中的引号,one_api=https://someurl:4000
而不是one_api="https://someurl:4000"
),然后执行{ {1}}。
mvn clean test -Dsoapui.projectFile=./soaptestprj.xml
跟踪显示以下内容:
mvn
尽管显然它无法解析15:16:37,406 INFO [SoapUIProTestCaseRunner] running step [Groovy Script INIT]
15:16:37,653 INFO [log] https://someurl:4000
15:16:37,653 INFO [log] https://someurl:4001
15:16:37,655 INFO [SoapUIProTestCaseRunner] running step [initProcess]
15:16:40,491 ERROR [WsdlSubmit] Exception in request: java.net.UnknownHostException: someurl
,但似乎该插件正确传递了someurl
。
我的猜测可能是问题在于您没有正确引用<projectProperties>
属性,请检查您是否正确指定project
。
希望它有所帮助,