五:使用python進行組織編寫接口測試用例html
接口測試其實就是幾個步驟。python
明白了接口測試的測試步驟,那麼咱們就能夠來組織咱們的代碼。json
import requests # 接口的url url = "http://fanyi.baidu.com/v2transapi" # 接口的參數 params = { "from":"en", "to":"zh", "query": "test" } r = requests.request("post", url, params=params) # 打印返回結果 print(r.text) # 爲了讓結果看的更加清楚一點,我取來翻譯的字段 import json d = json.loads(r.text) print(d['liju_result']['tag'])
結果:api
['試驗', '測驗', '考驗', '化驗', '考查', '受試驗', '受測驗', '受考驗', '測得結果']工具
(結果很長,截取最後的)post
修改參數再次請求;學習
import requests url = "http://fanyi.baidu.com/v2transapi" params = { "from":"en", "to":"zh", "query": "study" # } r = requests.request("post", url, params=params) import json d = json.loads(r.text) print(d['liju_result']['tag'])
結果:測試
['學習', '研究', '課題', '書房', '結論', '考慮', '沉思', '努力', '想出']優化
ps:咱們看看利用工具測試該接口ui
接下來咱們來引入unittest庫優化代碼:
import requests,unittest,json class Testbaiduapi(unittest.TestCase): def setUp(self): url = "http://fanyi.baidu.com/v2transapi" def testzhen(self): params = { "from":"en", "to":"zh", "query": "study" # } url = "http://fanyi.baidu.com/v2transapi" r = requests.request("post", url, params=params) r=json.loads(r.text) assert u'學習' in r['liju_result']['tag'] def testzhen1(self): params = { "from":"en", "to":"h", "query": "stud" # } url = "http://fanyi.baidu.com/v2transapi" r = requests.request("post", url, params=params) r=json.loads(r.text) assert u'學習' in r['liju_result']['tag'] def tearDown(self): pass if __name__=='__main__': unittest.main(verbosity=2)
結果:
在python中,提供了HTMLTestRunner.py來生成測試報告,把該文件下載後,直接放到python安裝文件的lib的目錄下,
就能夠導入該模塊使用了,見該實現的代碼:
import requests,unittest,json,HTMLTestRunner class Testbaiduapi(unittest.TestCase): def setUp(self): url = "http://fanyi.baidu.com/v2transapi" def testzhen(self): params = { "from":"en", "to":"zh", "query": "study" # } url = "http://fanyi.baidu.com/v2transapi" r = requests.request("post", url, params=params) r=json.loads(r.text) assert u'學習' in r['liju_result']['tag'] def testzhen2(self): params = { "from":"en", "to":"h", "query": "stud" # } url = "http://fanyi.baidu.com/v2transapi" r = requests.request("post", url, params=params) r=json.loads(r.text) assert u'學' in r['liju_result']['tag'] def tearDown(self): pass if __name__=='__main__': report_dir= r's.html' re_open= open(report_dir,'wb') suite=unittest.TestLoader().loadTestsFromTestCase(Testbaiduapi) runner=HTMLTestRunner.HTMLTestRunner( stream=re_open, title=u'百度翻譯api接口測試報告', description=u'百度翻譯api接口測試詳情' ) runner.run(suite)
執行後,會在當前目錄下生成測試報告,截圖以下:
其餘接口的測試方法也是這個思路,
做者寄語:
前進的道路咱們充滿着迷茫,
前進的每一步咱們都會有收穫。
路在腳下,咱們決定不了咱們的出身,可是咱們能夠努力改變咱們將來。
告別昨天失敗的本身,努力拼搏今天,成就美好明天
padf文檔分享:https://pan.baidu.com/s/1gfuXkpP