通过命令行通过Maven将其他参数传递给karate-config.js

时间:2017-10-10 16:47:59

标签: karate

我有额外的设置,我需要在通过Maven运行时传递给Karate,这些设置将在karate-config.js中提供。目前我可以使用karate.env属性传入一个字符串 - 是否有必要将我的参数编码为JSON对象并通过这一个属性传递它们,或者我可以执行以下操作:

mvn test -DargLine="-Dkarate.env='production' -Dkarate.clientid='1234567890' ...

这样我就可以在karate-config.js中引用karate.clientid,在那里我可以将它保存到返回的配置对象中。

我确定我在这里遗漏了一些明显的东西......

2 个答案:

答案 0 :(得分:1)

是的!请参阅import numpy as np import matplotlib.pyplot as plt a = np.cumsum(np.cumsum(np.random.randn(7,4), axis=0), axis=1) lab = np.array(["A","B","C","E"]) fig, ax = plt.subplots() ax.plot(a) ax.legend(labels=lab ) fig, ax = plt.subplots() # skip first color next(ax._get_lines.prop_cycler) ax.plot(a[:,1:4]) ax.legend(labels=lab[1:4]) plt.show() 的{​​{3}}。

以下是documentation

的示例

答案 1 :(得分:-1)

我找到了,但是我没有使用示例。我所做的:

  • 在gradle中:

    task api(type:Test) { systemProperty "karate.clientId", System.properties.getProperty("karate.clientId")... }

  • 在karate-config.js中(在var config中):

clientId: karate.properties['karate.clientId'] || 'xyz'

  • 在命令行中:

'-Dkarate.clientId=abc' 如果我未在命令行中设置clientId,则clientId将为'xyz'