国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

使用phpunit進行接口自動化測試

2024-05-05 00:02:48
字體:
來源:轉載
供稿:網友

年初一個偶然的機會接觸到了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_RETURNTRANSFER, 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);   } 

以上這篇使用phpunit進行接口自動化測試就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 太仓市| 平度市| 新丰县| 石泉县| 武冈市| 闽清县| 龙江县| 柘城县| 伊川县| 天台县| 宜黄县| 英德市| 凤阳县| 南昌市| 南投市| 海晏县| 嘉鱼县| 阳曲县| 东兰县| 明水县| 定日县| 榆树市| 龙南县| 恩平市| 温泉县| 馆陶县| 定兴县| 柳河县| 甘德县| 贵定县| 安新县| 中山市| 怀仁县| 专栏| 仙桃市| 思南县| 禄丰县| 徐水县| 渭源县| 绥芬河市| 象山县|