When you are working on a complex API, you need to involve several QA engineers in the process. Each team member is responsible for a separate aspect of the project: a particular test suite, test case, load test, virtual service and so on. In this case, all the team members should be able to work on the project at the same time and make changes independently.
To achieve this in ReadyAPI:
Use composite projects
By default, ReadyAPI stores a project in a single file. It makes it easy to manage projects when you are working alone, but it may cause issues if several people start working on the same project at the same time.
If you use a Composite project, ReadyAPI splits your project into several files, so each team member can work on this project at the same time.
If your file system has a path character limit (for example, 255 characters), you may need to rename your resources to make sure that the full path is shorter than the limit. |
Create composite project
To create a composite project:
-
In the project editor, click the Configure Git button:
Note: In this case, ReadyAPI creates a composite project and allows you to set up Git integration. – or –
Set the Composite project property of a project to
true
:Note: To initialize a Git repository in the project folder and thus enable Git integration, you need to click the Configure Git button, or run the git init
command in the Git console. -
(Optional) If necessary, change the composite project version.
-
Save the project.
Versions
There are two versions of composite projects – 1.2 and 1.3. Use the Composite Project Format
project property to change the composite project version.
-
In composite projects version 1.3, ReadyAPI saves security tests as individual files in the project root folder.
Before using version 1.3 of composite projects, make sure all the team members have ReadyAPI 1.3 or later. You can use version 1.2 in any ReadyAPI version. -
In composite projects version 1.2, ReadyAPI saves security tests in the test case file.
Note: When you open a project in in the 1.2 version format, ReadyAPI offers you to save it in the 1.3 version format.
Compatibility
-
Composite projects from older versions of SoapUI (5.0 or earlier) are automatically converted to the ReadyAPI format. ReadyAPI adds a unique identifier to each resource to ensure that all the resources and files have unique identities, and that resources and settings are not overwritten by accident.
ReadyAPI creates a new folder for the converted project and does not make any changes to the old project. To keep working with the old project, do not upgrade to SoapUI 5.1 or later. -
Composite projects created in ReadyAPI version 2.4 or later must not be edited in ReadyAPI version 2.3 or earlier. The changes made in the earlier versions will not show up in the later versions, since the project structure is different.
Store your project in Git
If several team members are working on a project concurrently, it is crucial to store the project in a remote repository. This allows your team to synchronize their changes.
Also, you can use the continuous integrations system to obtain the most recent version of the project from the repository and run ReadyAPI tests as a part of your build process.
ReadyAPI supports Git, so you can work with your Git repositories directly in ReadyAPI. You can work with Git repositories stored either in GitHub or on a machine in your network. If you use some other VCS, you need to use external clients.
Adding project to Git
To add your project to a remote Git repository, perform the following steps:
ReadyAPI Settings for Effective Git Collaboration
Setting the following preference values is mandatory for effective team collaboration with Git. |
When pulling changes from the remote repository, you may need to merge the changes. If you use Git integration, ReadyAPI can merge the changes automatically. Otherwise, you should use an external merging tool.
The following are required settings for optimizing collaboration via composite projects and Git when merging conflicts.
-
Use the same ReadyAPI version across the team.
ReadyAPI adds information about its version to the project file. So, when you open a project in an older version, ReadyAPI warns you that the projects may use unsupported features added to a newer version of the product. Use identical ReadyAPI versions to avoid such issues and reduce merging conflict.
-
Enable the Pretty-print option.
If this option is disabled ReadyAPI saves the data of XML project files as a single line. In this case, automatic Git merging will fail and you will have to resolve conflicts manually.
-
Enable the Normalize line breaks option.
Different operating systems use different line break symbols. If this option is enabled, ReadyAPI uses standard line break symbols, which reduces the number of merging conflicts.
-
Enable project item sorting.
ReadyAPI saves the order in which project items are shown in the Navigator panel. You reduce merging conflicts if all the team members enable alphabetical sorting of these items.
-
Enable Show descriptions.
Also, we recommend that you enable this setting as it helps you reduce the number of merging conflicts.
-
Disable test history.
ReadyAPI stores information about test runs in the project. You reduce the number of merging conflicts if you disable test history.