1. 程式人生 > >介面自動化測試(1)-認識requests

介面自動化測試(1)-認識requests

即使開始寫這篇部落格,我也沒完全明白介面自動化到底是何物,能自動化到什麼地步。買了一套相關課程,開始只是入門級,介面自動化測試後面應該會根據課程進度,把這系列部落格寫完。今天先寫入門。

環境:python3

環境準備好以後,安裝requests,cmd下輸入命令:pip install requests。如果有報錯,可能兩種原因,第一種命令改為pip.exe install requests。第二種就是提示升級pip,提示裡面有升級命令,最下面引號引起來的,我不記得是啥了。

下面就可以用程式碼實現介面測試了,先寫一個最簡單的。

import requests
url = "https://www.baidu.com"
r = requests.get(url)
print(r.text)

第一行匯入requests包。

第二行一個url,我直接寫個百度,都差不多,寫介面文件真實url就行了。

第三行,主要看requests後面的get,一般是get或者post方法, 是哪種方法,寫哪個就行了(我只用過這兩種,別的方法沒用過)。

第四行就是執行介面返回的資訊,就像jmeter裡的檢視結果樹,但是返回資訊都堆一行了,沒有換行,看著不太方便。

上面是最簡單的,沒帶引數,一般介面測試需要帶引數的,再寫一個帶引數的怎麼寫,實在沒有合適的介面用了,還是用京東永珍的介面,自己註冊個京東永珍,裡面有一些免費介面可以練習使用。(今天不知道怎麼回事,京東永珍網站好像有點問題,找不到免費介面了,幸好以前練習的介面我這有記錄。不知道後面京東永珍會不會修復。。。)

import requests
url = "https://way.jd.com/he/freeweather"
param = {'appkey': '12345', 'city': '北京'}
r = requests.post(url, params=param)
print(r.text)

這裡引數裡面appkey我隨便寫的,註冊京東永珍會得到自己的appkey。

帶引數,第四行url後面加上引數,如果還有帶請求頭的,再加headers,用法和params差不多。

還有引數可能是json格式的,引數那裡需要轉化一下,直接這麼傳會報錯,直接放程式碼,不細說了。

import requests
import json
url = "https://way.jd.com/he/freeweather"
param = {'appkey': '12345', 'city': '北京'}
data_json=json.dumps(param)
r = requests.post(url, params=param)
print(r.text)

如果沒記錯這麼就行了,加兩行程式碼,引數就是json格式傳了,第五行json.dumps就是這格式。有一點我比較疑惑,引數轉化之後,下面傳的引數還是param,而不是data_json,我看我之前程式碼是這麼寫的,我記得當時只能結果是正確的,現在測試環境又出了點問題,介面已經用不了了。

今天先寫這麼多,如果哪裡錯了我後面再改。(要下班了。。。)