PHPatr - Simple Api Test REST
, (*1)
Package to Smoke testing, (*2)
Test your API REST on Jenkins based on JSON file!, (*3)
Easy configuration and secure result!, (*4)
Installation
$ wget https://raw.githubusercontent.com/00F100/phpatr/master/dist/phpatr.phar
or
Download Phar file, (*5)
Configuration
Configure the file "phpatr.json":, (*6)
Example:, (*7)
{
"name": "Test reqres.in",
"base": [
{
"name": "httpbin.org",
"url": "http://httpbin.org",
"query": {},
"header": {}
}
],
"auth": [
{
"name": "noAuth",
"query":{},
"header": {},
"data": {}
}
],
"tests": [
{
"name": "Test to get IP",
"base": "httpbin.org",
"auth": "noAuth",
"path": "/ip",
"method": "GET",
"query": {},
"header": {},
"data": {},
"assert": {
"type": "json",
"code": 200,
"fields": [
{
"name": "origin",
"type": "string"
}
]
}
},
{
"name": "Test to POST data",
"base": "httpbin.org",
"auth": "noAuth",
"path": "/post",
"method": "POST",
"query": {},
"header": {},
"data": {
"posttest": "95ddcb76ded165f81607e3f050070946"
},
"assert": {
"type": "json",
"code": 200,
"fields": [
{
"name": "form",
"type": "array",
"fields": [
{
"name": "posttest",
"type": "string",
"eq": "95ddcb76ded165f81607e3f050070946"
}
]
}
]
}
},
{
"name": "Test not found 404",
"base": "httpbin.org",
"auth": "noAuth",
"path": "/status/404",
"method": "GET",
"query": {},
"header": {},
"data": {},
"assert": {
"code": 404
}
},
{
"name": "Test status teapot",
"base": "httpbin.org",
"auth": "noAuth",
"path": "/status/418",
"method": "GET",
"query": {},
"header": {},
"data": {},
"assert": {
"code": 418
}
}
]
}
Usage
PHPatr version 0.7.0
Usage:
Test API REST:
php phpatr.phar --config <config file> [--output <file>, [--debug]]
Generate example JSON configuration:
php phpatr.phar --example-config-json
Self Update:
php phpatr.phar --self-update
Help:
php phpatr.phar --help
Options:
-d, --debug Debug the calls to API REST
-c, --config File of configuration in JSON to test API REST calls
-e, --example-config-json Generate a example file JSON to configuration
-o, --output Output file to save log
-u, --self-update Upgrade to the latest version version
-v, --version Return the installed version of this package
-h, --help Show this menu
How to:
Execute test:, (*8)
$ php phpatr.phar --config <config file> [--output <file>, [--debug]]
Options:
-c, --config File of configuration in JSON to test API REST calls
-o, --output Output file to save log
-d, --debug Debug the calls to API REST
Update:, (*9)
$ php phpatr.phar --self-update
Help:, (*10)
$ php phpatr.phar --help
Example "execute test" return success:, (*11)
user@ubuntu /path/to/project> php phpatr.phar --config phpatr.json
[SLOG] Start: 2016-08-27 15:40:11
[SLOG] Config File: phpatr.json
[SLOG] Test Config: Test reqres.in
[SLOG] Run Tests!
[ OK ] Test users single vetor
[ OK ] Test users vector multilevel
[ OK ] Example error: Test users vector multilevel
[SLOG] End: 2016-08-27 15:40:12
Example "execute test" return error:, (*12)
user@ubuntu /path/to/project> php phpatr.phar --config phpatr.json
[SLOG] Start: 2016-08-27 15:40:11
[SLOG] Config File: phpatr.json
[SLOG] Test Config: Test reqres.in
[SLOG] Run Tests!
[ OK ] Test users single vetor
[ OK ] Test users vector multilevel
[FAIL] Example error: Test users vector multilevel
[FLOG] The tests[]->assert->fields does not match to test
[SLOG] End: 2016-08-27 15:40:12
[FLOG] Test failed