Maven 如何让readyapi(以前的soapui)遵守我在pom.xml中指定的值?

Maven 如何让readyapi(以前的soapui)遵守我在pom.xml中指定的值?,maven,soapui,ready-api,Maven,Soapui,Ready Api,我的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"> <modelVer

我的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>
测试似乎使用ReadyAPI中上次设置的活动环境运行。它忽略了

   <value>one_api="https://someurl:4000"</value>
   <value>two_api="https://someurl:4001"</value>
one_api=”https://someurl:4000"
两个api=”https://someurl:4001"
我知道我可以使用环境特性来实现这一点,但这对我当前的用例没有帮助。我想在运行时设置它,因为现在我正在对pom.xml进行硬编码,看看这是否可行,但它没有

关于readyAPI为什么忽略我在pom.xml中设置的值,有什么想法吗


谢谢

我做了下面的测试来检查这是否有效

首先,我创建了一个Groovy testStep,并使用下面的代码来扩展项目属性,以检查是否从
pom.xml
正确加载了项目属性:

log.info context.expand('${#Project#one_api}')
log.info context.expand('${#Project#two_api}')
然后,我还添加了一个REST测试步骤,并将
${{Project}one#u api}
设置为端点:

最后,我接受您的
pom.xml
(正如@SiKing建议的那样,有必要从值中删除引号,正如
one\u api一样)=https://someurl:4000
而不是
one\u api=”https://someurl:4000“
)然后执行
mvn清理测试-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
,但该插件似乎正确地传递了

我的猜测是,问题可能在于您没有正确引用
项目
属性,请检查您是否正确地将其指定为
${project\YourProperty}


希望有帮助,

您能展示一下如何使用这些项目属性吗?在端点中?项目属性
one\u api=”https://someurl:4000“
two\u api=”https://someurl:4001“
用作rest服务端点。如果这不合理,请告诉我删除引号:
one\u api=https://someurl:4000
。我试过了,没有什么不同。您需要展示如何在项目中使用这些值。
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