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

时间:2017-02-03 16:06:26

标签: gradle plugins soapui

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

我们有一个目前由Ant运行的soapui项目,我正试图从Gradle开车。它似乎将命令行上的属性传递给soapui的测试运行器,如此

-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}\""]
    }
}

这不起作用。我查看了插件的代码,这似乎是正确的,但是,由于它不起作用,我可能错了,或者其他东西不合适。

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

感谢。

1 个答案:

答案 0 :(得分:0)

解决方案是删除转义的引号。我对复制的Ant属性过于文字化。

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