How to use Automated Testing Framework to test results of async Business Rules
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-25-2023 10:23 AM
Hi, I am using Jasmine in ServiceNow to perform automated tests, using the Automated Testing Framework. Everything is going great, but I don't know how to use the Automated Testing Framework to accomplish one type of test that I am wondering about.
I have an async Business Rule that fires when a certain field is changed, and in this chain of tests, I would like (1) make the change to a record that will allow the async Business Rule to fully execute, and (2) assert against the results of the async Business Rule having run.
I found the "Automated Test Framework Best Practices" document, which suggested that I take a "timeout" in order to wait for async code to be done running, but I tried adding a record-query step with a timeout in it--like in the picture on the document, and the execution of the Test Steps that come after the record-query-timeout step does not seem to be halted at all. If adding a record-query step with a timeout is the correct way to do this, how can I correctly use this tool to be able to wait for asynchronous code to finish running?
If I were to use this record-query-timeout step approach, that would mean that in a simplified example, in Test Step 1, I would run the code that allows the asynchronous code to execute, Test Step 2 would be the timeout, and then Test Step 3 would be where I include the assertions against whatever the asynchronous code did.
Thanks in advance.