Comparing Blueprints
Compare Blueprint feature lets you compare a Blueprint file with the baseline data to check for requests that are missing and also looks for any new requests under an action that gets added, all the details about missing and requests that are added can be monitored using compare Blueprints to compare the data against the baseline data.
This feature is currently available only in pre 5.0 versions of AIQ.
-
From AIQ navigate to Autonomous Testing > Compare Blueprints.
-
In Baseline Blueprint, browse to blueprint file that will be the baseline in the comparison to the a new blueprint file.
-
In Blueprint, browse to blueprint file that will be compared to the baseline blueprint file.
-
Select whether you want to create a comparison reports for All, API Level, or State level.
-
Click Compare Blueprints to generate the comparison report.
Comparison Process and Results
After clicking the compare Blueprints button, the requests from both the Blueprint files would be analyzed.
-
The header contains details of the baseline and the Blueprint path.
-
Baseline type was used for both the Blueprints.
-
A total number of requests was found in each of the Blueprints.
-
In the detailed section, for each of the created actions, it will display all the requests that were found, that are missing compared to the baseline data, and also any new requests that were found in the new Blueprint file would be reported as well.
An option to download the report in HTML format for further analysis is available.
Show Settings
Group request helps to create a dynamic parameter entry specifying a regular expression. All matching requests will be grouped as one in the Blueprint Comparison Report.
You can click Add settings to start grouping parameters based on the provided regular expressions.
The functionality can be stored in a configuration file into AIQ, this config file is used to store some regular expressions, which will remove some patterns from the URLs by making them as similar as possible,
For example :
-
http://domain.com/value?var=54a6s5f65d
-
http://domain.com/value?var=DFG65F65f65d
Those two are very similar, so the regex will check any ending variable var= equals some set of letters and numbers resulting into http://domain.com/value?var=000000
, this file is stored inside the Appvance.properties file
State Report shows the list of parent state and children state that take place in the Blueprint navigation
Example Configuration Files
Example: bpComparisonData.txt
Example: comparisondata.txt
[
{
"regexIn": "h=[0-9,A-Z,a-z]+",
"stringOut": "h=00000"
},
{
"regexIn": "/[0-9]+",
"stringOut": "/00000"
},
{
"regexIn": "https://appvancetest1",
"stringOut": "https://appvancetest"
},
{
"regexIn": "https://appvanceaitesting1",
"stringOut": "https://appvancetest"
},
{
"regexIn": "[:]{1}[0-9]{1,20}",
"stringOut": ":000"
},
{
"regexIn": "entityTypeId=[0-9]+",
"stringOut": "entityTypeId=000"
},
{
"regexIn": "entityId=[0-9]+",
"stringOut": "entityId=000"
},
{
"regexIn": "buildingTypeId=[0-9]+",
"stringOut": "buildingTypeId=000"
},
{
"regexIn": "pageLimit=[0-9]{1,3}+",
"stringOut": "pageLimit=000"
},
{
"regexIn": "[0-9]{4}[-]{1}[0-9]{2}[-]{1}[0-9]{2}+",
"stringOut": "000"
},
{
"regexIn": "top=[0-9]+",
"stringOut": "top=000"
},
{
"regexIn": "statusIds=[1-9]",
"stringOut": "statusIds=000"
},
{
"regexIn": "ssignedToUserId=[0-9]{6}",
"stringOut": "signedToUserId=000"
},
{
"regexIn": "priorityIds=[0-9]",
"stringOut": "priorityIds=000"
},
{
"regexIn": "pageUrl=.*",
"stringOut": "pageUrl=000"
},
{
"regexIn": "lastKnownId=([0-9,null]{0,10})",
"stringOut": "lastKnownId=000"
}
]