python如何使用unittest测试接口
本文实例为大家分享了python使用unittest测试接口的具体代码,供大家参考,具体内容如下
1.首先使用python的requests对接口进行测试
#TestInface.py importrequests,json url=visit.get_test_url() news_url=url+'news.info' headers=baseToken.basetoken_datas()['headers'] defnew_data(data): r=requests.post(news_url,data=data,headers=headers) cnn=json.loads(r.text) returncnn
2.使用unittest调用接口,且对接口测试的结果进行统计
#TestCase.py
#-*-coding:utf-8-*-
importunittest
importTestInface
#对执行的case结果进行统计
#---------------------------------------------------------------------------------------------------------------------
text=""
num_success=0
num_fail=0
#测试通过
defdecide_success(joggle):
globalnum_success
num_success+=1
print_out(joggle+":接口测试通过\n")
returnnum_success
#测试不通过
defdecide_fail(txt,joggle):
globalnum_fail
num_fail+=1
print_out(joggle+":接口测试未通过\n错误信息:"+txt+"\n")
returnnum_fail
#邮件内容写入&客户端输出
defprint_out(message):
globaltext
text+="\n"+message
returntext
#返回值判断
defdecide_result(result,code,joggle):
ifresult['code']==code:
decide_success(joggle)
return"pass"
else:
txt=u"期望返回值:"+str(code)+u"实际返回值:"+str(result)+'\n'+result['message']
decide_fail(txt,joggle)
return"fail"
defdecide_Count():
data={
'num_success':num_success,
'num_fail':num_fail,
'text':text
}
returndata
#--------------------------------------------------------------------------------------------------------------------
#定义unittest
classMyTestCase(unittest.TestCase):
#初始化工作
defsetUp(self):
pass
#退出清理工作
deftearDown(self):
pass
deftest_Case1(self):
id=16
data={'id':id}
a=TestInface.new_data(data)
decide_result(a,0,'test_Case1')
3.使用suite对case进行管理
#TestSuite.py
#-*-coding:utf-8-*-
importunittest
importTestCase
deftest_InterFace():
#构造测试集
suite=unittest.TestSuite()
suite.addTest(TestCase("test_Case1"))#unittest中的测试用例
runner=unittest.TextTestRunner()
runner.run(suite)
#对测试集进行测试需要返回值
#returnsuite
if__name__=='__main__':
#unittest.main(defaultTest='test_InterFace')
#执行测试
runner=unittest.TextTestRunner()
runner.run(test_InterFace())
4.对接口的数据进行统计
#TestCensus.py #-*-coding:utf-8-*- importtime importTestSuite importsend_email importTestCase classTest_Calss(): defcensus(self): text='' #初始化测试起始时间 start_time=time.time() #调用suite测试集 TestSuite.test_InterFace() #结束执行时间计算 end_time=time.time() result=TestCase.decide_Count() #接口测试统计说明 total_use_case=u"执行用例总数:"+str(result['num_success']+result['num_fail'])+\ u"\t通过数:"+str(result['num_success'])+\ u"\t不通过数:"+str(result['num_fail']) total_time=u"\t总共耗时:"+str(round((end_time-start_time),3))+u'秒' text=result['text']+total_use_case+total_time print(text) #发生测试报告邮件 send_email.email_file(text) if__name__=='__main__': Test_Calss().census()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。