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










本文转自 小强测试帮 51CTO博客,原文链接:http://blog.51cto.com/xqtesting/1983345,如需转载请自行联系原作者
目录
相关文章
|
11天前
|
敏捷开发 Java 测试技术
探索软件测试中的自动化测试框架
在软件开发的生命周期中,软件测试扮演着至关重要的角色。随着技术的不断进步和软件项目的日益复杂化,传统的手动测试方法已经无法满足高效、准确的测试需求。自动化测试作为一种提高测试效率和质量的有效手段,越来越受到开发者和测试者的青睐。本文将深入探讨自动化测试框架的重要性、常见的自动化测试工具以及如何选择合适的自动化测试框架。
35 10
|
12天前
|
监控 jenkins 测试技术
自动化测试框架的构建与实践
【10月更文挑战第40天】在软件开发周期中,测试环节扮演着至关重要的角色。本文将引导你了解如何构建一个高效的自动化测试框架,并深入探讨其设计原则、实现方法及维护策略。通过实际代码示例和清晰的步骤说明,我们将一起探索如何确保软件质量,同时提升开发效率。
29 1
|
5天前
|
人工智能 监控 测试技术
探索软件测试中的自动化框架选择与优化策略####
【10月更文挑战第21天】 本文深入剖析了软件测试领域面临的挑战,聚焦于自动化测试框架的选择与优化这一核心议题。不同于传统摘要的概述方式,本文将以一个虚拟案例“X项目”为线索,通过该项目从手动测试困境到自动化转型的成功历程,生动展现如何根据项目特性精准匹配自动化工具(如Selenium、Appium等),并结合CI/CD流程进行深度集成与持续优化,最终实现测试效率与质量的双重飞跃。读者将跟随“X项目”团队的视角,直观感受自动化框架选型的策略性思考及实践中的优化技巧,获得可借鉴的实战经验。 ####
17 0
|
7天前
|
JavaScript 安全 编译器
TypeScript 与 Jest 测试框架的结合使用,从 TypeScript 的测试需求出发,介绍了 Jest 的特点及其与 TypeScript 结合的优势,详细讲解了基本测试步骤、常见测试场景及异步操作测试方法
本文深入探讨了 TypeScript 与 Jest 测试框架的结合使用,从 TypeScript 的测试需求出发,介绍了 Jest 的特点及其与 TypeScript 结合的优势,详细讲解了基本测试步骤、常见测试场景及异步操作测试方法,并通过实际案例展示了其在项目中的应用效果,旨在提升代码质量和开发效率。
26 6
|
3天前
|
机器学习/深度学习 人工智能 Java
探索软件测试中的自动化框架选择与优化策略####
本文深入探讨了在软件测试领域,面对众多自动化测试框架时,如何根据项目特性、团队技能及长远规划做出最佳选择,并进一步阐述了优化这些框架以提升测试效率与质量的策略。通过对比分析主流自动化测试框架的优劣,结合具体案例,本文旨在为测试团队提供一套实用的框架选型与优化指南。 ####
|
3天前
|
敏捷开发 前端开发 Java
软件测试中的自动化测试框架选择与实践
在当今软件开发生命周期中,自动化测试已成为提升软件质量和开发效率的关键手段。本文旨在探讨自动化测试框架的选择标准及其在实际项目中的应用实践。通过对主流自动化测试框架的分析比较,结合具体案例,本文将阐述如何根据项目需求和团队特点选择合适的自动化测试工具,并分享实施过程中的经验教训。
11 1
|
9天前
|
jenkins 测试技术 持续交付
自动化测试框架的构建与优化:提升软件交付效率的关键####
本文深入探讨了自动化测试框架的核心价值,通过对比传统手工测试方法的局限性,揭示了自动化测试在现代软件开发生命周期中的重要性。不同于常规摘要仅概述内容,本部分强调了自动化测试如何显著提高测试覆盖率、缩短测试周期、降低人力成本,并促进持续集成/持续部署(CI/CD)流程的实施,最终实现软件质量和开发效率的双重飞跃。通过具体案例分析,展示了从零开始构建自动化测试框架的策略与最佳实践,包括选择合适的工具、设计高效的测试用例结构、以及如何进行性能调优等关键步骤。此外,还讨论了在实施过程中可能遇到的挑战及应对策略,为读者提供了一套可操作的优化指南。 ####
|
16天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
51 3
|
2月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
67 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
3月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
250 7
Jmeter实现WebSocket协议的接口测试方法
下一篇
无影云桌面