介面自動化測試之PHPUnit-框架程式碼編寫2

餘二五發表於2017-11-23

接著上篇文章繼續程式碼的講解,上次的程式碼中引入了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

本文轉自 小強測試幫 51CTO部落格,原文連結:http://blog.51cto.com/xqtesting/1983345,如需轉載請自行聯絡原作者


相關文章