接口自动化测试之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

时间: 2024-10-11 21:09:25

接口自动化测试之PHPUnit-框架代码编写2的相关文章

接口自动化测试之PHPUnit-完结以及源码发放

通过连续的几篇文章一个基本的测试框架就搞定了,是不是觉得很简单?其实写代码这件事情很多时候是我们自己把自己吓到了,只要你愿意去尝试并坚持,一切都会变得自然而然. 当然我们的这个系列文章也是引导大家入门的,本框架还可以继续去完善加强,剩余的就留给大家了. 对了,可能有的朋友会在内心呼喊,这个是phpunit的,如果是其他语言的怎么写啊.嗯,其实都一样,框架这个玩意思想是通用的,就好比奥迪是车,宝马是车,都是四个轮子....你懂的 最后,放出全部源码,获取方式如下: 1.点击链接加入群 522720

java 接口自动化测试之数据请求的简单封装

我们自己用java写接口自动化测试框架或者做个接口自动化测试平台的话,是需要自己进行相关的请求的,因此我们需要简单的封装下httpclient,我新建了一个http工具类,将get方法和post方法进行了一个简单的封装. 如果是开发的话,比如APP开发,无论是iOS还是Android,是需要将数据请求进行十分严密的封装的,因为需要对各种网络状态,请求状态做相应的判断处理,因为需要通过这些判断来做出相应的UI交互界面来给用户提示,那么我们做接口测试的话是不需要这么严密的,因为测试的前提就是要保证测

python WEB接口自动化测试之requests库详解

1.Get请求 前提: requests库是python的第三方库,需要提前安装哦,可以直接用pip命令:`python –m pip install requests` 按照惯例,先将requests库的属性打印出来,看看哪些属性. >>> import requests >>> dir(requests) #查看requests库的属性 ['ConnectionError', 'HTTPError', 'NullHandler', 'PreparedRequest'

接口自动化测试之TestNG测试报告ExtentReports的应用(三)

pom.xml导入包 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apach

Java接口自动化测试之集成MyBatis和MySQL (五)

pom.xml新增dependency 1 <dependency> 2 <groupId>org.mybatis</groupId> 3 <artifactId>mybatis</artifactId> 4 <version>3.4.4</version> 5 </dependency> 6 <dependency> 7 <groupId>mysql</groupId> 8

Java接口自动化测试之HTTPClient学习(四)

pom.xml  文件中dependency 1 <dependencies> 2 <dependency> 3 <groupId>org.testng</groupId> 4 <artifactId>testng</artifactId> 5 <version>6.14.3</version> 6 </dependency> 7 <dependency> 8 <groupId&g

python接口自动化框架

基于 python 的接口测试框架 接口测试 · jphtmt · 于 5 月前发布 · 最后由 jphtmt 于 4 月前回复 · 3553 次阅读 项目背景 公司内部的软件采用B/S架构,管理实验室数据,实现数据的存储和分析统计.大部分是数据的增删改查,由于还在开发阶段,所以UI界面的变化非常快,之前尝试过用python+selenium进行UI自动化测试,后来发现今天刚写好的脚本第二天前端就改了页面,又得重新去定位元素什么的,消耗大量的精力与时间维护自动化脚本.针对此种情况,对接口测试较为

接口自动化简单框架

接口自动化简单框架 一.自动化测试分类: 1.数据驱动:根据数据(读取EXCEL数据)来测试 2.代码驱动:测试用例都是代码,通过读取代码测试 3.关键字驱动:UI自动化,根据封装好的工具,输入关键字测试,有点傻瓜式测试 点击 --> .click() 下一步 提交 --> .submit() { '点击':click() '提交':submit() } 二.自动化框架 自动化框架:可以理解为工具的集合.在日常工作中根据需要实现某些功能,封装起来.或结合其他自动化工具. 三.搭建数据驱动自动化

python3+request接口自动化框架

首次书写博客,记录下写的自动化接口框架,框架比较简单,哈哈哈,算是记录下历程把!~~~ 一.本次框架由python3.6 书写 1.准备代码环境,下载python3.6    下载地址:https://www.python.org/downloads 2.下载pycharm 软件. 二.开始创建python接口自动化框架: 1.这是我创建的框架中的各个文件夹,分别有config  配置文件夹.fengzhuang   将接口用get post  两种传输方式进行封装并自动来区分执行. 2.log