Composite Project Structure

Applies to ReadyAPI 3.9, last modified on July 30, 2021

ReadyAPI composite projects store information in the following way:

  • <APIName> folder - Stores information on the API included in the project.

    • <APIOperationName>.xml - Stores information on the operation and request configuration (for SOAP APIs) or on the resource, method and request configuration (for REST APIs).

    • element.order - Stores information on the order in which APIs are listed in the project.

    • settings.xml - Stores the API definition and properties.

  • <FunctionalTestSuiteName> folder - Stores information on a functional test suite included in the project.

  • <VirtualAPIName> folder - Stores information on a virtual service included in the project.

    • <OperationName>.xml - Stores the configuration of VirtAction (REST virtual services), VirtOperaion (SOAP virtual services) or JMS Route (JMS virtual services).

    • settings.xml - Stores the configuration of the virtual service.

  • reports folder - Stores report templates, subreports, and XML templates specific to the project.

    • reports folder - Stores the report templates specific to the project. The folder contains several subfolders for different report types, such as common or testcase.

      • <report type> folders

        • <ReportName>.jrxml - Stores the XML code of the template.

        • <ReportName>-config.xml - Stores the properties of the report template, such as its name, type, level and scope.

    • subreports folder - Stores the subreport templates specific to the project. The folder contains several subfolders for different subreport types, such as common or testcase.

      • <subreport type> folders

        • <SubreportName>.jrxml - Stores the XML code of the subreport.

        • <SubreportName>-config.xml - Stores the properties of the subreport template, such as its name, type, level, scope, description and DataSource.

    • templates folder - Stores XML templates.

      • <TemplateName>.xml - Stores the XML code of the template.

    • settings.xml - Stores reporting parameters.

  • <SecurityTestName>.xml - Stores the security test configuration.

    In composite projects version 1.2, the security test configuration is stored in the <TestCase>.xml file.
  • <PerformanceTestName>.xml - Stores the load test configuration.

  • element.order - Stores information on the order in which APIs, test suites and virtual services are listed in the project.

  • project.content - Stores the paths to API resources, test cases, security tests, load tests and VirtActions that ReadyAPI will load when the project is opened. If a file exists but is not included in the list, it will not be loaded.

    The project.content file was introduced in ReadyAPI version 2.4. Do not use ReadyAPI 2.3 or earlier to edit composite projects created in ReadyAPI 2.4 or later. For details, see below.
  • settings.xml - Stores the project settings and other project-level data such as the list of added tags, WSS, Auth Manager, Environment, Event, Database Manager and JMS settings.

The content of the project.content file may incorrectly represent the actual file structure of a composite project. In this case, one of the following warning messages will be posted to the logs:

WARN: The file has not been loaded, because it is not specified in the project: <file name>

This message appears if the project directory contains .xml files that are not mentioned in the project.content file. ReadyAPI does not load such files.

The issue is typically caused by several users working on the same shared project using different versions of ReadyAPI. The project.content file was introduced in ReadyAPI version 2.4. If a user who has ReadyAPI 2.3 or earlier edits a project created in ReadyAPI 2.4 or later, the changes will not show up in 2.4 or later versions.

To fix the issue, delete the project.content file from the project directory. ReadyAPI will generate a new one on project opening, which will list all the items.

Note: ReadyAPI may include non-project .xml files in the recreated project.content file. You will have to remove them manually.

To avoid the issue, use the same version of ReadyAPI in your team.

WARN: One of the files specified in the project was not found in the project directory: <file name>

This message appears if the project directory does not contain some files mentioned in the project.content file.

The issue may occur if a user manually removed some .xml files from the project directory, the project.content file was pulled with a different file list from Git, or if the project.content file or project was changed in some other way.

To fix the issue, delete the project.content file from the project directory. ReadyAPI will generate a new one on project opening, which will list only the items that exist in the project directory.

Note: ReadyAPI may include non-project .xml files in the recreated project.content file. You will have to remove them manually.

See Also

Git Integration
Teamwork

Highlight search results