求助: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')

```

建议直接request把这个excel下载保存到本地
然后用pandas的read_excel读取
这样就读取成dataframe,你想做什么操作都很简单了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-08-27
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):这个类下边的,好像不支持这样循环

本回答被提问者采纳