Automated tests 如何在空手道DSL框架中使用PATH处理URL中的参数?

Automated tests 如何在空手道DSL框架中使用PATH处理URL中的参数?,automated-tests,cucumber,karate,Automated Tests,Cucumber,Karate,我已阅读了以下文件: 我也在这些论坛上阅读了许多关于相关主题的答案,其中最值得注意的是: 然而,我仍然无法理解这个概念。也许我更像一个菜鸟,而不是一个典型的菜鸟。我的问题是: The complete api: /sample/api/v1/sampleweb/{sampleweb}/webversion/{version} Feature: Background: * def baseUrl = '/sample/api/v1/'

我已阅读了以下文件:

我也在这些论坛上阅读了许多关于相关主题的答案,其中最值得注意的是:

然而,我仍然无法理解这个概念。也许我更像一个菜鸟,而不是一个典型的菜鸟。我的问题是:

The complete api: /sample/api/v1/sampleweb/{sampleweb}/webversion/{version}

    Feature:
    
        Background:
            * def baseUrl = '/sample/api/v1/'
    
        @postRandomData
        Scenario: POST API for creating data
            Given url host
            And path baseUrl
我该如何将Url的其余部分添加到“baseUrl”(基本上是上面列出的完整路径)中?我是否应该将“sampleweb/{sampleweb}/webversion/{version}”抛出到一个变量中,然后只执行“baseUrl+variable”


请告知。

只需使用字符串连接即可。就像普通的JavaScript一样。这里尝试找出“硬编码”字符串和变量之间的区别

* def want = 'something'
* url baseUrl + '/anything'
* path 'you', want

@hungryhippos我要做的就是有这种灵活性,就是使用如下的东西:

var endpoint =  '/sampleweb/{sampleweb}/webversion/{version}'
.replace('{sampleweb}', param1)
.replace({version}', param2)

如果我理解正确,我可能会这样做:
和path-baseurl+/sampleweb/{sampleweb}/webversion/{version}
@hungryhippos不,我想我会这样做:
和path-baseurl,'sampleweb',sampleweb,'webversion',version
,然后删除“/”这是一个API调用,我的请求可能用错了字。它不是一个传统的URL(从http开始)。但是,是的,我会按照你的建议试试套餐。非常感谢您的帮助@hungryhippos我要做的就是使用smth,比如:var endpoint='/sampleweb/{sampleweb}/webversion/{version}'。替换('{sampleweb}',param1)。替换({version}',param2)非常有趣的解决方案。谢谢分享。