我需要模拟一个休息服务,模拟已经在使用SoapUI了。问题是我创建了一个带有这个/test/userA/
的网址的模拟。
有没有办法创建一个也会响应网址/test/userB/
的模拟?我在想/test/user?/
或test/user[A-Z]/
之类的东西。是否可以使用SoapUI?
答案 0 :(得分:2)
我有点晚了,但这是一个可能的解决方案...
无法在SOAPUI mockService中配置此类路径,但您可以使用以下方法模拟目标:
您只能将/
配置为url路径,所有对http://your.mock.host:port/
的请求都将在mockService中处理。
然后检查路径是否是您想要的/test/user[A-Z]/
并根据[AZ]做出不同的响应,您可以在mockService的示例onRequest script
选项卡中使用follow groovy脚本,或者在您在mockService中的操作的Dispatch(SCRIPT)
选项卡:
// the regex
def pathRegex = /^\/test\/user([A-Z])\//
// get the request path
def path = mockRequest.getPath()
// check if the path is correct
def matcher = (path =~ pathRegex)
// path is not correct
// change assert to do your logic break...
assert matcher.matches()
// path is correct get the exaclty user[A-Z] to do
// your logic
def letter = matcher.group(1)
log.info letter
// do your logic depends on letter
...
此脚本的行为类似于:
对于网址/wrong/url/
输出:
assert matcher.matches()
| |
| false
java.util.regex.Matcher[pattern=^/test/test([A-Z])/ region=0,10 lastmatch=]
对于网址/test/userA/
Wed Nov 04 10:02:06 CET 2015:INFO:A
对于网址/test/userW/
Wed Nov 04 10:02:33 CET 2015:INFO:W
希望这有帮助,