欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python+unittest+requests+HTMLRunner编写接口自动化测试集

程序员文章站 2022-03-12 12:31:54
01.工具安装及环境配置建议安装python3以上版本,python2版本官方2020年后不在更新及支持python3安装包(附件也有安装包):下载地址:https://www.python.org/downloads/1、python3安装非常简单,直接下一步或者自定义安装自己选择安装目录2、python3安装完成以后,需要配置一下环境变量 系统变量path内配置python3的安装路径和pip的安装路径操作步骤:a、计算机—属性—高级系统设置—环境变量:......

01.工具安装及环境配置
建议安装python3以上版本,python2版本官方2020年后不在更新及支持
python3安装包(附件也有安装包):
下载地址:https://www.python.org/downloads/
1、python3安装非常简单,直接下一步或者自定义安装自己选择安装目录
2、python3安装完成以后,需要配置一下环境变量 系统变量path内配置python3的安装路径和pip的安装路径
操作步骤:
a、计算机—属性—高级系统设置—环境变量:
python+unittest+requests+HTMLRunner编写接口自动化测试集
b、系统变量—path中添加python的安装路径和pip的安装路径:
python+unittest+requests+HTMLRunner编写接口自动化测试集
3、验证python是否安装成功 系统dos命令窗口输入python,看到python版本提示并且进入python命令行:
python+unittest+requests+HTMLRunner编写接口自动化测试集
02.IDE–pycharm的安装及配置
安装包下载地址:https://www.jetbrains.com/pycharm/download/
安装:
1、安装一直点击下一步就可以
2、破解:pycharm64.exe破解教材
3、https://www.cnblogs.com/jiyu-hlzy/p/11726732.html
配置:
pycharm安装完成后,需要配置一下python环境
1、打开pycharm,File–setting
python+unittest+requests+HTMLRunner编写接口自动化测试集
2、点击setting,找到project interpreter,如下图所示:
3、在如下图所示地方,添加你安装在本地的python.exe文件
python+unittest+requests+HTMLRunner编写接口自动化测试集
python+unittest+requests+HTMLRunner编写接口自动化测试集
4、配置完成
02.unittest框架介绍及代码工程目录介绍
01.unittest单元测试框架介绍
一个测试用例是一个独立的测试单元。它检查输入特定的数据时的响应。 unittest 提供一个基类: TestCase ,用于新建测试用例
我们在创建测试类的时候需要继承unittest的基类TestCase
import unittest
class TestDemo(unittest.TestCase):
def setUp(self):
pass

def test_01(self):
    print("test11111")
    pass

def test_02(self):
    print("test22222")
    pass

def test_03(self):
    print("test22222")
    pass

def tearDown(self):
    pass

if name == “main”:
unittest.main()
以上TestDemo类中有五个独立的方法:
1、其中setUp为函数初始化方法,意思就是运行每一个test开头函数都要提前执行setUp函数,在接口测试中通常用作数据初始化
2、tearDown也是初始化方法,与setUp不同的是它是在每一个test开头的函数运行结束后都要执行一次
3、test_01、test_02、test03这三个方法我们可以称之为测试用例,接口的调用都要在这里进行,而且方法名称必须以test开头
4、if name == “main”: 这个大家可以理解为java的main方法

02.代码工程目录

不同的目录放置不同功能的代码,工程目录有助于我们管理代码和后期维护
初步设定工程目录为:
python+unittest+requests+HTMLRunner编写接口自动化测试集
1、OperationBackground为项目名称
2、Common用来存放公共方法
3、config存放配置相关文件
4、Debug用来调试
5、Pamers存放接口数据参数
6、Scripts存放测试用例
03.代码实现
01.通过requests库实现一个简单的http请求
1、首先要安装requests库,通过pip安装
2、pip install requests
3、然后导入requests包
4、import requests
5、3、请求一个接口,请求方法为get
6、例如:http://192.168.2.158:8888/app/mock/16/GET/operation/v1/tradeData/queryTradeByType?beginDate=2020-04-26&endDate=2020-04-26
7、我们可以通过requests.get来调用get方法,访问url
python+unittest+requests+HTMLRunner编写接口自动化测试集
其中 r 为response对象
02.框架搭建
Commons中存放公共方法
例如封装的Client类
python+unittest+requests+HTMLRunner编写接口自动化测试集
Config—Global中存放配置信息
例如:存放get和post的url信息
python+unittest+requests+HTMLRunner编写接口自动化测试集
Script中存放测试脚本
03、脚本执行
脚本执行的策略:
1、包名+文件名+类名为一个测试用例集
2、每一个类里面包含同一个接口的多条用例
3、将所有的测试用例集存放在一个单独文件中的函数下的列表中
4、我们通过调用这个方法,遍历其中的列表,来实现批量执行用例
用例集如下所示:
python+unittest+requests+HTMLRunner编写接口自动化测试集
批量执行用例实现:通过for循环遍历
for test in allTestCases: # 所有用例
try:
# 最关键的就是这一句,循环执行数据数的里的用例
suite.addTest(unittest.defaultTestLoader.loadTestsFromName(test))
except Exception:
print(‘ERROR: Skipping tests from “%s”.’ % test)
try:
import(test)
except ImportError:
print(‘Could not import the test module.’)
else:
print(‘Could not load the test suite.’)

04、邮箱配置
Config–>Global–>EmailSetting
实现附件地址、发件人、发件人密码、收件人、邮箱服务器、邮箱端口的灵活配置
配置信息如下:
EmailSetting = {
# --------------邮箱信息配置---------------
‘filename’: ‘C:\Users\Administrator\Desktop\test_result.html’, # 附件地址
‘from_addr’: ‘123@aduer.com’, # 发件人
‘password’: ‘123456’, # 密码
‘to_addr’: [‘123@aduer.com’,‘222@aduer.com’], # 收件人,添加多个收件人时用“,”隔开
‘smtp_server’: ‘smtp.exmail.qq.com’, # 邮箱服务器
‘smtp_port’: 25 # 邮箱端口
}

01、注意
1、因后台定义方便大家使用,get请求的传参方式为URL_ENCODE, 
      POST请求有form  json  xml  file,根据实际情况使用

2、目前因接口缘故只定义了两种请求方式,分别为get和post,其他请求方式根据实际情况添加

3、目前定义了标准的断言方法,分别为:响应状态码、响应时间、预期值与实际值的对比,如需其他断言,可以在脚本中自定义

4、框架定义时定义了以字典的方式传参,定义参数时,请以字典的格式定义

本文地址:https://blog.csdn.net/longzhijun101/article/details/107381105