import requests import json import unittest class MyTest(unittest.TestCase): def setUp(self): print("[+]start") def tearDown(self): print("[+]end") def zhongtong(self,type = "zhongtong", id = "719857434111"): self.url = "http://www.kuaidi100.com/query" self.params = { "type":type, "postid":id } self.headers={'user-agent': 'my-app/0.0.1'} r = requests.get(url = self.url, params = self.params , headers = self.headers) print(r.status_code) return r class ExpressInquiry(MyTest): def test001_type_valid(self): print("00001") zhongtong = self.zhongtong(type = "shentong") self.assertIn("快递公司参数异常",zhongtong.text) def test002_type_invalid(self): print("00002") zhongtong = self.zhongtong(type = "sssssssssssss") self.assertIn("参数错误",zhongtong.text) def test003_id_valid(self): print("00003") id = self.zhongtong(id = "719857434155") self.assertIn("交通工程学院菜鸟驿站",id.text) def test004_id_invalid(self): print("00004") id = self.zhongtong(id = "123") self.assertIn("参数错误",id.text) def test005_type_id_invalid(self): print("00005") type_and_id = self.zhongtong(type = "dads",id = "7777") #print(type_and_id.url) #print(type_and_id.text) self.assertIn("参数错误",type_and_id.text) def test006_type_id_null(self): print("00006") null = self.zhongtong(type = "", id = "") #print(null.url) #print(null.text) self.assertIn("参数错误",null.text) def suite(): suite = unittest.TestSuite() suite.addTest(ExpressInquiry("test001_type_valid")) suite.addTest(ExpressInquiry("test002_type_invalid")) suite.addTest(ExpressInquiry("test003_id_valid")) suite.addTest(ExpressInquiry("test004_id_invalid")) suite.addTest(ExpressInquiry("test005_type_id_invalid")) suite.addTest(ExpressInquiry("test006_type_id_null")) unittest.TextTestRunner().run(suite) if __name__ == '__main__': #unittest.main(exit = False , verbosity = 2) #它是全局方法,把它屏蔽后,不在suite的用例就不会跑,exit = False表示中间有用例失败也继续执行;还有比较常用的verbosity=2,表示显示def名字 suite()