I would like to use string.contains in If statement

I want to check a string in url and execute some actions.
I wrote this.

url = WebUI.getUrl()
println(url)

if ( url.contains("movie)) ) {
   WebUI.verifyElementPresent(findTestObject(' xx '), 10, FailureHandling.CONTINUE_ON_FAILURE)
} else ( url.contains("drama") ) {
   WebUI.verifyElementPresent(findTestObject(' yy '), 10, FailureHandling.CONTINUE_ON_FAILURE)
} 

But an error occued. This is a part of error.

2020-07-01 23:16:39.373 DEBUG testcase.browse_test           - 2: click(findTestObject("PC/com/digital/top/pickup_block_item1Img"))
2020-07-01 23:16:41.291 DEBUG testcase.browse_test           - 3: url = getUrl()
2020-07-01 23:16:41.718 DEBUG testcase.browse_test           - 4: println(url)
https://www.example.com/movie/hogehoge
2020-07-01 23:16:41.731 DEBUG testcase.browse_test           - 5: if (url.contains("movie"))
2020-07-01 23:16:41.736 DEBUG testcase.browse_test           - 6: else
2020-07-01 23:16:41.738 DEBUG testcase.browse_test           - 1: contains("drama").call({ -> ... })
2020-07-01 23:16:41.778 ERROR c.k.katalon.core.main.TestCaseExecutor   - ❌ Test testname FAILED.
Reason:
groovy.lang.MissingMethodException: No signature of method: java.lang.Boolean.call() is applicable for argument types: (Script1590369897794$_run_closure1) values: [Script1590369897794$_run_closure1@3bcd426c]
Possible solutions: wait(), any(), wait(long), and(java.lang.Boolean), any(groovy.lang.Closure), each(groovy.lang.Closure)
	at browse_test.run(browse_test:40)
	at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)

Is katalon avarable for contains method? any solutions?

if ( url.contains("movie")) ) { 
  WebUI.verifyElementPresent(findTestObject(' xx '), 10, 
    FailureHandling.CONTINUE_ON_FAILURE) 
} else { // if it's not "movie"
  WebUI.verifyElementPresent(findTestObject(' yy '), 10,
    FailureHandling.CONTINUE_ON_FAILURE) 
}

https://www.tutorialspoint.com/groovy/groovy_if_else_statement.htm

Also, be certain you are using the correct Failure Handling.

1 Like