python从excel读取测试用例_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

测试报告:

将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 & ...

浅谈如何使用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 ...

随机推荐

【Java EE 学习 48】【Hibernate学习第五天】【抓取策略】【二级缓存】【HQL】

一.抓取策略. 1.hibernate中提供了三种抓取策略. (1)连接抓取(Join Fetch):这种抓取方式是默认的抓取方式.使用这种抓取方式hibernate会在select中内连接的方式获取 ...

Java性能优化

作者:禅楼望月(http://www.cnblogs.com/yaoyinglong) 注:里面的测试结果会因电脑配置的不同而有所差异!!! 1. 为一些集合定义初始化大小 List.Set.Map都 ...

Chapter 4: Tomcat Default Connector

一.概述 第三章介绍的connector是一个很好的学习工具,但是我们还可以做的更多.这一章介绍的是Tomcat4默认的connector. 一个Tomcat的connector是一个独立的模块,能够 ...

SQL SERVER中查询参数为空(null)时默认查询所有的实现

最近在项目中碰到一个比较有意思的问题,网上查找了一些方法,在这里总结分享一下. 我们经常会碰到这样的场景:需要查询数据,有一些查询条件,但是查询的时候,我们希望在某个条件为空的时候,则不筛选这个条件, ...

Oracle基础 物理备份 冷备份和热备份(转)

一.冷备份介绍:    冷备份数据库是将数据库关闭之后备份所有的关键性文件包括数据文件.控制文件.联机REDO LOG文件,将其拷贝到另外的位置.此外冷备份也可以包含对参数文件和口令文件的备份,但是这 ...

hdu1011

/*比较苦逼的树形DP,慢慢来吧!不着急*/#include #include using namespace std;const int ...

powerdesigner中反向postgresql

一.下载驱动 https://jdbc.postgresql.org/download.html 在cmd中查看本机jdk的版本,然后再到上面的网页中下载对应的jar 二.设置环境变量 JAVA_HO ...

【react开发】使用swiper插件,loop:true时产生的问题解决方案

这2天上班遇到的问题:react使用swiper3插件实现banner轮播,其中有个banner图有个click点击事件,而其他的是页面跳转.出现了一个问题: 就是向右滑动到该帧时的swiper,点击 ...

Unity3D之Lightmap详解

作者:李志健 Unity 完全集成了光照贴图,可以通过编辑器创建完整的光照贴图,你完全不用担心,所有材质会自动获得光照贴图.光照贴图的意思是,所有灯光的特性将被直接映射到Beast lightmapp ...

kafka 删除topic清空数据

原 kafka 删除topic清空数据 2018年11月20日 18:17:50 Ming! 阅读数:1391   版权声明:版权声明:本文为博主原创文章,未经博主允许不得转载. https://bl ...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java可以使用Apache POI库来读取Excel测试用例。你可以使用以下代码来读取Excel文件: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileInputStream; import java.io.IOException; public class ReadExcel { public static void main(String\[\] args) { String filePath = "path/to/your/excel/file.xlsx"; try { FileInputStream fis = new FileInputStream(filePath); Workbook workbook = new XSSFWorkbook(fis); Sheet sheet = workbook.getSheet("Sheet1"); // 根据实际的Sheet名称进行修改 for (Row row : sheet) { for (Cell cell : row) { String cellValue = ""; if (cell.getCellType() == CellType.STRING) { cellValue = cell.getStringCellValue(); } else if (cell.getCellType() == CellType.NUMERIC) { cellValue = String.valueOf(cell.getNumericCellValue()); } System.out.print(cellValue + "\t"); } System.out.println(); } workbook.close(); fis.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 上述代码使用了Apache POI库来读取Excel文件。你需要将`filePath`变量修改为你实际的Excel文件路径,并根据实际的Sheet名称进行修改。代码会逐行读取Excel文件数据,并打印输出。 引用\[1\]的代码是一个测试数据提供者的示例,它使用了`Files.readExcel`方法来读取Excel文件的测试数据。这段代码与Java读取Excel测试用例的代码没有直接的关联。 #### 引用[.reference_title] - *1* [Java 实现Excel文件读取](https://blog.csdn.net/xiaohii/article/details/115029894)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [python+unittest+requests+HTMLTestRunner 框架通过读取excel测试用例实现接口自动化测试](https://blog.csdn.net/qq_44895342/article/details/127313175)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值