版权声明:本文为博主原创文章,转载请注明出处!!!(●'◡'●) https://blog.csdn.net/Small_Mouse0/article/details/85843769
项目越写越大,多多少少会有点不敢运行了,就像下面这幅图一样(皮一下^ . ^)
不过还是得硬着头皮去测试,手动测试?是有点浪费时间了,,在此分享一个自动测试的小脚本,仅供参考。
公共方法
<?php
/**
* Created by PhpStorm.
* User: xianyu
* Date: 2019/1/5
* Time: 11:10
*/
/**
* 模拟post进行url请求
* @param $url
* @param $data
* @return bool|string
*/
function request_post($url, $data)
{
$postdata = $data;
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/json',
'content' => $postdata
)
);
$context = stream_context_create($opts);
$result = file_get_contents($url, false, $context);
return $result;
}
/**
* @param $info
* @return string
* 数据加密
*/
function encryption($info)
{
if (empty($info)) return "";
$info = is_string($info) ? $info : json_encode($info);
return $info;
}
function checkResult($responseStr, $code)
{
$info = json_decode($responseStr, true);
if (!isset($info['code']) || $info['code'] != $code) return false;
return true;
}
配置文件格式参考
<?php
/**
* Created by PhpStorm.
* User: xianyu
* Date: 2019/1/5
* Time: 11:45
*/
return array(
"prefix" => "#",
"suffix" => ".html",
"tests" => [
[
"url" => "aa",
"param" => ["tocken" => "aa"],
"code" => 0
],
[
"url" => "aa",
"param" => ["tocken" => "aa"],
"code" => 0
]
]
);
入口方法
<?php
/**
* Created by PhpStorm.
* User: xianyu
* Date: 2019/1/5
* Time: 11:14
*/
include_once "common.php";
$conf = include_once "conf.php";
$prefix = $conf['prefix'];
$suffix = $conf['suffix'];
foreach ($conf['tests'] as $key => $test) {
$url = $prefix . $test['url'] . $suffix;
$info = $test['param'];
$responseStr = request_post($url, encryption($info));
$info = json_encode($info);
echo "接口:【{$url}】" . PHP_EOL;
echo "参数:【{$info}】" . PHP_EOL;
if (checkResult($responseStr, $test['code']))
echo "测试结果:【OK】";
else
echo "测试结果:【error】" . PHP_EOL;
echo "请求结果:【{$responseStr}】" . PHP_EOL;
}