Overview
Service Virtualization helps you to automate integration testing in complex application environments early in the development lifecycle. You can use this plug-in to create virtual services that model the services that your application depends on. You can virtualize services that are accessed through various technologies, including HTTP, MQ, JMS, JDBC, TCP/IP, CICS-TG, IMS Connect, SAP, and Software AG web methods. For more information, see the API Tester guide.
To use this plug-in, you must install the HCL OneTest Virtualization Server. To learn more about its installation, see the Installing HCL OneTest Virtualization section of the HCL OneTest API documentation.
Compatibility
This plug-in supports HCL OneTest Studio v10.1 or later.
The steps in this plug-in run on any agents that are supported by both, the HCL Launch and the HCL Quality server ant client, except for agents on z/OS.
Installation
No special steps are required for installation. See Installing plug-ins in HCL Launch.
Known limitations
The Start scenario and Stop scenario steps do not work within a transient environment.
Steps
Process steps in HCL OneTest Service Virtualization plug-in
Create Transient Environment
Create a transient HCL OneTest API environment.
Input properties for the Create Transient Environment step
Name |
Type |
Description |
Required |
Base Environment |
String |
The name of the environment to be used as the base of the new environment. |
Yes |
Description |
String |
A description of the new environment. |
No |
Domain |
String |
The name of the domain. |
Yes |
HCL Quality server URL |
String |
The URL of the HCL Quality server. |
Yes |
Delete Transient Environment
Delete a transient HCL OneTest API environment.
Input properties for the Delete Transient Environment step
Name |
Type |
Description |
Required |
Domain |
String |
Domain name |
Yes |
Environment |
String |
The name of the environment to delete. |
Yes |
HCL Quality server URL |
String |
The URL of HCL Quality server. |
Yes |
User name |
String |
The user name that has permission to perform the operation. |
No |
Start Scenario
Start a scenario
Input properties for the Start Scenario step
Name |
Type |
Description |
Required |
Domain |
String |
The name of the domain. |
Yes |
Environment |
String |
The name of the environment. |
Yes |
Force |
Boolean |
Enable to stop any already-running scenario in the environment. |
No |
HCL Quality server URL |
String |
The URL of the HCL Quality server. |
Yes |
Scenario name |
String |
The name of the scenario to start. |
Yes |
Scenario owner |
String |
Filters the scenarios by owner |
No |
Stop stubs |
Enumeration:
|
Specify ALL to stop all stubs in the environment; OPERATIONS to stop the stubs for
the operations in the scenario; defaults to NONE to leave any existing stubs running |
No |
User name |
String |
The user name under which to perform the operation to get through environment locks |
No |
Start Stub
Start a stub.
Input properties for the Start Stub step
Name |
Type |
Description |
Required |
Agent attributes |
String |
Comma-separated list of agent attributes identifying the agent to run on |
No |
Component |
String |
Component the stub exists within |
No |
Domain |
String |
Domain name |
Yes |
Environment |
String |
Environment name |
Yes |
Operation |
String |
Operation the stub exists within |
No |
HCL Quality server URL |
String |
URL of HCL Quality server |
Yes |
Stub name |
String |
The name of the stub (virtual service) to start |
Yes |
User name |
String |
The user name under which to perform the operation to get past environment locks |
No |
Version |
String |
The version of the stub (virtual service) to start |
No |
Stop Scenario
Stop a scenario.
Input properties for the Stop Scenario step
Name |
Type |
Description |
Required |
Domain |
String |
Domain name |
Yes |
Environment |
String |
Environment name |
Yes |
HCL Quality server URL |
String |
URL of HCL Quality server |
Yes |
Scenario name |
String |
The name of the scenario (virtual service) to stop |
Yes |
Scenario owner |
String |
Filters the scenarios by owner |
No |
User name |
String |
The user name under which to perform the operation to get past environment locks |
No |
Stop Stub
Stop a stub.
Input properties for the Stop Stub step
Name |
Type |
Description |
Required |
Component |
String |
Component the stub exists within |
No |
Domain |
String |
Domain name |
Yes |
Environment |
String |
Environment name |
Yes |
Operation |
String |
Operation the stub exists within |
No |
HCL Quality server URL |
String |
URL of HCL Quality server |
Yes |
Stub name |
String |
The name of the stub (virtual service) to stop |
Yes |
User name |
String |
The user name under which to perform the operation to get past environment locks |
No |
Version |
String |
The version of the stub (virtual service) to stop |
No |
Update Transient Environment
Update an HCL OneTest API transient environment.
Input properties for the Update Transient Environment step
Name |
Type |
Description |
Required |
Domain |
String |
Domain name |
Yes |
Environment |
String |
Name of the environment to update |
Yes |
HCL Quality server URL |
String |
URL of HCL Quality server |
Yes |
Tags Property File |
String |
Path to the file with the tag values to update in the environment. One of updateProps or tagsPropertyFile must be specified. |
No |
Update properties |
String |
A new line separated list of name=value pairs. One of updateProps or tagsPropertyFile must be specified. |
No |
User name |
String |
The user name under which to perform the operation to get past environment locks |
No |
Usage
Use the Service Virtualization plug-in to automate the virtualization of services from HCL Launch.
Before you begin
- Install the HCL Launch server. For assistance, see HCL Launch documentation.
- Install the Service Virtualization plug-in on the HCL Launch server. For assistance, see Installing plug-ins.
- Install the HCL Launch agent and connect it to the HCL Launch server. For assistance, see HCL Launch documentation.
- Install HCL OneTest Virtualization Server on the HCL Launch agent computer and apply a valid license. For assistance, see Installing HCL OneTest Virtualization Server.
About the task
As a tester, you might have a large number of services to be virtualized against the latest builds of a software system. Instead of manually virtualizing services against every new build, you can install the latest build on an HCL Launch agent computer and use it to automatically virtualize the services for you.
After deploying the Service Virtualization plug-in on the HCL Launch server, create a component and its processes, applications and its processes, environments, and resources. For information about how to create and configure these pieces, see HCL Launch documentation.
Examples
Example: Virtualizing services in a component process
This component process creates and updates an environment in HCL Quality server. You can use a similar process as part of an overall scenario that includes virtualized services. This process assumes that the application binary files are in the component. It also assumes that the environment contains an installation of HCL OneTest API. The process runs the following steps in order:
- The Create Transient Environment step uses a base environment stored in HCL Quality server to create a transient environment.
- The Update Transient Environment step updates the host name tag in the transient environment to correspond to the host where the environment is deployed, which could be in the cloud.
- The Start Stub step initiates the virtualized service.
- The Stop Stub step shuts down the virtualized service.
- The Delete Transient Environment step deletes the transient environment.
Example: Virtualizing services with HCL OneTest Studio
The following example describes a scenario that includes a component process that uses virtualized services. In this example, an application in HCL Launch comprises two components. One component is the user interface for a web application running on an application server. The second component is a virtual representation of a web service.
Before you begin
You must install HCL OneTest Studio, including HCL Quality server and HCL OneTest API. To learn more about HCL OneTest Studio, see the HCL OneTest Studio documentation.
About this task
To virtualize the web service, you can use the Green Hat plug-in to create a transient environment that mimics the behavior of the actual web service. The user interface component is deployed as any other component to a node where the HCL Launch agent is installed, either on a specific host or on the cloud. When the application server is configured on the user interface component, the proxy is installed so that HTTP calls are routed to the HCL Quality server, which then returns the data from the stub.
Procedure
- Use HCL Quality server to record and publish the virtual services that you want to emulate. These virtual services are also known as stubs. When you create the stubs, add environment tags to replace the recorded data with dynamic data, such as the host name. To learn more about stubs, see Stubs in the HCL OneTest API documentation.
- In HCL Launch, create an application with two components, one for the user interface component and one for the virtualized service. To learn more about creating applications, see HCL Launch documentation.
- Create a component process to install the user interface component. The following steps show an example set of process steps for an application running on Tomcat.
- Use the Install Tomcat step in the Tomcat plug-in to install the application server.
- Use the Download Artifacts step from a source control plug-in such as the HCL Launch Versioned File Storage plug-in to download the user interface application.
- Use the Unzip step in the File Utils plug-in to extract the user interface application.
- Use the Modify Tomcat Artifacts step in the Tomcat plug-in to update the WSDL host name that the user interface application uses for calls to web services.
- Use the Update Config File step in the Tomcat plug-in to add the proxy information for HCL Quality server to the tomcat6 configuration file. For Tomcat, you change the JAVA_OPTS properties for http.proxyHost and http.proxyPort to point to the host name and port number of the HCL Quality server proxy.
- Use the Start Tomcat step in the Tomcat plug-in to start the application server.
- Create Transient Environment Use a base environment that you have created in HCL Quality server to create a transient environment. The transient environment is used to start the stub with dynamic property values.
- Update Transient Environment Update the environment with properties specific to the deployment environment.
- Start Stub Start the virtualized service in the transient environment.
- Stop Stub Shut down the virtualized service.
- Delete Transient Environment Delete the transient environment.
Results
When you run the application process, the user interface component is deployed and then the virtual services component is deployed.