接口自動化測試之PHPUnit-框架代碼編寫2
接著上篇文章繼續代碼的講解,上次的代碼中引入了require.php,這個玩意是幹啥的呢,今天我們就來說下
require.php內容如下
<?php
//所需要的所有引入文件都放這裏,方便統一管理,以後的php文件裏只需要引入這一個就ok了
//請求相關
require_once("../commons/transfer.php");
//讀取配置文件相關
require_once("../src/read_config.php");
//測試用例類相關
require_once("../testcases/lhl_test.php");
?>
這個不是必須的,你也可以選擇在需要的地方引入需要的文件,我們這裏之所以抽離成為一個就是為了方便維護,以後萬一有變動只需維護這一個php文件即可,其余的都不需要去關心的。
transfer.php內容如下,主要就是把get和post請求封裝為class,以後有其他的方法你也可以在此封裝。具體的內容在之前的文章中已經講解過,此處不再重復。
<?php
class Transfer
{
public static function 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); // 獲取數據返回
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
public static function post($url, $post_params, $extraheader = array())
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_params );
curl_setopt($ch, CURLOPT_HTTPHEADER, $extraheader);
//如果是https的,可能需要加上下面的兩行
#curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
#curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 獲取數據返回
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
}
?>
read_config.php內容如下,主要是完成讀取host配置文件,這個也是可選的,你也可以寫在代碼裏,我們提取出來主要是為了方便,比如你在測試環境用的一個host,到了線上是另外一個host,那麽我們只需要維護對應的文件即可。
<?php
class ReadConfig
{
var $doc;
public function __construct()
{
//load配置文件
$this->doc=new DOMDocument();
$this->doc->load("../src/config.xml");
}
public function get_host($type)
{
//讀取配置文件,選擇host
foreach($this->doc->getElementsByTagName("host") as $item)
{
$list = $item->getElementsByTagName( $type );
foreach ( $list as $list1 )
{
$value = $list1->nodeValue;
break;
}
}
return $value;
}
}
?>
讀取的host文件為xml格式,內容如下
<?xml version="1.0" encoding="UTF-8"?>
<Setting>
<host>
<online>http://v.juhe.cn/laohuangli/d</online>
<host1>http://127.0.0.1</host1>
</host>
</Setting>
資料獲取
後續涉及到的代碼可以通過如下方式獲取(代碼會逐步發放,不要著急):點擊鏈接加入群 522720170(共享裏有):https://jq.qq.com/?_wv=1027&k=5C08ATe
本文出自 “小強性能自動化測試品牌” 博客,請務必保留此出處http://xqtesting.blog.51cto.com/4626073/1983345
接口自動化測試之PHPUnit-框架代碼編寫2