本文介绍: 这一些资料,对做【软件测试】的朋友而言应该是较为完整了,这类学习资料也陪伴我走过了最艰难的路程,希望也可以帮助到你!万事要尽早,尤其是技术行业,一定要提升技术功底。以上软件测试资料领取小伙伴可以通过点击下面的小卡片

                ——–UnitTest框架和PyTest框架简单认识对比与项目实战——–

定义

Unittest是Python标准库中自带单元测试框架,Unittest时候也被称为PyUnit,就像JUnit是Java语言标准单元测试框架一样,Unittest则是Python语言标准单元测试框架。

Pytest是Python的另一个第三方单元测试库。它的目的是让单元测试变得更容易,并且也能扩展支持应用层复杂功能测试

两者对比:

Pytest项目实战

一步搭建项目框架(创建Gwyc_Api_Script_Pytest项目目录)

依次创建子目录如下base存放一些最底层方法封装协议请求发送等。common:存放一些公共方法config:存放配置文件data:存放测试数据log:存放日志report:存放报告tests:存放用例utils:存放公共类。 readme:用于说明文档requirements.txt: 用于记录所有依赖包极其版本号,便于环境部署可以通过pip命令自动生成安装

第二步封装请求方法(base目录下面创建method.py)

封装有两种方法

第一种:直接调用requests库下面的request方法,并将所有需要用到参数定义进去,分为实参和行参,实参调用必须要传参,行参可给默认值调用时可重新赋值可以使用默认值。这种方法代码量少,不用做判断request自动根据传入的参数进行发送请求服务器

 第二种:分别对各个请求方式函数的形式封装,分别调用requests进行发送请求。以getpost为例putdelete请求按一样方法封装各个请求方式封装完成以后再定义一个主方法,直接调用主方法会自动根据请求方式进行判断调用各个请求函数,这里可以不对请求方式汇总封装,直接调用各个函数进行发送请求也是可以的。这种方法封装涉及代码量较多,也没有能够很好的用上requests库,因此推荐使用第一种方法。

 

第三步、封装读取文件的方法(common目录下创建public.py):

1、这里需要用到pythonos库,os 库是Python标准库,包含几百个函数,常用的有路径操作进程管理环境参数等。

2、分别对获取目录和获取目录下文件进行了封装,直接调用并传入相应的参数即可使用。如下图

第四步、准备数据(data目录下创建data.xlsx)

接口写入excel表,将接口需要用到字段都写进excel然后直接进行读取

第五步、封装读取文件方法(utils目录下面创建operationExcel.py)

定义一个文件类分别再定义一个方法获取Sheet表,定义一个方法获取出所有数据存放进列表

六步、封装登录方法(common目录下面创建login.py)

获取token提供给接口使用,使用@pytest.fixture装饰器每次执行所有用例前执行一遍登录方法获取token返回

第七步、对表头定义全局变量可以定义utils目录下面的operationExcel.py文件中

第八步、封装用例(tests目录下面创建test_gwyc_api_all.py)

需要用到@pytest.mark.parametrize()装饰器进行封装用例,调用getExceldatas()将读取出来的用例存放进装饰器,”data“为别名。如下图,分别请求头和参数做了为空判断,并将token插入headers里面,这样每一个接口都能使用到登录返回token,不用每次都去调用获取token

第九步、利用allure生成测试报告

allure是Pytest插件需要下载安装,并将allure里面bin目录所在的路径配置到PATH环境变量中就可以直接使用报告

将生成的json文件存放到用例所在的目录下面执行完成以后会在tests目录下面生成一个report目录,下面包含result目录和html目录,前者是存放json文件,后者存放读取后生成的html报告

第十步、封装日志方法(log目录下面创建log.py)

日志在自动化测试中起到的参考作用相对较小以测试报告为准,直接按相应规则配置好直接调用即可。

实战结束

便于自己记忆也能帮上需要帮助的一部分人,何乐而不为! 哈哈

最后:【可能给你带来帮助的教程】 

 这一些资料,对做【软件测试】的朋友而言应该是较为完整了,这类学习资料也陪伴我走过了最艰难的路程,希望也可以帮助到你!万事要尽早,尤其是技术行业,一定要提升技术功底。
以上软件测试资料领取小伙伴可以通过点击下面的小卡片

原文地址:https://blog.csdn.net/2301_79535733/article/details/134780837

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_39148.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注