是否可以在空手道功能文件中根据条件(例如:开发和阶段环境的测试数据可能会更改)传递数据?

问题描述 投票:0回答:1

我的测试框架使用 karate & python 及其后端测试。

我想在开发和暂存环境中执行我的测试,所以我必须将基于该条件的数据传递到我的功能文件。 (类似于 java 中的 if else 条件)

下面是我的特征文件设置

场景:xyz

  • def something = abc
  • def result = karate.exec("curl -X blah blah" + API-KEY + Endpoint)

在这里我想要这样的方式:

if(Endpoint.contains('dev')) API-KEY = 'dev api key'

否则如果(端点。包含('sig')) API-KEY = '暂存 api 密钥'

我希望能够根据数据执行的环境选择要发送的数据。这是为了在 GitHub 中自动运行。

提前感谢您的帮助。

python api automated-tests karate feature-file
1个回答
0
投票

你可以使用这样的东西:

* def apiKey = Endpoint.includes('dev') ? 'a' : 'b'

或者直接把逻辑写在JS里调用,有很多选择。请参阅有关使用 JS 函数的文档:https://github.com/karatelabs/karate#javascript-functions

另请参阅此答案:https://stackoverflow.com/a/50350442/143475

© www.soinside.com 2019 - 2024. All rights reserved.