接口自动化测试之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
转载于:https://blog.51cto.com/xqtesting/1983345
接口自动化测试之PHPUnit-框架代码编写2相关推荐
- Jmeter+Jenkins+Ant 接口自动化持续集成框架
前言: 首先简单说下jmeter+jenkins+ant接口自动化持续集成框架的工作原理,以便于更好的理解后面的各项配置: 首先,jenkins通过SVN获取jmeter最新的脚本: 然后,jenki ...
- PC微信hook基础框架代码编写-->获取微信日志
PC微信hook基础框架代码编写-->获取微信日志 一. 封装微信hook框架和一些基本功能 1. 新建一个dll工程 2. 新建一个CHook类 并编写对应的函数 3. 新建一个CTools工 ...
- 【30天学会接口自动化测试】接口自动化测试之框架设计(五)
整理了一些软件测试方面的资料.面试资料(接口自动化.web自动化.app自动化.性能安全.测试开发等),有需要的小伙伴可以文末加入我的学习交流qun,无套路自行领取~ 如果有100个测试用例,重复的去 ...
- 接口自动化测试之框架模型搭建
一.前言 小伙伴们大家好呀,今天笔者给大家带来了一篇关于python接口自动化测试的文章,这篇文章主要讲解Python接口自动化测试框架模型的搭建,主要介绍如何设计框架,以及基础的框架运行等,话不多说 ...
- jemeter python接口自动化测试平台_python接口自动化测试之request
之前小编写过Rest-assuert接口测试框架,它是基于java的,那么怎么轻轻松松玩转python接口自动化测试呢?今天小编就写写如何使用python Request进行接口自动测试. 学习任何一 ...
- 接口自动化测试之Mock
一.Mock实现原理和实现机制 在某些时候,后端在开发接口的时候,处理逻辑非常复杂,在测试的时候,后端在未完成接口的情况下该如何去测试呢? 我们需要测试,但是有些请求又需要修改一下参数,或者改变一下r ...
- python教学视频p_python接口自动化28requestshtml爬虫框架
前言 requests库的好,只有用过的人才知道,最近这个库的作者又出了一个好用的爬虫框架requests-html.之前解析html页面用过了lxml和bs4, requests-html集成了一些 ...
- Web自动化_APP自动化_接口自动化_测试框架汇总
1 luckyframe 码云地址 https://gitee.com/seagull1985/LuckyFrameWeb https://gitee.com/seagull1985/LuckyFra ...
- 接口自动化集成TestNG框架
目录 1. 接口概念 2. HTTP接口 3. TestNG介绍 4. TestNG注解 4.1 dependsOnMethods标签 4.2 alwaysRun标签 4.2.1 alwaysRun ...
最新文章
- boost::log模块记录多个线程的示例
- oracle 处理过程,Oracle SQL语句处理过程(转载)
- C语言数字3转变字符 3 程序,大学c语言知识点总结
- MyEclipse 8.0注冊码+原版下载_Java开发软件
- 富文本编辑器CKEditor 5开发环境搭建
- oracle in查询 一直等待,学习笔记:Oracle awr 分析解决inactive transaction branch等待事件...
- 呼叫转移XCAP log的查看
- LoadRunner压力测试:测试报告结果分析
- 垃圾焚烧发电厂如何推行5S/6S/7S管理
- 浙大陈越老师数据结构 02-线性结构4 Pop Sequence详解
- Autovue v21.0.2的新功能
- 将数字转换成大写金额
- 一些android论坛
- 谈一谈Restful接口设计风格
- AWS的KVS相关介绍
- iOS下载不了迅雷怎么办
- web实现QQ第三方登录
- hive on tez 执行任务报错
- java pgp加密_基于Java Bouncy Castle的PGP加密解密示例
- 视频配音软件哪个好用?这篇文章来告诉你
热门文章
- 命令行实现SMTP和IMAP
- View.onMeasured的默认实现 (onMeasure必须调setMeasuredDimension)
- 消息队列—简介以及使用场景
- List类系列(一):list中各元素出现的次数
- 使用FastJson解析时有关内部类的两个问题
- 剖析Fragment的Pause生命周期全过程
- GridSearchCV和RandomizedSearchCV调参
- suse系统关闭防火墙
- 【原创】分布式之redis复习精讲
- 关于字符编码,你所需要知道的(ASCII,Unicode,Utf-8,GB2312…)