Friday, April 8, 2022

[SOLVED] How to pause a watir cucumber script mid-execution and then resume it?

Issue

P.S.: No, I do not want to debug my script. It is pretty awesome.

The problem is the application under test. If I place a few orders, it crashes. So what I want to do is: mid-execution, when I see that the application is crashed, I want to pause the test script, bring the application back up and running, and then resume the test.

I know that this is not the point of time when I should be running the test scripts as the application is not stable enough, but the developers are working on it and hopefully soon enough, they will fix it. I am just curious to know if there is a solution, because I couldn't find one. Of course I could've integrated bringing the application up again when it crashes in my tests, but that is not what I want to do.

My system:

OS: Linux Mint

Tests: Watir (Ruby) + Cucumber on Chrome

I run the tests on linux terminal using cucumber tags.

I just want to know in general if there is any way to pause and resume execution. For example, when I want to stop all the tests, I give the command line interruption Ctrl + C. So is there any such interrupt command to pause and resume?


Solution

Okay, since you want a "general" answer, here goes...

Based on your context, you are looking for a "crashed" condition in your project.

My own approach to solving this problem would involve writing a helper method that would look for this condition and, if true, it would "pause". For example...

def pause_if_crashed sleep 30 if @browser.product_price.nil? end

Then I would sprinkle this helper method in likely "crash" spots in my other functional methods.

Without more specifics about your needs, this is about as helpful as I can get, I think.



Answered By - Abe Heward
Answer Checked By - Mildred Charles (WPSolving Admin)