Karate框架中调用read()时能否对内部传入的变量进行求值?
解决方案
你遇到的是Karate框架内置read()函数的参数解析规则问题:默认read()会将入参优先作为静态文件路径字面量处理,不会自动读取外部变量的存储值,按照以下两种方式修改即可实现预期效果:
- 方法1:使用
karate.read()方法替代内置read()karate.read()会自动对入参做变量求值,直接传入变量即可:* def call karate.read(demoType) - 方法2:用表达式语法包裹变量传入原生
read()
如果要继续使用原生read(),可以通过Karate的嵌入式表达式语法#()标记要解析的变量:* def call read('#(demoType)')
你可以提前打印变量确认值正确,避免路径错误:
* print 'demoType的值为:', demoType
内容的提问来源于stack exchange,提问作者Corleone
相关产品推荐
相关产品推荐

