当前位置:Gxlcms > Python > python如何使用unittest测试接口_python

python如何使用unittest测试接口_python

时间:2021-07-01 10:21:17 帮助过:34人阅读

这篇文章主要为大家详细介绍了python如何使用unittest测试接口,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了python使用unittest 测试接口的具体代码,供大家参考,具体内容如下

1.首先使用 python 的requests 对接口进行测试

  1. # TestInface.py
  2. import requests,json
  3. url = visit.get_test_url()
  4. news_url = url+'news.info'
  5. headers = baseToken.basetoken_datas()['headers']
  6. def new_data(data):
  7. r = requests.post(news_url,data=data,headers=headers)
  8. cnn = json.loads(r.text)
  9. return cnn

2.使用unittest调用接口,且对接口测试的结果进行统计

  1. # TestCase.py
  2. # -*- coding:utf-8 -*-
  3. import unittest
  4. import TestInface
  5. # 对执行的case结果进行统计
  6. # ---------------------------------------------------------------------------------------------------------------------
  7. text = ""
  8. num_success = 0
  9. num_fail = 0
  10. # 测试通过
  11. def decide_success(joggle):
  12. global num_success
  13. num_success += 1
  14. print_out(joggle + ":接口测试通过\n")
  15. return num_success
  16. # 测试不通过
  17. def decide_fail(txt, joggle):
  18. global num_fail
  19. num_fail += 1
  20. print_out(joggle + ":接口测试未通过 \n错误信息: " + txt + "\n")
  21. return num_fail
  22. # 邮件内容写入 & 客户端
输出 def print_out(message): global text text += "\n" + message return text # 返回值判断 def decide_result(result, code, joggle): if result['code'] == code: decide_success(joggle) return "pass" else: txt = u"期望返回值:" + str(code) + u" 实际返回值:" + str(result) + '\n' + result['message'] decide_fail(txt, joggle) return "fail" def decide_Count(): data = { 'num_success': num_success, 'num_fail': num_fail, 'text': text } return data # -------------------------------------------------------------------------------------------------------------------- # 定义 unittest class MyTestCase(unittest.TestCase): # 初始化工作 def setUp(self): pass # 退出清理工作 def tearDown(self): pass def test_Case1(self): id = 16 data = {'id':id} a = TestInface.new_data(data) decide_result(a,0,'test_Case1')

3.使用suite对case进行管理

  1. # TestSuite.py
  2. # -*- coding:utf-8 -*-
  3. import unittest
  4. import TestCase
  5. def test_InterFace():
  6. # 构造测试集
  7. suite = unittest.TestSuite()
  8. suite.addTest(TestCase("test_Case1")) # unittest中的测试用例
  9. runner = unittest.TextTestRunner()
  10. runner.run(suite)
  11. # 对测试集进行测试需要返回值
  12. # return suite
  13. if __name__ == '__main__':
  14. # unittest.main(defaultTest='test_InterFace')
  15. # 执行测试
  16. runner = unittest.TextTestRunner()
  17. runner.run(test_InterFace())

4.对接口的数据进行统计

  1. # TestCensus.py
  2. # -*- coding:utf-8 -*-
  3. import time
  4. import TestSuite
  5. import send_email
  6. import TestCase
  7. class Test_Calss():
  8. def census(self):
  9. text = ''
  10. # 初始化测试起始时间
  11. start_time = time.time()
  12. # 调用suite测试集
  13. TestSuite.test_InterFace()
  14. # 结束执行时间计算
  15. end_time = time.time()
  16. result = TestCase.decide_Count()
  17. # 接口测试统计说明
  18. total_use_case = u"执行用例总数:" + str(result['num_success'] + result['num_fail']) + \
  19. u"\t通过数:" + str(result['num_success']) + \
  20. u"\t不通过数:" + str(result['num_fail'])
  21. total_time = u"\t总共耗时:" + str(round((end_time - start_time), 3)) + u'秒'
  22. text = result['text'] + total_use_case + total_time
  23. print (text)
  24. # 发生测试报告邮件
  25. send_email.email_file(text)
  26. if __name__ == '__main__':
  27. Test_Calss().census()

相关推荐:

Python中unittest用法实例

Python单元测试框架unittest简明使用实例

Python中unittest模块做UT(单元测试)使用实例

以上就是python如何使用unittest测试接口_python的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行