python接口自动化-多接口测试

上一篇讲了如何测试一个接口,接下来我们讲解多个接口又是怎么批量测试的!

1、需求

接口1:关键字搜索
接口2:机构列表

2、接口

接口文档如下:

在这里插入图片描述
在这里插入图片描述

3、代码

import requests   #这个库是接口测试必不可少的,里边包含各种请求方式和返回值
import unittest   #单元测试模块,作用是写用例,运行用例
import sys
import io 
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8') #避免打印中文乱码的

class Test_api(unittest.TestCase):  
	def setUp(self):
		pass

	def test_search(self):   #第一条用例
		'''keyword search'''   #这里是用例名称,用途是批量运行用例时,能够知道这条用例是测什么的
		self.url = 'http://******/api/search/keywords'  #接口地址
		self.param = {
						'keyword' : '一带一路',   #请求参数,这是个搜索图书的接口,想要搜索有关“一带一路”的书
						'size' : 3
					 }
		self.res = requests.get(self.url,params=self.param)  #发送请求,这个不需要请求头,所以没有header
		self.r = self.res.json()   #把返回值转成json串
		self.assertIn('一带一路',str(self.r)) 
		#print (self.r)

	def test_inst(self):  #第二条用例
		'''institution search list'''
		self.url = 'http://******/api/institution/items'
		self.param = {
						'keyword' : '国家图书馆'   #在机构列表搜索“国家图书馆”
					 }
		self.res = requests.get(self.url,params=self.param)
		self.r = self.res.json()
		self.assertIn('国家图书馆',str(self.r))
		#print (self.r)

	def tearDown(self):
		pass
		
if __name__=='__main__':
	suite = unittest.TestSuite()  
	suite.addTest(Test_api('test_inst'))   #第一条用例
	suite.addTest(Test_api('test_search'))  #第二条用例
	runner = unittest.TextTestRunner(verbosity=2)
	runner.run(suite)   #因为已经把用例都添加进测试套件里了,所以,会同时运行

运行结果:
在这里插入图片描述
通过上述代码,我们可以看到在测试套件里边添加多条用例,就可以多条批量运行,但是有弊端,用例少得话,可以这样运行,但是一旦用例较多,那这个工作量就太大了,我们有一个解决方案:
可以把if下边得代码改了
在这里插入图片描述
把上边的代码,改成下边这样就OK了
在这里插入图片描述
综上所述,testcase就是写用例的位置,我们有多条用例的话,就把所有的用例都写着testcase里,一条用例一个方法,然后批量运行就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值