I’m not sure if this is a bug similar to the v7.0 fix to verifyElementPresent() where it would throw an exception rather than returning false
- can someone check on this? I appreciate the feedback.
I’m running Win 10, Katalon v7.0.2.
I have an object /input_ChargeUnit
, and its class is 'form-control-required'
. I noticed that getAttribute()
seems to be returning true
or false
correctly, though I’m having issues with verifyElementAttributeValue()
.
Here’s my check - the first line of getAttribute()
and verifyElementAttributeValue()
both should return true
, and the respective second line of each should return false
. The 4th line throws an exception, but does return false
at the end, though that doesn’t look like it’s working correctly. The Console output is below the code.
System.out.println(WebUI.getAttribute(findTestObject('Page_eForms/input_ChargeUnit'), 'class').equals('form-control-required'))
System.out.println(WebUI.getAttribute(findTestObject('Page_eForms/input_ChargeUnit'), 'class').equals('form-control'))
System.out.println(WebUI.verifyElementAttributeValue(findTestObject('Page_eForms/input_ChargeUnit'), 'class', 'form-control-required',5))
System.out.println(WebUI.verifyElementAttributeValue(findTestObject('Page_eForms/input_ChargeUnit'), 'class', 'form-control',5))`
Here’s the Console log of the above:
2019-10-24 12:19:24.430 DEBUG t.00120 - Travel Details Validations - 29: out.println(getAttribute(findTestObject("Page_eForms/input_ChargeUnit"), "class").equals("form-control-required"))
true
2019-10-24 12:19:24.483 DEBUG t.00120 - Travel Details Validations - 30: out.println(getAttribute(findTestObject("Page_eForms/input_ChargeUnit"), "class").equals("form-control"))
false
2019-10-24 12:19:24.534 DEBUG t.00120 - Travel Details Validations - 31: out.println(verifyElementAttributeValue(findTestObject("Page_eForms/input_ChargeUnit"), "class", "form-control-required", 5))
true
2019-10-24 12:19:24.590 DEBUG t.00120 - Travel Details Validations - 32: out.println(verifyElementAttributeValue(findTestObject("Page_eForms/input_ChargeUnit"), "class", "form-control", 5))
2019-10-24 12:19:24.646 ERROR c.k.k.core.keyword.internal.KeywordMain - ❌ Object 'Object Repository/Page_eForms/input_ChargeUnit' has attribute 'class' with actual value 'form-control-required' instead of expected value 'form-control' (Root cause: com.kms.katalon.core.exception.StepFailedException: Object 'Object Repository/Page_eForms/input_ChargeUnit' has attribute 'class' with actual value 'form-control-required' instead of expected value 'form-control'
at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.stepFailed(WebUIKeywordMain.groovy:64)
at com.kms.katalon.core.webui.keyword.builtin.VerifyElementAttributeValueKeyword$_verifyElementAttributeValue_closure1.doCall(VerifyElementAttributeValueKeyword.groovy:94)
at com.kms.katalon.core.webui.keyword.builtin.VerifyElementAttributeValueKeyword$_verifyElementAttributeValue_closure1.call(VerifyElementAttributeValueKeyword.groovy)
at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:20)
at com.kms.katalon.core.webui.keyword.builtin.VerifyElementAttributeValueKeyword.verifyElementAttributeValue(VerifyElementAttributeValueKeyword.groovy:109)
at com.kms.katalon.core.webui.keyword.builtin.VerifyElementAttributeValueKeyword.execute(VerifyElementAttributeValueKeyword.groovy:70)
at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:60)
at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.verifyElementAttributeValue(WebUiBuiltInKeywords.groovy:3252)
at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$verifyElementAttributeValue$15.call(Unknown Source)
at 00120 - Travel Details Validations.run(00120 - Travel Details Validations:138)
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:337)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:328)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:307)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:299)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:233)
at com.kms.katalon.core.main.TestSuiteExecutor.accessTestCaseMainPhase(TestSuiteExecutor.java:169)
at com.kms.katalon.core.main.TestSuiteExecutor.accessTestSuiteMainPhase(TestSuiteExecutor.java:142)
at com.kms.katalon.core.main.TestSuiteExecutor.execute(TestSuiteExecutor.java:91)
at com.kms.katalon.core.main.TestCaseMain.startTestSuite(TestCaseMain.java:157)
at com.kms.katalon.core.main.TestCaseMain$startTestSuite$0.call(Unknown Source)
at TempTestSuite1571944729212.run(TempTestSuite1571944729212.groovy:36)
)
false