如何在命令行中为我的测试覆盖 URL?
How do I override just the URL for my test at the command line?
在我的空手道中-config.js,我已经为我在测试中使用的端点设置了默认 url:
var config = {
env: env,
pricingApiUrl: 'http://localhost:8080'
}
在我需要此端点的测试中,我将 'url' 分配给该端点 * url pricingApiUrl
我知道如何在 karate-config.js 文件中设置不同的环境,但在某些情况下我不知道 'pricingApiUrl' 的确切 url 直到 运行时间。
所以我想知道当我在命令行 运行 测试时是否可以通过命令行标志设置 'pricingApiUrl'。
没有直接的方法。也许你可以贡献代码:)
您可以检查系统-属性 并有条件地做一些事情。例如:
var config = {
env: env,
pricingApiUrl: karate.properties['from.cli'] || 'http://localhost:8080'
}
其他想法:
这是我发现的一种方法:
1.) 在您的 karate-config.js
中添加以下内容,以便您的测试默认使用 'http://localhost:8080'(或任何适合您的默认 url)或使用来自 karate.properties 如果存在:
var config = {
env: env,
pricingApiUrl: karate.properties['platform.pricing.api.url'] || 'http://localhost:8080'
}
2.) 然后,运行 你在命令行的测试传递了一个你定义的 karate.properties 的值(karate.properties['platform.pricing.api.url'] 在我的例子中):
mvn clean test -Dplatform.pricing.api.url=https://your_heroku_app.herokuapp.com
'platform.pricing.api.url' 只是一个任意的描述性名称。您可以使用不同的。
url https://your_heroku_app.herokuapp.com 只是一个例子——将 api 的基础 url 放在你的测试中 运行ning against
在我的空手道中-config.js,我已经为我在测试中使用的端点设置了默认 url:
var config = {
env: env,
pricingApiUrl: 'http://localhost:8080'
}
在我需要此端点的测试中,我将 'url' 分配给该端点 * url pricingApiUrl
我知道如何在 karate-config.js 文件中设置不同的环境,但在某些情况下我不知道 'pricingApiUrl' 的确切 url 直到 运行时间。
所以我想知道当我在命令行 运行 测试时是否可以通过命令行标志设置 'pricingApiUrl'。
没有直接的方法。也许你可以贡献代码:)
您可以检查系统-属性 并有条件地做一些事情。例如:
var config = {
env: env,
pricingApiUrl: karate.properties['from.cli'] || 'http://localhost:8080'
}
其他想法:
这是我发现的一种方法:
1.) 在您的 karate-config.js
中添加以下内容,以便您的测试默认使用 'http://localhost:8080'(或任何适合您的默认 url)或使用来自 karate.properties 如果存在:
var config = {
env: env,
pricingApiUrl: karate.properties['platform.pricing.api.url'] || 'http://localhost:8080'
}
2.) 然后,运行 你在命令行的测试传递了一个你定义的 karate.properties 的值(karate.properties['platform.pricing.api.url'] 在我的例子中):
mvn clean test -Dplatform.pricing.api.url=https://your_heroku_app.herokuapp.com
'platform.pricing.api.url' 只是一个任意的描述性名称。您可以使用不同的。
url https://your_heroku_app.herokuapp.com 只是一个例子——将 api 的基础 url 放在你的测试中 运行ning against