2016-08-12 5 views
3

Я пытаюсь использовать динамическое поле из обработанного ответа. Синтаксический ответ должен быть выполнен для последнего запроса, выполненного с использованием конкретной среды. Это возможно?Paw - Получить последний запрос, сделанный с использованием конкретной среды

Вот сценарий:

1. Make Request 1 using Environment A 
    Receive Response A1 
2. Make Request 1 using Environment B 
    Receive Response B1 
3. Make Request 2 using environment A, with field from parsed response A1 
    Receive Response A2 
4. Make Request 2 using environment B, with field from parsed response B1 
    Receive Response B2 

Как организовать шаги 3 и 4?

ответ

3

Мы планируем внедрить его правильно, используя вкладки в MacOS Sierra. С каждой вкладкой в ​​качестве выделенного сеанса, и вы выберете выделение среды на вкладке.

Это не правильно реализовано в лапе, но вы можете написать собственный динамическое значение для этого или использовать Hacky обходного пути:

  1. Выберите переменные разделения в вашей среде step1

  2. Установите заголовок X-paw-env в запросе 1 переменную среды перегородки. Таким образом, вы получите текущее значение переменной разделения в зависимости от среды step 2

  3. в запросе 2 в поле, где вы используете Response Parsed Body вставить Custom динамическое значение вместо этого. Внутри получите последний обмен для запроса 1, где заголовок запроса соответствует значению вашей переменной секционирования для текущей среды. Затем извлечь значение, которое нужно из тела ответа с помощью RegExp Match step3

function evaluate(context){ 
 
\t var variableValue = \t context.getEnvironmentVariableByName("myPartitioningVariable").getCurrentValue() 
 

 
\t var exchanges = context.getRequestByName("Request1").getAllExchanges(); 
 
\t for (var i = 0; i < exchanges.length; i++) { 
 
\t \t console.log(i, exchanges[i].requestHeaders["X-paw-env"]); 
 
\t \t if (variableValue === exchanges[i].requestHeaders["X-paw-env"]) { 
 
\t \t \t var dv = new DynamicValue("com.luckymarmot.RegExMatch", { re: '"user":\\s*"([^"]*)', input: exchanges[i].responseBody }); 
 
\t \t \t console.log(exchanges[i].responseBody) 
 
\t \t \t console.log(i, "returning") 
 
\t \t \t return dv.getEvaluatedString(); 
 
\t \t } 
 
\t } 
 

 
};

 Смежные вопросы

  • Нет связанных вопросов^_^