Hello everyone,
I just started a new job and here we are working with katalon studio so I am a bit new to this.
I am going to a web and write into a search bar a destination and then wait for what the search bar is going to suggest me. Then I am getting text of the suggested words and I want to check if the suggested words contain string which is the searched destination.
ex: I go to travel agency website and write “Thailand” to the search bar, then check the pop-up with the suggested words and get the text of it - then I want to check if the text that I got contains “Thailand”.
Code:
WebUI.openBrowser(‘’)
WebUI.maximizeWindow()
WebUI.navigateToUrl(GV.URL)
WebUI.setText(findTestObject(‘Search/SearchInput’), GV.Zeme)
String suggestWords = WebUI.getText(findTestObject(‘Search/SuggestedWords’))
print(suggestWords)
WS.containsString(suggestWords, GV.Zeme , false)
where GV.Zeme is the global variable definied as a String in profile.
E: suggestWords looks like this “Thajsko OD 24 290 KČ
Thajsko > Phuket a okolí OD 27 990 KČ
Thajsko > Koh Chang a okolí OD 34 290 KČ”
Console log:
2020-09-25 10:09:37.281 ERROR c.k.katalon.core.main.TestCaseExecutor - Test Cases/SearchFunction/CheckSuggestedWord FAILED.
Reason:
groovy.lang.MissingMethodException: No signature of method: static com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords.containsString() is applicable for argument types: (java.lang.String, java.lang.String, java.lang.Boolean) values: [GV.Zeme, suggestWords, false]
Possible solutions: containsString(com.kms.katalon.core.testobject.ResponseObject, java.lang.String, boolean), containsString(com.kms.katalon.core.testobject.ResponseObject, java.lang.String, boolean, com.kms.katalon.core.model.FailureHandling)
at CheckSuggestedWord.run(CheckSuggestedWord:31)
at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)
at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)
at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:339)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:330)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:309)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:301)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:235)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:105)
at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
at TempTestCase1601021364097.run(TempTestCase1601021364097.groovy:25)
I tried to do similar thing before but could not work this out and eventually just did if else workaround but I want to be able to use the functions that katalon provides.
I hope it is not too confusing. Thanks in advance guys!