I am facing the following issue when executing keyword "Run Keyword and expect Error" in Robot Framework.
First I tried this:
run keyword and expect error InvalidElementStateException: Message: invalid element state: Element is not currently interactable and may not be manipulated Input Text ${indFNPatientHealth Link} RCIGM_FN
and it failed. The trace back is:
17:44:01.894 FAIL InvalidElementStateException: Message: invalid element state: Element is not currently interactable and may not be manipulated
(Session info: chrome=60.0.3112.101)
(Driver info: chromedriver=2.30.477700 (0057494ad8732195794a7b32078424f92a5fce41),platform=Windows NT 6.1.7601 SP1 x86_64)
17:44:01.894 FAIL Expected error 'InvalidElementStateException: Message: invalid element state: Element is not currently interactable and may not be manipulated' but got 'InvalidElementStateException: Message: invalid element state: Element is not currently interactable and may not be manipulated
(Session info: chrome=60.0.3112.101)
(Driver info: chromedriver=2.30.477700 (0057494ad8732195794a7b32078424f92a5fce41),platform=Windows NT 6.1.7601 SP1 x86_64)
'.
So I modified the expected error copying the full text including session info and driver info. The updated code is:
run keyword and expect error InvalidElementStateException: Message: invalid element state: Element is not currently interactable and may not be manipulated \ \ (Session info: chrome=60.0.3112.101) \ \ (Driver info: chromedriver=2.30.477700 (0057494ad8732195794a7b32078424f92a5fce41),platform=Windows NT 6.1.7601 SP1 x86_64) Input Text ${indFNPatientHealth Link} RCIGM_FN
And It failed again .
17:31:59.291 FAIL InvalidElementStateException: Message: invalid element state: Element is not currently interactable and may not be manipulated
(Session info: chrome=60.0.3112.101)
(Driver info: chromedriver=2.30.477700 (0057494ad8732195794a7b32078424f92a5fce41),platform=Windows NT 6.1.7601 SP1 x86_64)
17:31:59.291 FAIL Expected error 'InvalidElementStateException: Message: invalid element state: Element is not currently interactable and may not be manipulated (Session info: chrome=60.0.3112.101) (Driver info: chromedriver=2.30.477700 (0057494ad8732195794a7b32078424f92a5fce41),platform=Windows NT 6.1.7601 SP1 x86_64)' but got 'InvalidElementStateException: Message: invalid element state: Element is not currently interactable and may not be manipulated
(Session info: chrome=60.0.3112.101)
(Driver info: chromedriver=2.30.477700 (0057494ad8732195794a7b32078424f92a5fce41),platform=Windows NT 6.1.7601 SP1 x86_64)
Thanks in advance for your support for solving this.
The string you're trying to catch is quite long, variable and contains line skips. Also, the debug data is kind of irrelevant to your test. If I was you I'd just catch the whole message, passing * to Run Keyword And Expect Error and then use a partial string match keyword to ensure I caught a InvalidElementStateException exception. You may also add your message to the partial check, but remove the variable debug data.
See Run Keyword And Expect Error
Something like this
${msg}= Run Keyword And Expect Error * Input Text ${indFNPatientHealth Link} RCIGM_FN
Should Contain ${msg} InvalidElementStateException
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With