年初一个偶然的机会接触到了PHPunit,一个用PHP编程语言开发的开源软件,也是一个单元测试框架,有效利用的话可以大大提高接口遍历的效率。废话不多说,直接干货。
1.安装
在PHP的目录下
PHPunit/PHPUnit
2.配置
首先新建一个lib文件夹存放的配置文件,然后再新建一个transfer.PHP的文件
PHP
function do_Post($url,$fields,$extraheader = array()){
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields );
curl_setopt($ch,CURLOPT_HTTPHEADER,$extraheader);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); // 获取数据返回
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
function do_Get($url,true); // 获取数据返回:
//curl_setopt($ch,CURLOPT_VERBOSE,true);
$output = curl_exec($ch) ;
curl_close($ch);
return $output;
}
function do_Put($url,$url ) ;
curl_setopt($ch,true) ;
curl_setopt($ch,CURLOPT_CUSTOMREQUEST,'PUT');
curl_setopt($ch,true); // 获取数据返回
//curl_setopt($ch,CURLOPT_ENCODING,'');
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
function do_Delete($url,'DELETE');
curl_setopt($ch,$fields);
curl_setopt($ch,'');
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
PHP
require_once("transfer.PHP");
define("PREFIX","http://xxx");
define("HTTPSPREFIX","https://xxx");
function build_get_param($param) {
return http_build_query($param);
}
到此接口测试环境搭建完成。
3.编写测试用例
assertEquals($obj['retval'],$expect);
return $obj;
}
private function call_https($path,$expect = 'ok') {
$_param = build_get_param($param);
$url = HTTPSPREFIX . "$path?" . $_param;
$buf = do_Get($url);
$obj = json_decode($buf,$expect);
return $obj;
}
public function testLogin(){
$param = array(
'type' => 'phone','token' => PHONE,'password' => PWD
);
$url = 'login';
return $this->call_http($url,$param);
}
/**
* @depends testLogin
*/
public function testInfo(array $user){
$session = $user['retinfo']['session'];
$param = array(
'session' => $session
);
$url ='info';
return $this->call_http($url,$param);
}
如果为post请求
'111'
);
$url = POSTURL.'posturl';
return do_POST($url,$param);
}
以上这篇使用PHPunit进行接口自动化测试就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。
原文链接:https://www.f2er.com/php/16222.html