Каратэ - переключение между заголовками - PullRequest
0 голосов
/ 27 ноября 2018

Предположим, у меня есть 2 пользователя, и я использую обычную аутентификацию.Я хотел бы сгенерировать 2 основных токена аутентификации один раз и повторно использовать их для каждого сценария в одной функции.Кроме того, у меня есть scnearios, где авторизация не требуется.Как я могу достичь этого с наименьшей биопробиркой?В настоящее время у меня есть

auth-header.js

function(creds) {
  var temp = creds.username + ':' + creds.password;
  var Base64 = Java.type('java.util.Base64');
  var encoded = Base64.getEncoder().encodeToString(temp.bytes);
  return 'Basic ' + encoded;
}

karate-config.js

...
config.apitester1AuthHeader = 
karate.call('classpath:auth-headers.js', {username:'apitester1', password:'xxx'});
config.apitester2AuthHeader = 
karate.call('classpath:auth-headers.js', {username:'apitester2', password:'xxx'});
...

project-get.feature

Feature: project end-point

Background:
* url baseUrl
Scenario: get projects user has right to
  * configure headers = {Authorization : '#(apitester1AuthHeader)'}
  Given path 'project'
...

1 Ответ

0 голосов
/ 28 ноября 2018

То, что у вас есть, выглядит разумно.

Обратите внимание, что если вы сделаете:

* configure headers = null

Это будет иметь эффект временного отсутствия авторизации.Я бы порекомендовал придерживаться того, что у вас есть, и это уже достаточно модульно.

...