In some complex tests, it is necessary to postpone test execution for some time. It may be we need to wait for something hours or days.. To not block Actor's resources would be great to have a chance of putting the execution on hold on the server level. Is this a planned or maybe already could be achieved somehow?
OpenTest put test into sleep
293 Views Asked by gregormil At
1
There are 1 best solutions below
Related Questions in AUTOMATION
- Installing Teamcity build agent as a user: failed to install the service. selected account does not have enough rights
- Automating Telnet Scripts from .bat with a teamspeak instance
- schedule and automate sqoop import/export tasks
- Dynamic @Test generation in TestNG
- detecting a file downloaded in selenium java
- Can I automate auto-app installation on my Android device?
- C# Program automation - Program hangs/doesn't work
- Saving Excel workbook as PDF gives me an OLE error 800A03EC
- Appium-How to send SMS for login verification purpose during automation test
- How to maximize browser window with helium using Java?
- Appium iOS automation using Java : get element using accessibility Id?
- Looking to run automated jobs in .NET application
- How to click the back navigation button of the browser using helium?
- Firefox automatically choose certificate, without ui dialog
- Test class not found in selected project
Related Questions in AUTOMATED-TESTS
- How to automate UI interaction during acceptance test run
- Teststack.white cannot find Toolstrip item
- Unexcepted failed Gavel/Dredd test
- Keyword 'AppiumLibrary.Open Application' expected 1 to 2 non-keyword arguments
- How to set test case fail and pass messages in Casper js?
- Wait until scrollbar fades when using UI Automator
- Teststack.White Drag and Drop Problems
- list of test step results in groovy script
- Is there a before() function in Protractor?
- Different behaviour of compiler when called in script by LaunchControl
- Karma not recognizing jQuery
- How to perform datadriven approach using coded ui VSTS 2013
- Multiple Scope value in Binding (Specflow)
- python run function in external module containing doctest.testmod()
- How to use loop in nightwatch.js
Related Questions in OPENTEST
- How can i read data from a text file in opentest
- How to filter defects with ID range in HP ALM C# OTA
- How do I start a new test session in OpenTest?
- Including external file 'signalr.min.js' window is not defined
- OpenTest put test into sleep
- OpenTest custom test actors
- Does OpenTest support automated tests on a headless browser?
- How to reuse some steps from one yaml to another in Opentest
- Shodan shows open ports but nmap says they are closed. any idea why?
- How to crack a WPA2 Password using HashCat?
- How can we make a POST service call which takes formdata instead of json in OpenTest?
- Opentest Backspace issue
- I have an android application where I can see that main activity is exported and there are no permissions set on that
- Trying to use my Java test code with OpenTest
- Opentest_cli not recognize STAF process when execute from Jenkins job
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Once a test session starts, acquires (reserves) all of the test actors that are needed to execute all of the tests in the session. The actors will only be released when the session was completed (successfully or not), so they can be reused by other test sessions. A particular test actor can be "delayed" for a period of time calling the $sleep JavaScript API in the test, which you probably know already. However, I'm not able to come up with a plausible logic on how pausing the OpenTest server would work. I understand that you'd like to be able to reuse those blocked test actors, but I don't think it's a good idea, because they are potentially (and most probably) storing some state for the test they were running when they got paused. A better approach would be to have some logic in your CI server (or whatever process is kicking off your test session) and perform any verifications to see if you have the resources you need before starting the session, if possible. If you describe a specific use case, I can try to be more helpful.
Edit: The right way to solve the use case you described is to find a way to determine the upstream system that is doing the order processing to trigger the execution on-demand and not have to wait one day for the test to execute (maybe ask the devs to implement a simple API that you can call). If that's not an option, and you absolutely have to wait, the right way to solve this is to have enough test actors to handle the number of tests you want to execute in parallel. The test actor consumes about 150 to 200MB of memory, so that would be the only thing that limits the number of actors you can run simultaneously on a single machine. In the future, OpenTest will have the ability to spin off multiple actors in the same process, so this will become a non-issue.
Once a test actor starts the work on executing a test, it is not safe to have it do any other work, because tests typically have to store some state (e.g. you create a variable to store the order number for the order you just placed). If the same actor executes two tests at the same time, the tests might overwrite each other's state and you get into issues that are very hard to troubleshoot.