1

我创建了很多 Schema 合规性断言,并为所有这些断言设置了一个 wadl 文件。我把它放在 GIT 中,我的队友拿走了它。

他有问题,因为在他的 PC 上,他有另一个到存储库目录的路径。

如何设置项目目录的唯一路径?

那是我尝试过但没有成功:

  1. 使用路径设置项目属性, wadlSource = 'D:\repo\soapui\API.wadl' 然后设置为配置架构合规性断言路径 ='${#Project#wadlSource}'

  2. 设置为 Project 参数 Resource Root ='${projectDir}' 设置为 Configure Schema Compliance Assertion path ='\API.wadl'

  3. 设置为配置架构合规性断言路径 ='${projectDir}\API.wadl'

这些变体不起作用,有人可以帮助我吗?

4

2 回答 2

1

似乎模式合规性断言不支持属性扩展。我在项目级别创建了一个wadlSource属性,然后将其作为 Schema 合规性断言的路径,但是在 SOAPUI 日志中您可以看到:${#Project#wadlSource}

10:39:13,993 ERROR [SoapUI] An error occurred [com.eviware.soapui.impl.support.definition.support.InvalidDefinitionEx
ception], see error log for details
java.io.FileNotFoundException: C:\Programari\SoapUI-5.0.0\bin\${#Project#wadlSource} (The system cannot find the file specified)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(Unknown Source)
        at java.io.FileInputStream.<init>(Unknown Source)
        at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
        at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source)

您可以尝试使用 SOAPUI 打开功能请求。

无论如何要绕过这个,有几个选项,一种可能的解决方法是从您自己的 WS将wadl文件作为静态内容提供(这是最常见的方法),并将Schema 合规性断言配置到此 URL。

如果这不是一个选项,您可以放入一些内部http 服务器,例如apache-httpd,您和您的队友可以在其中访问配置该 URL 的架构合规性断言。

更新:

我也尝试使用SOAPUI版本5.1.2并发生相同的错误,似乎属性扩展在此版本的模式编译断言 url 中也不起作用。

于 2016-09-14T08:46:22.170 回答
0

我正在通过使用我们一直在使用的 WireMock 提供模式文件来解决这个问题。您可能还可以在 SoapUI 本身内创建一个虚拟服务(模拟),并启动它来提供模式文件。

于 2018-11-20T19:42:20.617 回答