Hello Everyone,
I have a question around URL verification in Katalon. I am not able to verify how to verify if the URL on which user is landing doesn’t contain some of the the strings that I will mention in my test case. There are many solutions available but not able to figure this out. I just started in Automation and learning new stuff daily.
For e.g I want to verify a url that it should not contain any " - " in it. How to verify this. I tried this statement
WebUI.verifyNotMatch(‘https://www.thisismy-url.com/’, ‘-’, true)
but it gave me error
verifyNotMatch(‘https://www.thisismy-url.com/’, ‘-’, true) FAILED.
Reason:
com.kms.katalon.core.exception.StepFailedException: Unable to verify not match between actual text ‘https://www.thisismy-url.com/’’ and expected text ‘-’ using regular expression (Root cause: java.util.regex.PatternSyntaxException: Dangling meta character ‘*’ near index 0
-
^)
No need to use the WebUI API here, just use plain old java/groovy:
String url = "https://www.thisismy-url.com/";
assert !url.contains("-");
Thanks Buddy, Giving it a try.
@Brandon_Hein This worked well too.
Thanks for helping me out today. Keep up the good work.
Now I will update my existing test cases with the enhancements needed.
Just to add an explanation here: WebUI.verifyNotMatch() won’t check for non-existence of the " - ", it will compare both of the strings and should return true if they are not equal.
The third parameter (“true” in this case) says that the string in question is regex.
@Mate_Mrse Thanks for explaining the function here. I would suggest to Katalon to make the description plain and easy on the keyword help pages.
@Brandon_Hein @Mate_Mrse One more question. Is there a way that I can verify if the URL has any character in capital or in small case ?
char[] urlChars = url.toCharArray()
for(char ch in urlChars) {
if(Character.isUpperCase(ch)) {
println "URL contains uppercase letter : " + ch
}
}
Use the same approach for lower case letters.
Thanks @Marek_Melocik
Is there a way that we can use an assert statement or verify statement.
I want test case to fail if there are uppercase letters. The team is not checking logs if the test case has passed.
Of course, just put failure statement into the condition.
char[] urlChars = url.toCharArray()
for(char ch in urlChars) {
if(Character.isUpperCase(ch)) {
KeywordUtil.markFailed("The URL contains uppercase letter.")
}
}
@Marek_Melocik Thanks buddy, this solution worked too. You guys are really helpful.