Reason for error in Step 15 is the reason for error in step 4

Hi Katalon Community,
I received an error for step 15; however, Katalon is telling me the reason for the error in step 15 is the reason found for the error in Step 4. How can this be? Is this a bug? It doesn’t make sense that the reason for the error in step 15 is due to the error in step 4. Please see the attached screenshot for Log Viewer of the error. I have removed private information from the screenshot.

The Log Viewer tag has 2 pane - in the left hand pane you find a summary of steps, in the right hand pane you find a series of console messages.

As you see, the right hand pane contains many lines, you can scroll it down. Please try scrolling down the right hand pane. I suppose you will find, in the bottom half, the error messages emitted by the error in Step 15 as well.

I guess, two sets of error messages (by Step4 and Step 15) will be appended into one buffer and displayed together in the right hand pane.

hmm, but is the appending incorrect?

The following part is what confused me.
“setText(findTestObject(“Page_Sign in to your account/To input for new email”),” ") FAILED.
Reason: com.kms.katalon…Web element with id: “Object Repository/Page Sign in to your account/softwareTest email selelection…not found”.

The “Reason” part references the reason for the error in Step 4 instead of the reason for the error in Step 15. The “Reason” for the error in step 15 should not be cause by the “Reason” for the error in step 4. The second bolded text is incorrect, I believe.

At the Step 4, you are using verifyElementClickable keyword possibly with FailureHandling.CONTINUE_ON_FAILURE

I would rather recommend you to use waitForElementClickable keyword with FailureHandling.OPTIONAL.

With FailureHandling.OPTIONAL, the Step4 will just return true or false while never throwing a failure even if the element has not become present and clickable. Consequently Step 4 will not pollute the messages caused by Step 15.

I understand it. It’s confusing.

I think that the confusion is caused by FailureHandling.CONTINUE_ON_FAILURE at the Step4. You can avoid this as I mentioned above.