標籤:headers ade edit head get book ati .json ==
上篇已經用mock server配置了介面。
python代碼編寫介面測試,主要運用了unittest、requests兩個架構
import jsonimport unittest, requestsclass getCase(unittest.TestCase):#測試案例之前執行def setUp(self):print("testing start")self.demian = "http://localhost:12306/"self.headers = {‘content-type‘ :‘application/json‘}self.json_data = json.dumps({"new" : "QQ","old" : "taobao"})#測試案例執行完之後執行def tearDown(self):print("testing engding")#測試get介面def test_get_case(self):results = requests.get(self.url(‘gets‘)).json()self.assertEqual(len(results), 2)self.assertEqual(results[0][‘title‘], ‘java‘)self.assertEqual(results[0][‘version‘], ‘1.8.0‘)self.assertEqual(results[1][‘title‘], ‘python‘)self.assertEqual(results[1][‘version‘], ‘3.5‘)#測試post介面def test_post_case(self):results = requests.post(self.url(‘posts‘), data = self.json_data, headers = self.headers)re= results.json()self.assertEqual(results.status_code, 200)self.assertEqual(len(re), 2)self.assertEqual(re[0][‘fruit‘], ‘apple‘)self.assertEqual(re[0][‘computer‘], ‘lenvo‘)self.assertEqual(re[1][‘mobile‘], ‘iphone‘)self.assertEqual(re[1][‘book‘], ‘testing‘)#測試put介面def test_edit_case(self):results = requests.put(self.url(‘edit‘), data = self.json_data, headers = self.headers)re= results.json()self.assertEqual(results.status_code, 200)self.assertEqual(re[‘success‘], ‘true‘)#測試delete介面def test_delete_case(self):results = requests.delete(self.url(‘delete‘))re= results.json()self.assertEqual(results.status_code, 200)self.assertEqual(re[‘success‘], ‘true‘)def url(self, path):return self.demian + pathif __name__ == ‘__main__‘:unittest.main()
運行結果:
python介面測試