У меня есть getToken
запрос в тестовом примере get_Admin_Token
в PassToken
тестовом наборе, где я получаю ответ в следующем JSON:
{
"access_token": "5701f536-0bd5-441f-a490-21aafeasdasdd",
"token_type": "bearer",
"refresh_token": "c53af657-8292-4aff-xxxx-xxxf0ffed310",
"expires_in": 80208,
"scope": "read write trust"
}
Мне нужно использовать значение access_token
в методе uploadFile
, но мне нужно передать его в заголовке.У меня есть поле Authorization
со значением Bearer: $(access_token)
.
Используя какой-то гугл, я нашел: https://community.smartbear.com/t5/SoapUI-Open-Source/How-do-I-do-a-property-transfer-with-multiple-source-responses/td-p/106456 вопрос, который выглядел похожим.Я начал создавать тестовый шаг GroovyScript, где использовал код для передачи его в таблицу свойств, но безуспешно.Я также пытался применить его к утверждениям для get_Admin_Token
, но получил сообщение о неправильных типах объектов.Я также пытался использовать def accessToken = jsonSlurper.access_token.toString()
для использования строк, но теперь я получил ошибку `
No signature of method:
com.eviware.soapui.impl.wsdl.testcase.WsdlTestCase.setProperty() is
applicable for argument types: (java.lang.String, java.lang.String) values:
[AUTH_KEY, Bearer 5701f536-0bd5-441f-a490-21aafeasdasdd] Possible solutions:
getProperty(java.lang.String), addProperty(java.lang.String),
hasProperty(java.lang.String), hasProperty(java.lang.String), getProject(),
getProperties()
Мой код Groovy:
import groovy.json.JsonSlurper
def response = messageExchange.response.responseContent
def jsonSlurper = new JsonSlurper().parseText(response)
assert !(jsonSlurper.isEmpty())
def accessToken = jsonSlurper.access_token.toString()
assert null != accessToken, "access_token does not have a value"
def authorizationKey = "${accessToken}"
context.testCase.setProperty('AUTH_KEY',"Bearer " + authorizationKey)
Этот код действителен?Я не уверен, что поставить в следующем методе в качестве значения авторизации в заголовке, я пытался с ${#get_Admin_Token#AUTH_KEY}
, но он не работает