SoapUI projects are as a single project file which is easy to pass around and handle. If you are using a source-control system (SVN, Git, etc.) for your soapUI projects this works well as long as you are working alone on a project.
But when working in a Team in a project you often come to the situation where you have one person updating one test and another person a second test. If you only have one project file this is impossible to do simultaneously and hard to do by synching the test manually.
To make this scenario easier, soapUI Pro adds the concept of Composite Projects:
Setting this property to true and saving the project will convert the single file project into a folder structure.
Important change in SoapUI 5.1
From version 5.1 of SoapUI pro, composite projects are automatically converted when you save them. An unique identifier is be added to each resource, to make sure there are no duplicates.
This is to ensure that all resources and files have unique identities, and that resources and settings do not get accidentally overwritten.
Note: A new folder is created in a new location and the old project will not be touched. However, if you wish to keep working with the old project structure, do not upgrade to 5.1.
Note: If your file system has a character limitation (for example 255 characters), you may need to rename your resources in SoapUI Pro, to make sure that the full is shorter than the limit.
Composite project folder structure
The composite project structure is as follows:
<folder for project>
- settings.xml – project-level configuration
- element.order – file for maintain the order of TestSuites in the project
- reports folder – contains custom reports and sub reports
<folder for each TestSuite>
- settings.xml – TestSuite specific settings
- element.order – file for maintain the order of TestCases in the TestSuite
- <xml-file for each TestCase> - contains the TestCase and all its settings, TestSteps and LoadTests
<folder for each MockService>
- settings.xml – MockService specific settings
- <xml file for each mockoperation> - contains all settings and MockResponses
<folder for each WSDL Interface>
- settings.xml – Interface specific settings
- <xml file for each operation> - contains all settings and requests for the operation
For example, saving the sample project file included with soapUI as a composite file results in the following:
When saving the project only those items that have been updated will actually be saved to the file-system and each of these files can be synced with the underlying VCS individually.
After updating externally modified files the “Refresh Composite Project” menu action on the Project menu will reload those items that have changed on disc:
Tip: The “Pretty Print Project Files” setting in the global preferences WSDS Settings tab will make merging a single project file substantially easier (but will also increase the size of the project file).