当前位置: 首页 > news >正文

Pytest——》文件路径处理

1、层级结构

2、文件路径获取:config

import os.path class Config(object): project_path = os.path.split(os.path.split(__file__)[0])[0] # __file__获取当前文件的绝对路径 if __name__ == '__main__': print(os.path.split(os.path.split(__file__)[0])[0]) print(os.path.join(Config.project_path, "datas/files/testfile.xls"))

路径结果:

D:\Study\pythonProject\venv\Scripts\python.exe D:/Study/pythonProject/PytestFile/config/config.py D:/Study/pythonProject/PytestFile D:/Study/pythonProject/PytestFile\datas/files/testfile.xls Process finished with exit code 0

3、文件接口请求处理:

import pytest import requests, os from PytestFile.config.config import Config class TestFile(object): case_file = [{"data": {"filename": "testfile"}, "file": { "filemsg": ("testfile.xls", open(os.path.join(Config.project_path, "datas/files/testfile.xls")))} }] def setup_class(self): #用例执行前,执行登录方法 self.r = requests.Session() #多次调用,只登录一次 login = self.r.request(method="POST", url="http://localhost:8080/login", data={"username": "test01", "password": "123456"}) assert login.json().get("msg") == "login-pass" @pytest.mark.parametrize("upload_case", case_file) #文件数据参数化 def test_upload(self, upload_case): upload_file = self.r.post("http://localhost:8080/upload", data=upload_case.get("data"), files=upload_case.get("file")) assert upload_file.json()[0].get("filename") == upload_case["data"].get("filename")
http://www.cnnetsun.cn/news/115021.html

相关文章:

  • 35 岁职场焦虑蔓延?为什么网络安全行业越老越值钱?
  • 内网渗透实战干货:12 个优质靶场平台精选,附避坑指南 + 实操技巧合集!
  • 新型电力系统下多分布式电源接入配电网承载力评估方法研究附Matlab代码
  • 50天学习FPGA第16天-verilog的模块与端口
  • 50天学习FPGA第15天-verilog基本概念
  • 基于Docker容器化部署Lsky Pro私有图床系统
  • GRPO不香了?小米ICPO横空出世,专治大模型“不会思考”,推理能力飙升!
  • Windows找不到xenroll.dll文件 如何下载修复?
  • 软件测试文档标准化编写指南
  • Paperzz AI:毕业论文写作的 “隐形助攻”,让学术输出告别 “抓瞎”
  • BypassAV通过Patch白文件实现Bypass,没有添加其他免杀手法
  • 鸿蒙:一个操作系统的生态远征与多行业渗透之路
  • 游戏启动缺少X3DAudio1_3.dll文件问题 下载修复
  • java毕业设计之基于数据安全的旅游民宿租赁系统源代码(java+springboot+mysql)
  • 基于SpringAI构建大模型应用
  • 黑锋科技(HeifengTech)过压过流保护开关芯片全系列技术解析
  • DVWA -SQL Injection-通关教程-完结
  • AI大模型:未来就业的吞噬者还是创造者?揭秘其对普通人工作的影响!
  • 0x3f第七天 二叉搜索树
  • 扩容U盘,资料毁灭盘
  • 数据结构学习篇(5)---顺序表和链表的区别
  • 基于Vue.js和Spring Boot的新能源汽车充电站管理系统的设计与实现文献综述
  • 【Matlab】代码库:RGB三通道图像←互转→RGB次序平铺二维
  • 使用 html2canvas + jsPDF 生成PDF 的简单示例(含文字下沉修复)
  • Vue3+Monaco Editor封装及SQL编辑器实现
  • MiniCPM-V 4.5
  • Flutter工程化与协作实践指南
  • Excel技巧:提取身份证号码中的出生年月日
  • 软工毕业设计创新的开题分享
  • Oracle数据库物理备份与恢复实战指南