refactoror / SelBlocks

SelBlocks extension for Selenium IDE
10 stars 7 forks source link

Top level try..finally..endTry without 'catch' leaves Selenium IDE in running mode #11

Closed peter-lyons-kehl closed 9 years ago

peter-lyons-kehl commented 10 years ago

Hi Chris. Short background: I've noticed this issue in SelBlocksGlobal and I've fixed it there (as much as I understood it). The issue exists in SelBlocks 2.0.1, too.

The issue: Have a top level try..finally..endTry with no 'catch', with Selenese (directly under that top-level try block) that throws an exception. Run that test case. Then Selenium IDE stays in running mode (pause button is enabled); Browser Console shows 'topFrame is undefined' in function-intercepting.js, line 54.

I can't attach files to GitHub issues (other than images). So here are the links:

refactoror commented 10 years ago

Peter, I always appreciate the thorough analysis that goes into your bug reports, and then going the extra mile in proposing solutions. This is another good catch. It will take me a while to fully validate and unit test this one, but it think it can be addressed in the next release.

When you say "Selenium IDE doesn't stop running on verifications", do you mean when executing one of the verify-family of commands?

peter-lyons-kehl commented 10 years ago

Chris, the problem shows up this way: Selenium IDE stops running commands, however buttons 'Play entire test suite' and 'Play entire test case' are greyed out and disabled. Button 'Pause/Resume' is enabled. It won't play any other command until the user presses 'Pause / Resume'. The rest of GUI is still responsive. Issue #12 has the same visual presentation.

peter-lyons-kehl commented 10 years ago

FYI I've moved that test case. Now it's https://code.google.com/p/selite/source/browse?repo=sel-blocks-global#git%2Fselenese-tests-negative > try_without_catch_at_top_level_case.html

refactoror commented 9 years ago

Peter, your code alters Selenium's behavior of marking a failed verify command in red, and marking the overall test as failed. I don't want to do that unilaterally. However, the next release adds the ability to catch a failed verify command, and in that case the verify command is not marked in red, and the overall test not marked as failed.