首页 > 编程语言 >接口自动化测试框架【python+requests+pytest+excel+allure+jenkins】

接口自动化测试框架【python+requests+pytest+excel+allure+jenkins】

时间:2024-05-16 10:20:20浏览次数:26  
标签:封装 python excel json allure JAVA requests 安装

一.在整个框架中需要用到哪些东西?

1.python环境安装

https://www.python.org/downloads/windows/
下载解压后直接安装,选择 Add python to path

2.JAVA环境配置

安装包下载地址:https://www.oracle.com/java/technologies/downloads/
环境变量设置参数如下:
● 变量名:JAVA_HOME
● 变量值:C:\Program Files\Java\jdk-22 java环境的安装路径
● 变量名:CLASSPATH
● 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
● 变量名:Path
● 变量值:%JAVA_HOME%\bin %JAVA_HOME%\jre\bin

3.requests库

4.pytest库

5.pycharm安装

6.Allure安装配置

allure安装:https://github.com/allure-framework/allure2/releases
下载解压,将路径添加到环境变量中,例:D:\install\allure-2.27.0\allure-2.27.0\bin

在cmd中输入allure --version ,出现版本号既安装成功

7.jenkins安装配置(后续更新)

8.Git安装配置(后续更新)

二.框架需要安装的依赖包

https://www.cnblogs.com/tyl-bok/p/18194298

三.项目目录结构

四.方法封装

封装requests的请求方法

导入requests库(import requests),使用本身的get和post方法进行二次封装,放在关键字参数api_keyword.py的ApiKeys类中

封装从响应结果中提取数据的方法

从响应中提取数据需要使用json path进行提取,导入jsonpath(import json/import jsonpath)

  • jsonpath用来提取数据,jsonpath.jsonpath(参数1:响应数据,参数2:需要提取的数据(json path表达式)),返回的数据类型是列表

  • json 用来转换数据格式(如果响应数据是字典格式的字符串,要转换为json格式),json.loads(响应数据)

注:这个方法一次只能提取一个数据

封装从数据库提取数据的方法

1.连接数据库--------------->2.执行sql语句,获取结果(元组格式)

封装Excel文件方法(安装pip install openpyxl)

自动化测试用例相关信息都是放在Excel文件中,包括用例名称、用例标题、请求方法、请求参数、预期结果、实际结果、校验字段等,所以需要将Excel文件的数据读取出来进行测试

读取Excel文件,导入import openpyxl,封装读取和写入Excel文件的方法,放在common包的FileExcelRead.py中

封装yaml文件方法(安装 pip install pyyaml)

读取yaml文件,导入import yaml,封装读取和写入yaml文件的方法,放在common包的FileYamlRead.py中

封装接口加密方法AES

部分接口是加密接口,如果不对数据进行加密,就会报错

标签:封装,python,excel,json,allure,JAVA,requests,安装
From: https://www.cnblogs.com/tyl-bok/p/18194289

相关文章

  • python算法: 抓交通肇事犯
    一,for循环:1,功能:重复执行同一段代码语法:forindexinrange(n):   #循环体代码index:用来依次接收可迭代对象中的元素的变量名range()函数:负责返回整数序列流程图:2,应用range可以同时指定start和stop,用for遍历并打印1234#指定start和s......
  • 推荐一款微信公众平台Python开发神器!
    1、引言在当今数字化时代,微信公众平台成为了企业和个人连接用户的重要渠道。为了高效地管理和与用户互动,开发者需要一个强大而灵活的工具。Weixin-Python正是这样一个为微信公众平台量身打造的Python库,它以其简洁的API和丰富的功能赢得了众多开发者的青睐。本文将深入探讨......
  • python函数参数中的**kwargs
    表示传递任意参数,必须放在形参的最后本质就是一个字典在函数内部可以继续进行处理,添加参数,例如:defexample_function(**kwargs):kwargs['db']=1print(kwargs)如果函数b中的形参是指定了名字的参数,并且你将字典以**a的方式传递给该函数,那么字典中的键必须与函......
  • python多进程中嵌入多进程注意事项
    例如代码:frommultiprocessingimportPoolp1=Pool(4)s=[1,2,3,4]foriins:p1.apply_asny(某方法,args=(i))p1.close()p1.join()此时,某方法中也有一个多进程设置,这样的话就是双重多进程,只要是传入的参数之间是没有关系的,那么就没有问题。如果此时,最外层的apply_......
  • 从C#通过代码启动Python脚本没有接收到参数
    本来写的是这样:ProcessStartInfopsi=newProcessStartInfo{FileName="cmd.exe",WorkingDirectory=FrmNewProject.GetFolderPath()+"\\SolverForEXE",RedirectStanda......
  • ModbusRTU从站扫描工具 python实现
    扫描指定串口下,有哪些modbusRTU服务端[1-247]frompymodbus.clientimportModbusSerialClientasModbusClientfrompymodbus.exceptionsimportModbusIOException,ConnectionException,NoSuchSlaveExceptionimporttimedefread_holding_registers(client,slave_addres......
  • ModbusTCP从站(服务端)扫描工具 python实现
    扫描指定IP网络下,有哪些modbusTCP服务端[1-247]frompymodbus.clientimportModbusTcpClientfrompymodbus.exceptionsimportModbusIOException,ConnectionException,NoSuchSlaveExceptionimporttimedefread_holding_registers(client,slave_address):""&quo......
  • python代码上传文件到fastdfs
    Install直接pip安装,需要Python3.10+pipinstallfastdfs-clientInitialclient可以用其他教程的client.conf配置文件的方式,也可以直接传入ip列表进行初始化fromfastdfs_clientimportFastdfsClientclient=FastdfsClient(trackers=('ip1','ip2',...))Uploadbyfil......
  • Python - pyenv, virtualenv, pipenv
    Pyenv可托管多个不同的Python版本。Installpyenv:gitclonehttps://github.com/pyenv/pyenv.git~/.pyenvAdd~/.pyenv/bintoPATH:if[[$(echo$PATH|grep'pyenv'|wc-l)-eq0]];thenPATH=$PATH:~/.pyenv/binfi 查看当前系统上已经安装和正在使用的......
  • Python - 数据库连接池
    目录SQLite自定义连接池使用sqlalchemy创建连接池SQLite自定义连接池importsqlite3fromqueueimportQueueclassSQLiteConnectionPool:def__init__(self,db_path,max_connection=10):self.db_path=db_path#数据库文件路径self.max_c......