python批量读取用例的方法
1、通过全局变量存放用例数据
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @File : GetData.pyclass GetData:Cookie = None
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @File : http_request.py
import requestsclass HttpRequest:def http_request(self, url, data, method):result = Noneif method.lower() == 'post':result = requests.request("POST", url, data=data)elif method.lower() == 'get':result = requests.request("GET", url, data=data)else:print("错误")return result
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @File : test_http.py
import unittestfrom test_excel_case import GetData
from test_excel_case.http_request import HttpRequestclass TestHttp(unittest.TestCase):def setUp(self):self.login_url = "https://xxxx.com/xxxxi/login"def __init__(self, methodName, url, data, method, expected): #通过初始化函数传参super(TestHttp, self).__init__(methodName) # 父类的方法保留了self.url = urlself.data = dataself.method = methodself.expected = expecteddef test_api(self): #接口用例res = HttpRequest().http_request(self.url, self.data, self.method)if res.cookies:#如果cookie有的话,那么就更新cookiesetattr(GetData,'Cookie',res.cookies) #反射try:self.assertEqual(self.expected,res.json()['code'])except AssertionError as e:print("test_api's error is {}".format(e))raise eprint(res)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @File : test_suite.py
import HTMLTestRunner
import unittestfrom test_excel_case.test_http import TestHttptest_data = [{"url": "https://xxxx.com/xxxxi/login","data": {"username": "testlxm", "password": "testlxm"}, "expected": 1000, "method": "post"},{"url": "https://xxxx.com/xxxxi/login","data": {"username": "testlxm", "password": "123456"}, "expected": 1000, "method": "post"}]suite = unittest.TestSuite()for item in test_data: #创建用例suite.addTest(TestHttp('test_api', test_data[0]['url'], test_data[0]['data'], test_data[0]['method'],test_data[0]['expected']))with open("test_summer.html","wb") as file:testrunner = HTMLTestRunner.HTMLTestRunner(stream=file, verbosity=2, title=None, description=None)testrunner.run(suite)
#正常登录后,返回的数据
{"code" : 1000,"msg" : "OK","data" : {"guid" : "def8b5a9c4d4354a6a4618","token" : "3242ac20-55c5-40fb-9ec3-62143b5cea52","loginId" : "testlxm","username" : "testlxm","sex" : "1","email" : "testlxm@xx.com.cn","mobile" : "15621252325","isAdmin" : null,"tenantId" : "tenant_system","tenantName" : "租户","redirectUrl" : null,"isButton" : [ ],"icon" : "/imagepool/2019-04-03/6664088899.png","roleId" : "4"}
}
python批量读取用例的方法相关推荐
- 自动化神器啊,Python 批量读取身份证信息写入 Excel
大家好,今天分享一个实用技能,利用 Python 批量读取身份证信息写入 Excel. 喜欢记得收藏.关注.点赞. 注:文末提供完整版代码.技术交流方式 读取 以图片形式的身份证为例,信息读取我们使用 ...
- 我用Python批量读取考生成绩单,并自动发送录取通知书邮件
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 欢笑情如旧,萧疏鬓已斑. 01 前 ...
- python 批量读取csv_python批量读取csv文件
请问大神怎样用python批量读取文件夹下的文件? python如何读取CSV文件一部分数据 Python如何批量读取CSV文件并写入TXT? 如何用python把多个csv文件数据处理后汇总到新cs ...
- python账单查询软件_利用Python批量识别电子账单数据的方法
这篇文章主要介绍了利用Python批量识别电子账单数据的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 一.前言 有一定数量类似如下截图所示的账单,利用 ...
- json字段顺序读取 python_如何利用Python批量读取视频文件的时间长度?
本期的主题是利用Python来实现对视频文件时间长度的读取. 在学习编程语言时,相比较于通过书本来学习知识,我更喜欢通过观看学习视频的方式来进行学习,通过主讲老师的讲解,我能很直观且快速的了解一些知识 ...
- python批量提取word指定内容_使用python批量读取word文档并整理关键信息到excel表格的实例...
目标 最近实验室里成立了一个计算机兴趣小组 倡议大家多把自己解决问题的经验记录并分享 就像在CSDN写博客一样 虽然刚刚起步 但考虑到后面此类经验记录的资料会越来越多 所以一开始就要做好模板设计(如下 ...
- python读取文件多行内容-Python逐行读取文件内容的方法总结
Python四种逐行读取文件内容的方法 下面四种Python逐行读取文件内容的方法, 分析了各种方法的优缺点及应用场景,以下代码在python3中测试通过, python2中运行部分代码已注释,稍加修 ...
- python批量读取图片gps位置_某少儿不宜网站图片拍摄位置分析,Python批量读取图片GPS位置!...
原标题:某少儿不宜网站图片拍摄位置分析,Python批量读取图片GPS位置! 1. python读取图片exif属性中的GPS信息 智能手机或平板如果在拍照时开启定位服务,照片中就会记录拍照位置信息和 ...
- python批量读取csv文件-使用Python读写csv文件的三种方法
行之间无空行十分重要,如果有空行或者数据集中行末有空格,读取数据时一般会出错,引发[list index out of range]错误.PS:已经被这个错误坑过很多次! 使用python I/O写入 ...
最新文章
- 此blog已经迁移~~~
- 深入理解javascript原型和闭包(13)-【作用域】和【上下文环境】
- 一个详细的JTable使用例子
- PyTorch基础(part2)
- strictmath_Java StrictMath ulp()方法与示例
- 面试官系统精讲Java源码及大厂真题 - 15 CopyOnWriteArrayList 源码解析和设计思路
- 根据递归定义的数据表循环生成xml
- redhat 中安装rpm包时遇到异常 “error: Failed dependencies:xinetd is needed by .”
- mysql中什么是dml语句_mysql---DML语句
- customErrors与错误页面
- 阶段3 1.Mybatis_10.JNDI扩展知识_1 补充-JNDI概述和原理
- go项目实战 <微信公众号后台开发>(一、获取token)
- 苹果id登录_LOL手游公测!苹果/安卓下载登录详细教程
- 天池大数据竞赛——UI特征统计
- Javascript运行环境
- django -- url映射
- 髂嵴最高点在哪里_两侧髂嵴最高点连线约平 ( )
- 电子烟中测电阻注意事项
- Linux操作系统 第六章
- win10 / linux计划任务
热门文章
- java运用ascii实现动画效果_安卓开发20:动画之Animation 详细使用-主要通过java代码实现动画效果...
- 14日晚8点直播丨 经典知识库:性能优化那些事
- 索引扫描时,对同一个叶子块访问多次的原因初探
- PMOS 和 NMOS区别
- 教你从零搭建Web漏洞靶场OWASP Benchmark
- AI实战分享 | 基于CANN的辅助驾驶应用案例
- Python入门:ChainMap 有效管理多个上下文
- MySQL 数据库救火:磁盘爆满了,怎么办?
- 扎根CNCF社区贡献五年是怎样的体验?听听华为云原生开源团队的负责人怎么说
- 实战案例丨使用云连接CC和数据复制服务DRS实现跨区域RDS迁移和数据同步