Feature Availability Release 6.0
In ACCELQ, test assets for a given application-under-test are typically organized as a Project. A Project is self-sufficient in terms of catering to the testing requirement of a given application. But there may be occasions where you want to share assets from one project to another. This may be useful in situations like:
- Common functionality that is applicable across multiple projects (or applications).
- A reusable technical component that may be best managed centrally in one project while sharing with others.
- Enterprises may have a requirement for an end-to-end test where a validation Scenario may cut across multiple applications. While each project may have already built automation logic specific for a given application, this end-to-end project may need to build integrated flows. In this case, different steps (Actions) in the end-to-end Scenario may be coming from different Projects.
In ACCELQ, Action is the core logic block. Cross-project asset sharing is achieved by sharing Actions across multiple Projects. There are two steps involved in realizing cross-project asset sharing.
- A Project can publish Actions that it intends to share with other Projects.
- Other Projects that require access to the published assets can subscribe to the publishing Project.
Configuration Settings for Publishing Actions
In the Project configuration, click on "Publish" under "Cross Project Asset Sharing" section. Enable the toggler for Allow Publishing.
Note that the "Version Control" must be turned on for the Project to allow enabling this flag. Learn more about Version Control.
User Privilege to allow Publishing
Once the project configuration is set to allow publishing Actions, a user must be assigned the privilege to Publish an Action. A Project Admin can decide who all in the Project will have ability to publish Actions for external consumption.
This can be defined as part of the Role assignment. Learn more about User Roles in ACCELQ.
Publishing an Action
Once the Project is configured to allow publishing and the user's role has the necessary privilege, you can publish the Action by clicking the "..." menu item in the top right corner of the Action.
The description field must be filled for Actions, all their input/output parameters, and their Origin and Destination Contexts for cross-project access.
Once an Action is published, you will notice a tag in the title bar of the Action. The same is displayed in the listing of Actions in the Navigator grid.
Note: Once an Action is published, it becomes visible to other Projects which have subscribed to this Project. It is very important to manage the changes to the published Actions carefully, as the change impact goes across multiple Projects. Version control is mandatory for the projects sharing Actions across Projects.
Filtering for Published Actions
The Navigator grid for Actions supports a filter for the "Published" flag.
Building Action logic in Published Actions
The logic development for a published Action is similar to that of a local Action. However, it is important to ensure that the logic is well-defined and can be used in multiple projects. Be aware that changes to a published Action can affect other projects, so it is important to be cautious when making modifications.
Global Properties: If a published Action makes use of Global Properties, then the values from the "default" bucket are used. Publishing Project must ensure that the Global Property used in Action logic is truly global across all the potential Subscriber Projects.
Execution Parameters: If the Action logic involves conditional statements based on Execution Parameters, make sure to properly document this. Subscribing projects should also provide an Execution Parameter with the same name when executing tests.
Learn more about Execution Parameters.
When operating within the Pub-Sub model, it's crucial for the Subscriber to avoid relying on the internal implementation details of the Publisher's logic. Any information that the Subscriber might need to configure, must be only designed as Action Parameters in the Published Action. This guideline is relevant for both Global Properties and Execution Parameters.
Unpublish an Action
Once published, an Action may be used in multiple other Projects in your Tenant. ACCELQ prevents the user from unpublishing if there are any references in other Projects of your Tenant. All subscribed Projects must delete this Action from their Projects before an Action can be unpublished.