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()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。