Python 接口測試(五)

五:使用python進行組織編寫接口測試用例html

接口測試其實就是幾個步驟。python

  1. 拿到接口的url地址
  2. 查看接口是用什麼方式發送
  3. 添加請求頭,請求體
  4. 發送查看返回結果,校驗返回結果是否正確

明白了接口測試的測試步驟,那麼咱們就能夠來組織咱們的代碼。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

相關文章
相關標籤/搜索