当前位置: 首页 > 知识库问答 >
问题:

空手道中变量的替换

林龙野
2023-03-14
test/lambda-migration/v1/quote'

功能文件-1

场景大纲:Lambda API注册

给定url ApiAdminURL

json myReq = read('swagger-lambda.json')
def responsefromsubscriber = call read('Subscriber.feature') { InvokeStatus: '#(InvokeStatus)', version: '<version>' }

match responsefromsubscriber.InvokeStatus == 200

Examples: 
  | responseCode | version |
  |          200 | v1      |

功能文件-2

给定url internalGateway

print 'Version: ' , version 

def LocalVersion = version

print 'LocalVersion: ' , LocalVersion 

和路径'test/lambda-migration/#(LocalVersion)/quote'

这不是将#(LocalVersion)替换为v1

共有1个答案

龙越彬
2023-03-14
And path 'test/lambda-migration/#(LocalVersion)/quote'

这是不对的。请阅读这部分文档:https://github.com/intuit/karate#rules-for-embedded-expressions

还要注意,path支持逗号分隔形式:

尝试:

And path 'test/lambda-migration', LocalVersion, 'quote' 
 类似资料:
  • 在空手道中,您可以通过发送json/list调用该功能 例如: 引发错误:路径:$,实际值:'',应为:'30e093da-c4e3-4ee0-b180-e5d0b4302d9f',原因:不是子字符串 步骤: 在日志检查功能中,我试图使用 日志检查功能步骤 我尝试了另一种方法,我把它分配给 我将发送json的另一种方法 步骤为logcheck.feature 例如: 错误抛出:com.intuit

  • 我有一个情况,我需要在空手道中传递不同种类的日期类型变量。为此,我创建了一个JAVA方法,并在一个特性文件中调用它,如下所示。 我读到它的cucumber限制,不能支持动态变量在场景大纲。我也读过https://github.com/intuit/karate#the-karate-way,但不知何故,我不知道如何解决下面的情况。

  • 我的API测试项目的工作,并已纳入空手道这样做。现在,我的要求是创建一个响应endpoint的服务器。所有这些都已完成,但我的要求是访问服务器功能中的空手道配置文件中定义的变量。我不能这样做。 例如:功能:示例服务器 场景:路径匹配('\variablevalue)**methodIs('get')) def响应=默认环境 注意:默认_env是空手道配置中的一个变量。js文件,并保存一些默认值。

  • 在karate-config.js我基于环境设置了basUrl。我想能够得到这个网址在Java所以我可以得到相应的服务器名称在网址。请告诉我怎么做。我的karate-config.js看起来像这样: 我编写了一个Java实用程序来连接数据库并运行查询。但我需要知道数据库是在示例中的server1还是server2上。

  • 这两种方法都不能以带句点(.)的嵌套值为目标以名义?对吧?

  • 我正在从一个文件中读取xml结构,并替换示例中的值 > def inputXml=read('classpath:xml/input.xml') 我的xml结构如下所示 示例: 我想更新“n”标记名ACCOUNTTYPE和与上面类似的相应目的(键和值)。空手道有没有办法做到这一点?请建议。 Is是否可以在xml文件中使用“#(accountType)”和“#(purpose)",类似于json并运