Im trying to find a way to catch a Timeout to run a keyword again. There is a specific keyword that is currently bugged and will take some time to fix so I am looking for a short term robot framework solution in the mean while. Currently when the keyword is first called it will hang but every time after it works fine. So I’m currently looking to have it timeout and then attempt again but there is currently no catch other than “Run Keyword If Timeout Occurred” which only works on teardowns (which would prevent my test cases from running). Below I have a basic version of how I would want it to work (I know it doesnt because “Run Keyword And Ignore Error” does not catch timeouts. Im hoping someone knows a workaround for how to catch a timeout or how to prematurely fail a hanging keyword without the use of [Timeout].
Start Keyword
{status} Run Keyword And Ignore Error Call Broken Keyword
Run Keyword Unless "{status}" == “PASS” Call Broken Keyword
Call Broken Keyword
[Timeout] 10 sec
Broken Keyword