mercredi 20 avril 2016

System tests (frontend backend) with NG2 and SoapUI

my team and i are having some issues regarding testing our NG2 application. I hope i can make our problem clear and i hope that some one can help us.

Our frontend application:

We have an Angular 2 frontend application that uses REST to retrieve data from a backend. For e2e-test we use Gulp, Protractor and Selenium. We created a Gulp task that kicks off protractor with the directory all our spec files are in. What Protractor does is start a selinium server, start the website, run all the tests and kill selenium.

Our backend:

We have a backend that has a REST interface so our frontend can retrieve data. For now we use SoapUI to insert data in this backend. We also use SoapUI for automated backend tests.

Our problem:

We want to create "system tests" that test the whole thing. We already have seperate tests for the backend and seperate e2e-tests for the frontend. What we want to do now is create test cases in SoapUI that for example does this: 1. Insert new patient in backend. 2. Run a command that kicks off a gulp task to run (only one) spec file to check if that patient we just added can be seen in the frontend.

That is a simple case, cases can get larger and more complex with multiple tasks to add stuff in backend and run multiple seperate spec files for the frontend.

The problem is that after we run a spec file using Protractor it kills the selenium server . Ofcourse our test case in SoapUI is not done and wants to run more spec files in later steps. For all these later steps we have to restart the selenium server again and get the frontend to the correct state (by doing stuff we already did in previous tests...). How can we make Protractor or selenium server stay alive and wait for the next spec file to run without restarting the frontend application?

Keep in mind, for some reason WE HAVE TO use SoapUI, it's not optional. If there are any solutions for this which do not include Protractor or Selenium server, thats not a problem.

Aucun commentaire:

Enregistrer un commentaire