Solution Steps

Search Knowledge Base by Keyword

< Back

The solution is composed of four parts that are performed one after the other.

It is assumed that the template file exists and it is well formed.  There are a number of different solutions to create templates from raw xml\xsd or json files or from meta data libraries.  See the solution library to look for these solutions.

The solution uses several components to complete the various processes and then finally build the messages.  These are:

Component Flow
Import Excel Into Modeller C:\VIPTDM\CreateModellerModel\GenerateModellerModel.vip
Get Sequences C:\VIPTDM\GetSequences\GetSequences.vip
Generate CSV C:\VIPTDM\DataGenCSV\DataGenCSV.vip
Resolve CSV C:\VIPTDM\MasterFileController\ResolveCSV.vip
Master File Controller C:\VIPTDM\MasterFileController\MasterFileController.vip
Copy Files To Folder C:\VIPTDM\CopyFileToFolder\CopyFileToFolder.vip
Export to Git C:\VIPWork\AttachFilesToGit\AttachFilesToGit.vip
Jira Attach file to Issue C:\VIPWork\JiraAttachFileToIssue\JiraAttachFileToIssue.vip

 

At the end of the solution see more details on how you could use these components as part of your automation process.

You can also use other solutions in conjunction with this solution, these are:

 

Solution  
Making Templates Creating templates from meta data or sample messages

 

 

Step 1 – Creating a model inside Test Modeller

 

Firstly edit the template file to make sure any variables you wish to model are correctly defined.

 

 

 

 

 

 

 

 

 

 

The variables that will be replaced need the format data. Followed by the variable name.

Now you are ready to create your model.  Inside VIP Executor look for the group  Model Management

Model Management Menu

Choose Create Model From File Template

Example completed form to create model of the example1-template

Example run results from model creation process

 

Step 2 – Build the model of data variations

The model has been created – open it in the model editor.

Created base model from template

If you have a look around the blocks you can see values being assigned.

 

Assigned Test Data values

Assigned Automation Object variables – Generate CSV – is being called

The model is using one of the components Generate CSV.  This component will take in the variables and create a merged csv file for each test case.

Now spend some time adjusting the model to include business variations.

 

Example model of variables and matching test cases

Now execute the creation of the csv

Submit the data creation process

 

Choose Find Test Data Chains – Hopper to submit the initial submission.

This will create the initial csv – which you can check to make sure you have assigned the values correctly.

Example csv created by the model

 

 

Step 3 – Add in the post process to create the messages

 

Add in an additional Start and End node to the model.  These will be used to define any post process required, the primary one being to merge the csv and the template to create the messages.

 

The model with Start and End added

Open the Data Catalogues and choose the Test Data Catalogue used in installation of the solution earlier, select the new Start node on the pallet and choose the automation activity Master File Controller and click Import

See the documentation for the component Master File Controller

 

 

And then click Save

Imported Test Data Automation activity

You don’t need the Par1,Par2.. blocks so you can remove them.

New Data Automation Activity path

You will need to adjust the created variables

Choose the variables

You can optionally change the default name of the files to be created.

Click on the cog and choose edit

Here the suffix has been changed to .xml

Also change

To the name of the file suffix you need.

 

If you wish to change the location of your stored file templates edit this variable as well

 

Now regenerate the test cases.

 

You will see a new test case has been added.

 

Edit the Test Name to start with @Post

 

Before you submit the job to make sure the messages are being created correctly edit the file

C:\VIPTDM\MasterFileController\MasterFileControl.xlsx

This contains the definition of the post processes you wish to run.

The processes to be run by MasterFileController

 

You may wish to create different version of this spreadsheet, you will need to adjust the variable

To point to the new spreadsheet

 

Now execute the process:

Find Test Data Chains – Hopper

As before

The returned messages

Example Message

 

 

Step 4 – any additional post process steps.

 

You can add in any processes you like to the @Pre or @Post test cases and they will be executed, for example:

 

The first path – uses three components chained together:  Resolve CSV, Copy Files To Folder & Import into Neo4j

The second path – use the component: Export CSV

This method allows you to see what automation processes are being used and to select particular paths when you are creating data or running automation processes.

 

In the case above we use only one post process MasterFileController and we leave any post process to this component.

The MasterFileController component is a powerful utility that allows other components to be called as part of a chain of activities.  These are controlled by editing

C:\VIPTDM\MasterFileController\MasterFileControl.xlsx

This contains the definition of the post processes you wish to run.

The processes to be run by MasterFileController

The Parameters used for each Component

If we use the above configuration and rerun our automation process, check the log file:

You can see the copy files and the export to git has worked successfully

 

In git you can see the messages have been stored

 

 

Adding in Additional components to enhance the functionality of the message Solution

 

Suggested components are:

Get Sequences – Get unique values

 

This component will return a unique sequence number or timestamp.

You can return multiple sequences in one go and, in addition return multiple results for one sequence

 

In the following example we have given the component a list of sequence names

when the component is run the values are assigned to variables.  These output variables can be assigned as input to other components.

 

 

The returned sequence variables are defined in the output parameters

 

The variables become inputs to other components, in this case we are assigning variables into the component Generate CSV

 

 

 

Copy Files to Folder – copy any file from one location to another

 

This is very useful if you want the data from the completed job to be copied to a fixed location, for example:

  • Copy messages into a folder for processing by consumption by a message queue
  • Copy messages into a folder for use as part of a Jenkins automation build
  • Copy messages into a folder to be synchronized into Git

 

All of the files created will be on the server in a folder linked to the job id, for example:

 

When you are defining the Source Folder this will be defined as ?workdir this will be substituted by the job engine to the real location.

 

 

Export to Git

 

A very straight forward component that runs a git push based a specific folder.  So is often used in conjunction with Copy Files to Folder

 

Jira Attach file to Issue

 

Allows messages or files to be attached to Jira test case

 

Resolve CSV

 

This component can be used to take a csv file and issue a resolve and create a new version with a suffix of .resolved.csv and functions enclosed in {} will be resolved.

The resolution allows TDA functions to be incorporated into processes as csv, an examples of this is:
=DataGen.Random.RandomInt(1,100)

You can also perform Test Data Catalogue find or makes, an example of this would be:

{parTestID=195,parBarcodeType=634STPremium,parStartString=0039328350024500224}