Внимание! Я не Java кодер. Я думаю, что мне не хватает необходимого гена.
У меня есть вызов Гатлинга, который захватывает StateToken, необходимый для аутентификации.
.exec(http("00_Access_Site_10")
// This exec captures the stateToken parameter
.get("https://sso-cert.johndeere.com/login/login.htm?fromURI=%2Fapp%2Fjohndeerecert_dealerpathcert_1%2Fexkcj9qb4cfudNvLR1t7%2Fsso%2Fsaml")
.header("Accept:", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3")
.header("Accept-Encoding:", "gzip, deflate, br")
.header("Accept-Language:", "en-US,en;q=0.9")
.header("Sec-Fetch-Site:", "none")
.header("Sec-Fetch-Mode:", "navigate")
.header("Sec-Fetch-User:", "?1")
.check(regex(""""(?<=stateToken":")(.*)(?=","help)""").saveAs("StateToken"))
//.check(bodyString.saveAs(key = "responseBody"))
)
Это работает, за исключением того, что захваченная строка StateToken содержит символы которые должны быть преобразованы, т.е. \ 2D должен быть дефисом ("-").
Это:
.check(regex(""""(?<=stateToken":")(.*)(?=","help)""").saveAs("StateToken"))
.transform("{StateToken}" => str.replace("\\x2D","-"))
Не работает.
Спасибо.