UNPKG

@apica-io/url-xi

Version:

URL Check for integrations and API monitoring

166 lines (147 loc) 5.42 kB
{ "$schema": "https://files-apicasystem-com.s3-eu-west-1.amazonaws.com/schemas/url-xi-schema-v1-0.json", "name": "Ticketmonster Home Page", "description": "Simple Scenario for the TM home page", "baseURL": "http://ticketmonster.apicasystem.com", "envPrefix":"TMHOME", "scripts": [ { "name": "After Test", "scope": "after", "script": [ "var t=timings;", "if(t) logger.debug('test',t)", "else logger.error('No timings defined in test')" ] } ], "variables": [ { "key": "dummyInput", "type":"string", "value":"foo", "usage": "input" }, { "key": "webSite", "type":"url", "value":"http://webcode.me", "usage": "input" }, { "key": "arrSize", "type":"number", "value":5, "usage": "input" }, { "key": "metric1", "type":"number", "value":3.14, "usage": "metric" }, { "key": "Header1", "type": "header", "usage": "input", "value":"Kalle-Anka" } ], "steps": [ { "name": "Home page", "onRequestError":"nextRequest", "scripts": [ { "name": "run Axios request", "async": true, "scope": "before", "options": { }, "script": [ "const webSite=uxs.getVar('webSite')", "//const ret=await uxs.request({url:webSite});", "//logger.info('Request call Status=%d',ret.status);" ] }, { "name": "AfterStep", "scope": "after", "script": [ "const arrSize=uxs.getVar('arrSize')", "expect(arrSize,`The number ${arrSize} must be above 2`).to.be.above(2);" ] }, { "name": "After all", "scope": "afterEach", "script": [ "var t=timings;", "if(t) logger.debug(t)", "else logger.error('No timings defined')" ] } ], "requests": [ { "name":"Root Page", "config": { "url": "/" }, "assertions": [ { "description": "Dummy input should be foo or bar", "failStep": true, "expression": "['foo','bar'].find(element => element === value)", "value": "{{dummyInput}}", "type": "javaScript" } ] }, { "name":"TM Home HTML", "config": { "url": "/ticket-monster" }, "message":"The custom message download time={{$timings.downloadTime}}, nothing={{nothing}}", "scripts": [ { "name": "AfterRequest", "scope": "after", "script": [ "const arrSize=uxs.getVar('arrSize')", "expect(arrSize,`The number ${arrSize} must be above 1`).to.be.above(1);" ] } ], "assertions": [ { "description": "Validate response time", "failStep": true, "expression": "value < 1000", "value": "{{$durationMs}}", "type": "javaScript", "reportFailOnly": false }, { "description": "Validate dns time", "failStep": false, "expression": "value < 5", "value": "{{$timings.dnsTime}}", "type": "javaScript", "reportFailOnly": false }, { "description": "Secure handshake should be 0", "failStep": true, "expression": "value <= 0", "value": "{{$timings.secureHandshake}}", "type": "javaScript", "reportFailOnly": false } ] } ] } ] }