Why getting EmptyExpression error for token

Getting Error in Testops as failure

2020-11-06 16:06:32.539 DEBUG testcase.AccesstokenGeneration - 2: ACCESS_TOKEN = < not implemented yet for class: org.codehaus.groovy.ast.expr.EmptyExpression>

have script

tokenGen().toString()
 def ACCESS_TOKEN
String tokenGen() {

def response = WS.sendRequest(findTestObject('foldername/GenerateAccessToken'))
def jsonSlurper = new JsonSlurper()
def slurper = new JsonSlurper()
def result = slurper.parseText(response.getResponseBodyContent())
def ACCESS_TOKEN = result.access_token
WS.verifyResponseStatusCode(response, 200)
println(ACCESS_TOKEN)
GlobalVariable.ACCESS_TOKEN = ACCESS_TOKEN
}
2020-11-06 16:06:28.681 INFO  c.k.katalon.core.main.TestCaseExecutor   - --------------------
2020-11-06 16:06:28.697 INFO  c.k.katalon.core.main.TestCaseExecutor   - START Test Cases/TPO_API_Testing/AccesstokenGeneration
2020-11-06 16:06:29.658 DEBUG testcase.AccesstokenGeneration           - 1: tokenGen().toString()
2020-11-06 16:06:29.660 DEBUG testcase.AccesstokenGeneration           - 1: response = sendRequest(findTestObject("foldername/GenerateAccessToken"))
2020-11-06 16:06:32.458 DEBUG testcase.AccesstokenGeneration           - 2: jsonSlurper = new groovy.json.JsonSlurper()
2020-11-06 16:06:32.466 DEBUG testcase.AccesstokenGeneration           - 3: slurper = new groovy.json.JsonSlurper()
2020-11-06 16:06:32.466 DEBUG testcase.AccesstokenGeneration           - 4: result = slurper.parseText(response.getResponseBodyContent())
2020-11-06 16:06:32.504 DEBUG testcase.AccesstokenGeneration           - 5: ACCESS_TOKEN = access_token
2020-11-06 16:06:32.513 DEBUG testcase.AccesstokenGeneration           - 6: verifyResponseStatusCode(response, 200)
2020-11-06 16:06:32.531 DEBUG testcase.AccesstokenGeneration           - 7: println(ACCESS_TOKEN)
eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiJiODY4ZmFjYy1kZDc1LTQyZTMtOTM0OC1mODJkY2VlZGMwYWYiLCJzdWIiOiJ0YXZhbnRfbm9ucHJvZCIsInJvbGUiOiJVU1IiLCJjbGllbnRJZCI6ImRHRjJZVzUwUTJ4cFpXNTAiLCJjbGllbnRTZWNyZXQiOiJNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXZBclZmcEk0UkhlRGczMHBZYnpNWUNiSkZoS2llSm5mQkVOa2hxSGg0Sk0wWW5rWDFXMlBGcSsvRnppNFQzZmcyTFJYajBleWRtUWZmdzJpamZqK2RsMlZkSStURVM3b2RxWEIreTQ3WDBHUlNVZjYrMzl3T3dlbDhuUFl4ZDVGUjFhU2kyWVJ1ejlTYmNDUWpmeFJ4T2dZUG1GeU9aRHpDNGdxczF1dmJUTVNpZFV3dFlkeVUwWThXQUxNZ2FJZTVMTm16TWh0U3l6SlFLU1BNNmZ1WDZDQjlOcE1xd3VoVVBmTUpGNkNZTUlMYitoWUZIbE85NTl1Sm5jMDRrU0lHRDN6c1FEUktqV1dqUzFscXlRT3I3TmozRUphbjU3RUdRa2d3R2pQMDN3T01EQXNsZ3BOV0pqQWJRYnpjK2tUd0xpTG1saG12NDkzMnM0UUVRU2NNd0lEQVFBQiIsInVzZXJQYXNzIjoiRVZaN21Nd0hvZE9tNkd0a1dXVlMiLCJpYXQiOjE2MDQ3MDAzOTAsImV4cCI6MTYwNDcwMTI5MH0.Ib91I9p_K3adkzFgdcpNbEu6jScovaC39BGSJDD83yoyXl57Dlt8KZux5sfmIia5c242nSuoWt1MSBEHHwNyWg
2020-11-06 16:06:32.538 DEBUG testcase.AccesstokenGeneration           - 8: ACCESS_TOKEN = ACCESS_TOKEN
**2020-11-06 16:06:32.539 DEBUG testcase.AccesstokenGeneration           - 2: ACCESS_TOKEN = <not implemented yet for class: org.codehaus.groovy.ast.expr.EmptyExpression>**
2020-11-06 16:06:32.545 INFO  c.k.katalon.core.main.TestCaseExecutor   - END Test Cases/TPO_API_Testing/AccesstokenGeneration

hi,

why this variable is defined two times def ACCESS_TOKEN?
could be
def ACCESS_TOKEN = “”
ACCESS_TOKEN = result.access_token

GlobalVariable.ACCESS_TOKEN = ACCESS_TOKEN
using this to assigning def ACCESS_TOKEN = result.access_token value to Global variable ACCESS_TOKEN

let me know if its wrong way? Is that you mean both lines works as same ?

def ACCESS_TOKEN = result.access_token
GlobalVariable.ACCESS_TOKEN = ACCESS_TOKEN

@gsp before to go further, kindly paste your entire test script code again, properly formated
There are a lot of hints on this forum how you can achieve it.
(search about code block format and in general about markdown)
We would like to see a readable code, distinguished from other noise.
Otherwise is just a no go discussion.
Thank you!

LE: quoting is not code block

1 Like

This is whole script that capture token and assigned it to GV. same was posted above. Sorry let me know if understood it wrong (This is 1st case used access token)

tokenGen().toString()
 def ACCESS_TOKEN

String tokenGen() {

def response = WS.sendRequest(findTestObject('TPO/GenerateAccessToken'))

def jsonSlurper = new JsonSlurper()
def slurper = new JsonSlurper()
def result = slurper.parseText(response.getResponseBodyContent())
def ACCESS_TOKEN = result.access_token
WS.verifyResponseStatusCode(response, 200)
println(ACCESS_TOKEN)
GlobalVariable.ACCESS_TOKEN = ACCESS_TOKEN
}

Then 2nd chained request

String ACCESS_TOKEN = WebUI.callTestCase(findTestCase('TPO_API_Testing/AccessTokenGeneration'), [:], FailureHandling.CONTINUE_ON_FAILURE)

//WebUI.callTestCase(findTestCase('TPO_API_Testing/AccessTokenGeneration'), [:], FailureHandling.CONTINUE_ON_FAILURE)
println(ACCESS_TOKEN)

'Scope to a project'
def request = ((findTestObject('Object Repository/TPO/2_TPO-Create Loan')) as RequestObject)

'Create new ArrayList'
ArrayList<TestObjectProperty> HTTPHeader = new ArrayList<TestObjectProperty>()

'Send token in HTTP header'
HTTPHeader.add(new TestObjectProperty('Authorization', ConditionType.EQUALS, 'Bearer' + ACCESS_TOKEN))

HTTPHeader.add(new TestObjectProperty('Content-Type', ConditionType.EQUALS, 'application/json'))

'Set that token'
request.setHttpHeaderProperties(HTTPHeader)

'Get response text'
//response = ((findTestObject('Object Repository/TPO/2_TPO-Create Loan')) as RequestObject)

response = WS.sendRequest(findTestObject('TPO/2_TPO-Create Loan', [('ACCESS_TOKEN') : GlobalVariable.ACCESS_TOKEN, ('RESOURCE_PREFIX_TPO') : GlobalVariable.RESOURCE_PREFIX_TPO
            , ('last_name') : GlobalVariable.last_name, ('home') : GlobalVariable.home, ('ubhiemail') : GlobalVariable.ubhiemail
            , ('dob') : GlobalVariable.dob, ('firstname') : GlobalVariable.firstname, ('middle_name') : GlobalVariable.middle_name
            , ('address') : GlobalVariable.address, ('state_ab') : GlobalVariable.state_ab, ('zip') : GlobalVariable.zip
            , ('city') : GlobalVariable.city]))

WS.verifyResponseStatusCode(response, 200)

All passed but the console says in debug

2020-11-11 13:26:31.290 INFO  c.k.katalon.core.main.TestCaseExecutor   - START Test Cases/TPO_API_Testing/CreateLoan
2020-11-11 13:26:32.031 DEBUG testcase.CreateLoan                      - 1: ACCESS_TOKEN = callTestCase(findTestCase("TPO_API_Testing/AccessTokenGeneration"), [:], CONTINUE_ON_FAILURE)
2020-11-11 13:26:32.277 INFO  c.k.katalon.core.main.TestCaseExecutor   - --------------------
2020-11-11 13:26:32.277 INFO  c.k.katalon.core.main.TestCaseExecutor   - CALL Test Cases/TPO_API_Testing/AccessTokenGeneration
2020-11-11 13:26:32.746 DEBUG testcase.AccessTokenGeneration           - 1: tokenGen().toString()
2020-11-11 13:26:32.748 DEBUG testcase.AccessTokenGeneration           - 1: response = sendRequest(findTestObject("TPO/GenerateAccessToken"))
2020-11-11 13:26:35.075 INFO  c.k.k.core.webservice.common.HarLogger   - HAR: C:\Users\pathtoKatalon\Test Cases\TPO_API_Testing\CreateLoan\20201111_132628\requests\main\0.har
2020-11-11 13:26:35.202 DEBUG testcase.AccessTokenGeneration           - 2: jsonSlurper = new groovy.json.JsonSlurper()
2020-11-11 13:26:35.213 DEBUG testcase.AccessTokenGeneration           - 3: slurper = new groovy.json.JsonSlurper()
2020-11-11 13:26:35.214 DEBUG testcase.AccessTokenGeneration           - 4: result = slurper.parseText(response.getResponseBodyContent())
2020-11-11 13:26:35.236 DEBUG testcase.AccessTokenGeneration           - 5: ACCESS_TOKEN = access_token
2020-11-11 13:26:35.249 DEBUG testcase.AccessTokenGeneration           - 6: verifyResponseStatusCode(response, 200)
2020-11-11 13:26:35.262 DEBUG testcase.AccessTokenGeneration           - 7: println(ACCESS_TOKEN)
cRqYO50vgwr00kzwhfcRwzU6LEUb-Qxo8k5GxdZaro5TFRPjOlI-mys4_l2A
2020-11-11 13:26:35.266 DEBUG testcase.AccessTokenGeneration           - 8: ACCESS_TOKEN = ACCESS_TOKEN
2020-11-11 13:26:35.268 DEBUG testcase.AccessTokenGeneration           - 2: ACCESS_TOKEN = <not implemented yet for class: org.codehaus.groovy.ast.expr.EmptyExpression>
2020-11-11 13:26:35.270 INFO  c.k.katalon.core.main.TestCaseExecutor   - END CALL Test Cases/TPO_API_Testing/AccessTokenGeneration
2020-11-11 13:26:35.270 INFO  c.k.katalon.core.main.TestCaseExecutor   - --------------------
2020-11-11 13:26:35.279 DEBUG testcase.CreateLoan                      - 2: println(ACCESS_TOKEN)
null
2020-11-11 13:26:35.289 DEBUG testcase.CreateLoan                      - 3: request = findTestObject("Object Repository/TPO/2_TPO-Create Loan")

@Timo_Kuisma1 did the same in 2nd line of code , no errors now in console now, let me know if it fine.

tokenGen().toString()
def ACCESS_TOKEN = ""
String tokenGen() {
def response = WS.sendRequest(findTestObject('TPO/GenerateAccessToken'))
WS.verifyResponseStatusCode(response, 200)

def jsonSlurper = new JsonSlurper()
def slurper = new JsonSlurper()
def result = slurper.parseText(response.getResponseBodyContent())

ACCESS_TOKEN = result.access_token

GlobalVariable.ACCESS_TOKEN = ACCESS_TOKEN
println(ACCESS_TOKEN)