python - requests从excel中获取测试用例数据


HttpRequests.py
#-*- coding:utf-8 -*- import requests
class HttpRequests():
def http_requests(self,url,params,http_mothed,cookies=None):
if http_mothed=='get':
res=requests.get(url,params,cookies=cookies)
return res
else:
res=requests.post(url,params,cookies=cookies)
return res
test_HttpRequests.py
#-*- coding:utf-8 -*- #存放测试用例
import unittest
from study_181130_request.HttpRequests import HttpRequests COOKIES=None class TestHttpRequests(unittest.TestCase): def setUp(self):
# self.url='http://47.107.168.87:8080/futureloan/mvc/api/member/login'
pass def __init__(self,url,params,http_method,excepted,methodName):#初始化传参;用初始化函数一定要记得去看看父类里面有没有初始化函数,如果有,需要超继承 self.params=params#请求的数据
self.http_method=http_method#请求方法
self.url=url
self.excepted=excepted
super(TestHttpRequests,self).__init__(methodName)#超继承 def test_api(self):#登录成功 :手机号正确、密码正确;用例里面不可以传参数
global COOKIES#声明全局变量
res=HttpRequests().http_requests(self.url,self.params,self.http_method,COOKIES)
try:
self.assertEqual(self.excepted,res.json()['msg'])
except AssertionError as e:
print('断言结果是:{}'.format(e))
raise e if res.cookies:
COOKIES=res.cookies#当res.cookies非空时,修改COOKIES的值
test_runner.py
#-*- coding:utf-8 -*- import unittest
import HTMLTestRunnerNew
from study_181130_request.test_HttpRequests import TestHttpRequests
from study_181130_request.read_excel import TestExcel test_data=TestExcel().get_TestExcel() suit=unittest.TestSuite()##装用例的地方
for item in test_data:
suit.addTest(TestHttpRequests(item['url'],eval(item['params']),item['http_method'],item['excepted'],'test_api'))#创建实例的方法来添加用 #执行用例
with open('test_api.html','bw+') as file:
Runner=HTMLTestRunnerNew.HTMLTestRunner(stream=file,verbosity=2,
title='HTTP请求作业-单元测试报告',description='测试一下HTTP请求',tester='huimin'
)
Runner.run(suit)
read_excel.py
#-*- coding:utf-8 -*-
from openpyxl import load_workbook
class TestExcel():
def get_TestExcel(self):
workbook = load_workbook('http_requests.xlsx')#打开表
sheet = workbook['Sheet1']#定位表单
test_data = []#把所有行的数据放到列表中
for i in range(2,sheet.max_row+1):
sub_data = {}#把每行的数据放到字典中
for j in range(1,sheet.max_column+1):
sub_data[sheet.cell(1,j).value] = sheet.cell(i,j).value
test_data.append(sub_data)#拼接每行单元格的数据
return test_data
测试报告:

python - requests从excel中获取测试用例数据的更多相关文章
- 将excel中某列数据中,含有指定字符串的记录取出,并生成用这个字符串命名的txt文件
Python 一大重要的功能,就是可处理大量数据,那分不开的即是使用Excel表格了,这里我做下学习之后的总结,望对我,及广大同仁们是一个帮助Python处理Excel数据需要用到2个库:xlwt 和 ...
- Python批量修改Excel中的文件内容
import osimport xlrdfrom xlutils.copy import copydef base_dir(filename=None): return os.path.join ...
- 通过DialogFragment从DatePicker或TimePicker中获取日期数据
通过DialogFragment从DatePicker或TimePicker中获取日期数据 一个activity类,里面存有date和time的变量,想通过dialogfragment的方式获取用户输 ...
- 【Python】如何处理Excel中的数据
我们平时在做自动化测试的时候,可能会涉及到从表格中去读取或者存储数据,我们除了可以使用openpyxl来操作excel,当然也可以利用pandas来完成,这篇随笔只是我在学习过程中的简单记录,其他的功 ...
- 将从数据库中获取的数据写入到Excel表中
pom.xml文件写入代码,maven自动加载poi-3.1-beta2.jar <!-- https://mvnrepository.com/artifact/poi/poi --> & ...
- 浅谈如何使用python抓取网页中的动态数据
我们经常会发现网页中的许多数据并不是写死在HTML中的,而是通过js动态载入的.所以也就引出了什么是动态数据的概念, 动态数据在这里指的是网页中由Javascript动态生成的页面内容,是在页面加载到 ...
- Python+requests+unittest+excel实现接口自动化测试框架
一.框架结构: 工程目录 二.Case文件设计 三.基础包 base 3.1 封装get/post请求(runmethon.py) import requests import json class ...
- Python+requests+unittest+excel实现接口自动化测试框架(摘录)
一.框架结构: 工程目录 二.Case文件设计 三.基础包 base 3.1 封装get/post请求(runmethon.py) 1 import requests 2 import json 3 ...
- Python+requests+unittest+excel实现接口自动化测试框架(转
一.框架结构:工程目录 二.Case文件设计三.基础包 base 3.1 封装get/post请求(runmethon.py) import requests import json class Ru ...
随机推荐
- Redis list数据结构
1. 更换命名空间 2.lpush 往列表里放入10个值 3. llen列表长度 4. lrange 列表范围 8. lset将第0个元素设置为88 9. lindex 获得第2个元素 10. lpo ...
- Shell中怎么获取当前日期和时间
转载自:https://zhidao.baidu.com/question/627912810044012524.html 获得当天的日期 [root@master ~]# date +%Y-%m-% ...
- centos添加额外测源,解决:No package openvpn available.
centos添加额外测源,解决:No package openvpn available. ##添加额外的repositories,安装openvpn yum install epel-release ...
- iCheck .js各种各样的插件 fuck Javascript
http://www.bootcss.com/p/icheck/ 1.先看下网上下载的demo <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 ...
- NPC问题及证明
致谢:http://www.docin.com/p-1902790324.html
- R语言数据挖掘相关包总结-转帖
与数据挖掘有关或者有帮助的R包和函数的集合. 1.聚类 常用的包: fpc,cluster,pvclust,mclust 基于划分的方法: kmeans, pam, pamk, clara 基于层次的 ...
- 【mysql】linux查看mysql配置文件my.conf
mysql --help|grep 'my.cnf' /etc/my.cnf, /etc/mysql/my.cnf, /usr/local/etc/my.cnf, ~/.my.cnf 这些就是mysq ...
- autoconf配置的项目,编译debug版本
./configure CFLAGS=" -g " 当然,c++代码就把 CFALGS 改成 CPPFLAGS
- 云中树莓派(4):利用声音传感器控制Led灯
云中树莓派(1):环境准备 云中树莓派(2):将传感器数据上传到AWS IoT 并利用Kibana进行展示 云中树莓派(3):通过 AWS IoT 控制树莓派上的Led 云中树莓派(4):利用声音传感 ...
- 【ZZ】号称“开发者神器”的GitHub,到底该怎么用?
号称“开发者神器”的GitHub,到底该怎么用? https://mp.weixin.qq.com/s/zpKOBMKWckY05Mv_B28RgQ A developer’s introductio ...