codeceptjs-http
codeceptjs-http is CodeceptJS helper which wraps then-request library to process HTTP requests. It's alternative helper that provides more flexible request management.
NPM package: https://www.npmjs.com/package/codeceptjs-http
Configuration
This helper should be configured in codecept.json/codecept.conf.js
endpoint
: base HTTP url.
Example:
{
"helpers": {
"HTTP" : {
"require": "codeceptjs-http",
"endpoint": "http://localhost:8080"
}
}
}
sendRequest
Send HTTP request, response will be availible as return value and in this.currentResponse.
I.sendRequest(('/callback', 'POST', {
headers: {
'Content-Type': 'application/json',
},
json: {
myParam: 123
},
})); // will use base endpoint
I.sendRequest('https://logalhost:8080/getOrders', 'GET'); // will use url from 1st argument
Parameters
requestPath
- endpoint path. Can be relative or absolutemethod
- (optional) request method. Default 'GET'options
- (optional) headers, body, etc. see https://www.npmjs.com/package/then-requestdomain
- (optional) change domain for request
seeHttpResponseHasValidJsonSchema
Validate that latest https response has specified JSON schema.
I.seeHttpResponseHasValidJsonSchema('api/getOrders.json');
I.seeHttpResponseHasValidJsonSchema('filters/values.js', ['param1', 'param2']);
Parameters
schema
- path to JSON schema file. is relative to schemas folder. schemas folder will be in codeceptJS root folder (path.join(global.codecept_dir, './schemas/'))params
- (optional) if schema file is js file, that export function, then you can specify here params in array, that will be applied to this function. Function should return JSON schema.data
- (optional) specify data that should be validated. By default first response message for latest request