[BDDFramework] Automatically run BDD Framework at night
Question
bddframework
Web icon
Forge component by Platform Maintenance

Anyone has any good tips on how to automatically run the BDD framework at night?
I'm aware of the REST web service function.
Would best practices be to build your own application that kicks of a web service call based on a timer.
And then stores and e-mails the result?

Or are the also other good alternatives on how to fully automate the execution of your test set?

Solution

Yes indeed Paul,


I did precisely that (except the email sending, but it shouldn't be difficult) on my latest project. I've simply created a basic entity to store the test results of each test run, then dumped the output of BDDTestRunner API. See how you can call the API through article in [1].


Also, since my project had multiple test modules, I've kept a site property holding a comma separated list (e.g. module1_tests, module2_tests, ..., moduleN_tests) to which my timer would go through one at a time, calling the BDDTestRunnerAPI. Here's the final result:


Each entry shows the test results:


Let me know if you have any further questions,

Pedro


References: [1] https://www.outsystems.com/blog/posts/automate-bddframework-testing/

Looking very nice Pedro.
Do you configure the timers in the application as well or just in ServiceCenter?

...I set the effective Timer schedule in Service Center, yes.  But if you want to do that sort of feature from your app, you can, also: check it out here.

Thanks for the kind feedback.
I've build an application very similar as the one you showcased above.
it also runs on a timer on a nightly run that sends the results by email to alert anyone of the results.

Great! One of the tricky issues I've had to handle was to address the long duration of some of the test suite screens being called from the BDDTestRunner API. You might need to extend the timeout on those REST calls...

@Pedro Gonçalves i have created an application where i have one module where i have created 3 BDD tests for 3 scenarios regarding the same subject. Everything is done like the tutorial article you shared above. My question is, how do you use a timer to run all these 3 tests if they are all screen actions? 

Should i clone the actions and make them server actions and store the results in an entity and have these server actions inside a main server action that is called by the timer? 

Thank you.


Best regards,

Lourenço Matalonga

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.