As mentioned above, a soapUI project is saved into 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 result in a file/folder system 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).