如何将 属性 传递给 Gradle 的 soapui 插件,以便它在项目中可用

How do I pass a property to Gradle's soapui plugin so that it is available within a project

本质上,这个问题是关于soapui-gradle-plugin中projectProperties和globalProperties属性的正确使用。

我们有一个目前由 Ant 运行 开发的 soapui 项目,我正试图从 Gradle 推动它。它似乎在命令行上将 属性 传递给 soapui 的测试 运行ner,就像这样

-Papp.AuthHeaderValue="${webAPITests.AuthHeaderValue}""

使用项目 xml 文件访问 属性,如下所示

<con:default>${#Project#app.AuthHeaderValue}</con:default>

据我所知,这是一个使用 属性 扩展的项目级 属性。到目前为止一切正常。现在,在Gradle,我有这个

soapui {
    test {
        projectFile = '.\WebAPITests\soapUIWebAPITests.xml'
        testSuite = 'SampleTestSuite'
        testCase = 'GetByIdTestCase'
        endpoint = 'http://<server>/<endpoint>'
        printReport = true
        outputFolder = dirResults
        junitReport = true
        settingsFile = '.\WebAPITests\Dependencies\soapUI-4.5.2\soapui-settings.xml'
        saveAfterRun = false
        testFailIgnore = false
        projectProperties = ["app.AuthHeaderValue=\"${webAPITests.AuthHeaderValue}\""]
    }
}

那是行不通的。我查看了插件的代码,这似乎是正确的,但由于它不起作用,我可能错了或者其他地方不对。

如果有人能解释一下如何成功通过属性,我将不胜感激。

谢谢。

解决方案是删除转义引号。我对正在复制的 Ant 属性过于直白了。

soapui {
    test {
        ...
        projectProperties = ["app.AuthHeaderValue=${webAPITests.AuthHeaderValue}"]
    }
}