求助:Python接口自动化-如何遍历读取excel表格
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求助:Python接口自动化-如何遍历读取excel表格相关的知识,希望对你有一定的参考价值。
以下是代码,两个函数意思是分别读取excel表格的第一行和第二行,发起request请求,i代表行数,请教一下,可以怎样把以下代码合并?两个函数差别只在i不同而已。想要做到每读取一行excel表格的内容,就发一次request请求。
def test_request1(self):
i = 0
logger.logger.logger.debug('测试用例: "%s"' % re.test[i]['接口名称'])
# 发送请求
headers = sg.headers
urle = re.test[i]['环境']
url1 = re.test[i]['接口地址']
url = urle + url1
params = re.test[i]['参数']
res = requests.get(url=url, params=params, headers=headers).json()
logger.logger.logger.debug('返回结果:%s]' % (res))
self.assertEqual(res['code'], 'success')
def test_request2(self):
i = 1
logger.logger.logger.debug('测试用例: "%s"' % re.test[i]['接口名称'])
# 发送请求
headers = sg.headers
urle = re.test[i]['环境']
url1 = re.test[i]['接口地址']
url = urle + url1
params = re.test[i]['参数']
res = requests.get(url=url, params=params, headers=headers).json()
logger.logger.logger.debug('返回结果:%s]' % (res))
self.assertEqual(res['code'], 'success')
```
然后用pandas的read_excel读取
这样就读取成dataframe,你想做什么操作都很简单了 参考技术A def test_request(self,n):
for i in range(n):
logger.logger.logger.debug('测试用例: "%s"' % re.test[i]['接口名称'])
# 发送请求
headers = sg.headers
urle = re.test[i]['环境']
url1 = re.test[i]['接口地址']
url = urle + url1
params = re.test[i]['参数']
res = requests.get(url=url, params=params, headers=headers).json()
logger.logger.logger.debug('返回结果:%s]' % (res))
self.assertEqual(res['code'], 'success')
n就是想读取前几行,如果是前两行,n就是2,i会先取0再取1,每读取一行excel表格的内容,就发一次request请求。追问
n值怎么传入?
追答看到你有self,我猜上面应该还有个class,所以先要实例化
然后,调用test_request(self,n)时候
需要前几行,就把n改成几
我这个函数是写在class SelectMock(unittest.TestCase):这个类下边的,好像不支持这样循环
本回答被提问者采纳接口自动化测试Python_使用python对excel进行操作
如何使用Python对excel进行简单的操作
一. 通过pip安装xlwt, xlrd这两个模块
*pip install xlwt
*pip install xlrd
二. 准备好一份接口测试用例,excel文档
三. python脚本读取excel内容
# 读取excel内容
import xlrd
# 获取excel文件存放地址(加r声明为raw字符串,这样就不会处理其中的转义了。否则,可能会报错)
data = xlrd.open_workbook(r\'..\\dataconfig\\interfaceTestCase.xlsx\')
# 获取第1个sheet
tables = data.sheets()[0]
# 打印sheet名字
print data.sheet_names()
# 打印行数
print tables.nrows
# 打印第3行第4列
print tables.cell_value(2, 3)
运行结果如下:
四. 进阶-对象实例化
# coding=utf-8
# 读取excel内容
import xlrd
class OperationExcel:
def __init__(self, file_name=None, sheet_id=None):
if file_name:
self.file_name = self.file_name
self.sheet_id = self.sheet_id
else:
self.file_name = \'..\\dataconfig\\interfaceTestCase.xlsx\'
self.sheet_id = 0
self.data = self.get_data()
# 获取sheets的内容
def get_data(self):
data = xlrd.open_workbook(self.file_name)
tables = data.sheets()[self.sheet_id]
return tables
# 获取单元格的行数
def get_lines(self):
tables = self.data
return tables.nrows
# 获取某一个单元格的内容
def get_cell_value(self, row, col):
return self.data.cell_value(row, col)
if __name__ == \'__main__\':
opers = OperationExcel()
print opers.get_data().nrows
print opers.get_lines()
print opers.get_cell_value(1, 3)
以上是关于求助:Python接口自动化-如何遍历读取excel表格的主要内容,如果未能解决你的问题,请参考以下文章