gpt4 book ai didi

karate - karate-config.js 中是否可以有两个 baseUrl?

转载 作者:行者123 更新时间:2023-12-01 15:40:57 24 4
gpt4 key购买 nike

我有一个场景,我将与其他产品进行集成测试。所以我有两个 URL,每个 URL 都有单独的授权 token 。 karate-config.js 中是否可以有两个 baseUrl,如果是,我们如何在功能文件中访问它们?

karate-config.js

if(env == 'pre-prod')
{
config.baseUrl='url1'
}

headers.js

function() {
var authheaders = {};
switch(baseUrl){
case 'url1':authheaders = { Authorization: 'auth-token'}
break;
}
return authheaders
}

最佳答案

您可以进行以下更改karate-config.js 文件如下所示,

function() {
var env = karate.env; // get java system property 'karate.env'
karate.log('karate.env system property was:', env);
if (!env) {
env = 'local'; // a custom 'intelligent' default
}
var config = { // base config
env: env,
profile: 'local',
DataSetUrl: 'http://localhost:9005/v0.2.4/',
DMUrl: 'http://localhost:8004/v0.2.3/',
SchemaUrl: 'http://localhost:8006/v0.2.3/',
URUrl: 'http://localhost:9005/v0.2.4/',
username: 'null',
password: 'null'
};
if (env == 'staging') {
// over-ride only those that need to be
var config = { // base config
env: env,
profile: 'staging',
baseUrl: 'staging url',
dbname: 'url2',
server_url: '12.12.12.12',
server_port: 31700,
username: 'mongo-staging-user',
dbname: 'db_name',
password: 'passoword'
};
}
}
// don't waste time waiting for a connection or if servers don't respond
// within 5 seconds
karate.configure('connectTimeout', 5000);
karate.configure('readTimeout', 5000);
return config;
}

对于授权,您可以创建一个如下所示的 config.feature 文件,

Feature: Auth

Scenario: Auth
* def Auth = 'auth'

在功能文件中,您可以使用网址和授权

Feature: Test 

Background:
* def config = call read('classpath:features/Config.feature')
* def auth = config.Auth

Scenario:1

* url DMUrl
Given path 'yourpath'
When method get
Then status 200
#
* url DataSetUrl
Given path 'yourpath'
When method get
Then status 200

关于karate - karate-config.js 中是否可以有两个 baseUrl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54253883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com