Hello everyone! In one company, I was given the task of creating autotests on one of the very famous testing tools that almost all IT workers know who manually test APIs. This is SoapUI.
The task seemed somewhat strange to me, since at that time there were other well-known testing tools: TestNG, JUnit, Citrus, as well as other ready-made frameworks for API testing. But since other members of my team were fluent in SoapUI, in order to understand and read my autotests, I needed to work with this particular tool.
Well, I took up the challenge and started diving into SOAPUI's capabilities in terms of test automation. I must say right away that we are talking about a free version of SoapUI Open Source.
So, let's begin. SoapUI supports REST and SOAP services. SoapUI is a desktop user interface with out-of-the-box testing solutions. Convenient and well-known tree structure of project folders. As they say, we create a project, in the project we create TestSuits, in TestSuits we create TestCases, well, inside TestCase, respectively, TestSteps.
Working with variables is also done conveniently and clearly, you can create variables with different scopes:
It is possible to create MockServices, which are essential when testing complex systems. Visual representation of TestSuite, TestCase, MockService is provided in the form of separate windows located in the main window of the user interface. In these windows, you can observe at what step the test case is currently being executed, you can see at what moment a request comes to the MockService.
But we wanted to talk about automation, how can we approach test automation in SoapUI? Okay. To do this, for example, in TestCase between any test steps or at the beginning or at the end of the test, you can insert a so-called script, inside which you can write the necessary code in the Groovy programming language. This is the language that SoapUi supports. Inside the script, you can program anything you want for your automation, change the value of a variable, set a time delay, start a timer, write asserts, in general, do everything that the Groovy programming language allows. I can tell if you automate in Java, like me, then you will have no problem mastering Groovy in no time).
In this article, I will not go deep into the practice of automation, my goal is to generally tell you about my impression of automation on SoapUI. But as a result of the experience gained, I can draw the following conclusions.
What are the advantages of automation on SoapUI:
What are the disadvantages of automation on SoapUI:
So, I told you about my impression of the automation process on the SoapUI testing tool. I hope you were able to learn something new)