• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

phpunit接口自动化测试功能的实现

php 搞代码 3年前 (2022-01-22) 17次浏览 已收录 0个评论

这次给大家带来phpunit接口自动化测试功能的实现,phpunit接口自动化测试功能实现的注意事项有哪些,下面就是实战案例,一起来看一下。

年初一个偶然的机会接触到了phpunit,一个用PHP编程语言开发的开源软件,也是一个单元测试框架,有效利用的话可以大大提高接口遍历的效率。废话不多说,直接干货。

1.安装

在php的目录下

pear channel-discover pear; pear install phpunit/PHPUnit

2.配置

首先新建一个lib文件夹存放的配置文件,然后再新建一个transfer.php的文件

<?phpfunction 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, $extraheader = array()){  $ch = curl_init();  curl_setopt($ch, CURLOPT_URL, $url);  curl_setopt($ch, CURLOPT_HTTPHEADER, $extraheader);  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 获取数据返回:  //curl_setopt($ch, CURLOPT_VERBOSE, true);  $output = curl_exec($ch) ;  curl_close($ch);  return $output;}function do_Put($url, $fields, $extraheader = array()){  $ch = curl_init();  curl_setopt($ch, CURLOPT_URL, $url ) ;  curl_setopt($ch, CURLOPT_POST, true) ;  curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');  curl_setopt($ch, CURLOPT_POSTFIELDS, $fields );  curl_setopt($ch, CURLOPT_HTTPHEADER, $extraheader);  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 获取数据返回  //curl_setopt($ch, CURLOPT_ENCODING, '');  $output = curl_exec($ch);  curl_close($ch);  return $output;}function do_Delete($url, $fields, $extraheader = array()){  $ch = curl_init();  curl_setopt($ch, CURLOPT_URL, $url ) ;  curl_setopt($ch, CURLOPT_POST, true);  curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');  curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);  curl_setopt($ch, CURLOPT_HTTPHEADER, $extraheader);  curl_setopt($ch, CURLOPT_RETURNTRANSF<mark style="color:transparent">本文来源gaodaimacom搞#^代%!码&网*</mark><pre>搞代gaodaima码

ER, true); // 获取数据返回 //curl_setopt($ch, CURLOPT_ENCODING, ''); $output = curl_exec($ch); curl_close($ch); return $output;}

最后新建一个basetest.php文件

<?php require_once("transfer.php"); define("PREFIX", "http://xxx"); define("HTTPSPREFIX", "https://xxx");  function build_get_param($param) {     return http_build_query($param); }

到此接口测试环境搭建完成。

3.编写测试用例

<?php$basedir = dirname(FILE);require_once($basedir . '/lib/basetestdev.php');define("PHONE", "xxx");define("PWD", "xxx");define("POSTURL","xxx");class TestAPI extends PHPUnit_Framework_TestCase {    private function call_http($path, $param, $expect = 'ok') {        $_param = build_get_param($param);        $url = PREFIX . "$path?" . $_param;        $buf = do_Get($url);        $obj = json_decode($buf, True);        $this->assertEquals($obj['retval'], $expect);        return $obj;    }    private function call_https($path, $param, $expect = 'ok') {        $_param = build_get_param($param);        $url = HTTPSPREFIX . "$path?" . $_param;        $buf = do_Get($url);        $obj = json_decode($buf, True);        $this->assertEquals($obj['retval'], $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请求

public function testPost(){     $session = $user['retinfo']['sessionid'];     $param = array(       ,'data' => '111'     );     $url = POSTURL.'posturl';     return do_POST($url,$param);   }

相信看了本文案例你已经掌握了方法,更多精彩请关注搞代码其它相关文章!

推荐阅读:

ThinkPHP实现微信支付(jsapi支付)流程教程详解_php实例

PHP的微信退款申请

以上就是phpunit接口自动化测试功能的实现的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:phpunit接口自动化测试功能的实现
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址