URL在功能文件中不再可用吗

  • 本文关键字:不再 功能 文件 URL karate
  • 更新时间 :
  • 英文 :


功能文件中的URL是否不再可用?例如,在我们的主要功能文件中,我们将背景设置为:

背景:

* url url
* header Authorization = token
* def baseUrl = 'care/v1.1/account/'

url来自我们的javascript配置文件。我们有多个运行空手道套件的环境,并且有指向每个环境的配置文件,因此每个环境的url都是唯一的。然后在所需的场景中;"助手";功能文件。在该功能文件中,将没有背景,只有一个场景。这种情况看起来像:

* path baseUrl
Given path 'MTYzODJAQDg=/call/add'

这将适用于空手道1.20。现在在空手道1.3.0.RC2上,安装程序失败了。这就像url变量没有被共享,或者没有与辅助功能文件共享。调用助手功能文件的场景现在将失败。

我已经能够";"修复此";,通过将主功能文件中的相同url声明添加到我们的辅助功能文件中,基本上所有功能文件都有它

我的问题是,这是新版本中预期的行为吗。

首先,path不是一个"变量";并且它不是为在call任何东西时工作而设计的。

我有两个建议。

  1. karate-config.js中设置特定于环境的配置。这就是它的设计目的,你可以很好地调用一个功能来实现它。参见karate.callSingle()

  2. 使用变量";"绕过";信息;称为";功能可以使用。或者当你制作call时,你可以";返回";可供后续步骤使用的值。

我认为尝试使用";呼叫";而不是预先设置变量是你麻烦的根源。如果在调用某个东西时需要切换url,只需使用一个变量即可。

编辑:空手道现在有一个解决这个特定问题的方案:https://github.com/karatelabs/karate/issues/2209

将url声明(*url-url(添加到"助手";特征文件,本质上在每个特征文件中都有它,将";"修复";";问题";。

最新更新