在進行接口測試時,Python requests庫是一個非常方便的工具。下面,我會詳細描述使用Python requests庫進行接口測試的全過程,并提供相應的代碼實例。
1. 安裝Python requests庫
在使用Python requests庫進行接口測試之前,需要先安裝該庫??梢允褂靡韵旅钤诿钚兄邪惭b:
2. 發(fā)送請求
使用Python requests庫發(fā)送請求非常簡單,只需要調用requests庫中的get、post等方法即可。以發(fā)送一個GET請求為例:
import requests# 發(fā)送GET請求response = requests.get('https://jsonplaceholder./posts/1')
# 輸出響應內容print(response.content)
以上代碼會發(fā)送一個GET請求,并輸出響應內容。其中,https://jsonplaceholder./posts/1是請求的URL。
3. 添加請求頭
在進行接口測試時,通常需要添加請求頭??梢允褂胷equests庫中的headers參數(shù)來添加請求頭。以添加一個User-Agent請求頭為例:
import requests# 添加User-Agent請求頭headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}# 發(fā)送GET請求response = requests.get('https://jsonplaceholder./posts/1', headers=headers)# 輸出響應內容print(response.content)
以上代碼會添加一個User-Agent請求頭,并發(fā)送一個GET請求。
4. 添加請求參數(shù)
在進行接口測試時,通常需要添加請求參數(shù)。可以使用requests庫中的params參數(shù)來添加請求參數(shù)。以添加一個id參數(shù)為1的請求參數(shù)為例:
import requests
# 添加請求參數(shù)params = {'id': 1}
# 發(fā)送GET請求response = requests.get('https://jsonplaceholder./posts', params=params)
# 輸出響應內容print(response.content)
以上代碼會添加一個id為1的請求參數(shù),并發(fā)送一個GET請求。
5. 發(fā)送POST請求
在進行接口測試時,通常需要發(fā)送POST請求。可以使用requests庫中的post方法來發(fā)送POST請求。以發(fā)送一個JSON格式的POST請求為例:
import requestsimport json# 請求頭headers = {'Content-Type': 'application/json'}# 請求參數(shù)data = {'title': 'foo', 'body': 'bar', 'userId': 1}# 發(fā)送POST請求response = requests.post('https://jsonplaceholder./posts', headers=headers, data=json.dumps(data))# 輸出響應內容print(response.content)
以上代碼會發(fā)送一個JSON格式的POST請求,并輸出響應內容。
6. 斷言響應內容
在進行接口測試時,通常需要對響應內容進行斷言。可以使用Python自帶的unittest庫或第三方的pytest庫等進行斷言。以使用unittest庫進行斷言為例:
import requestsimport unittest
class TestApi(unittest.TestCase): def test_get_post(self): # 發(fā)送GET請求 response = requests.get('https://jsonplaceholder./posts/1')
# 斷言響應狀態(tài)碼是否為200 self.assertEqual(response.status_code, 200) # 斷言響應內容是否包含"title" self.assertIn('title', response.json())
if __name__ == '__main__': unittest.main()
以上代碼會發(fā)送一個GET請求,并斷言響應狀態(tài)碼和響應內容。
總之,使用Python requests庫進行接口測試非常方便和靈活,可以根據(jù)實際需要進行添加請求頭、請求參數(shù)、發(fā)送POST請求等操作,并使用unittest庫或pytest庫等進行斷言。