我创建了很多Schema遵从性断言,并为所有这些断言设置了一个wadl文件。 我把它放在GIT中,而我的队友也接受了它。
他有问题,因为在他的PC上他有另一条通往存储库目录的路径。
如何设置项目目录的唯一路径?
那是我尝试过没有成功:
使用路径设置Project属性
wadlSource = 'D:\repo\soapui\API.wadl'
然后设置为Configure Schema Compliance Assertion path = '${#Project#wadlSource}'
设置为Project参数Resource Root = '${projectDir}'
设置为配置架构合规性断言路径= '\API.wadl'
设置为配置架构合规性断言路径= '${projectDir}\API.wadl'
这些变体不起作用,任何人都可以帮助我吗?
答案 0 :(得分:0)
似乎架构合规性断言不支持属性扩展。我在 Project 级别创建了一个wadlSource
属性,然后我将 Schema compliance 断言作为路径${#Project#wadlSource}
,但查看了SOAPUI日志你可以看到:
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打开功能请求。
无论如何要绕过这个有一些选项,可能的解决方法可以将wadl
文件作为来自您自己的WS的静态内容提供(这是最常见的方法)所以)并为此URL配置架构合规性断言。
如果这不是一个选项,你可以放入一些内部 http服务器,例如 apache-httpd ,你和你的队友可以访问配置架构合规性断言此URL。
<强>更新强>
我也尝试使用 SOAPUI 版本 5.1.2 并发生同样的错误,似乎属性扩展在 Schema compilance中不起作用断言网址也适用于此版本。
答案 1 :(得分:0)
我正在通过使用WireMock提供模式文件来解决此问题,无论如何我们都在使用。您可能还可以在SoapUI本身中创建一个虚拟服务(模拟),然后启动该虚拟服务以提供模式文件。