Pyhton Requests之介面測試

2022-03-31 12:18:03 字數 2829 閱讀 3826

非常感謝[百人計畫]五娃的分享!下面是整理的筆記:

一、環境準備:

pyhton 2.x或者pyhton 3.x、requests庫。(我安裝的版本是pyhton 3.4)

安裝pyhton 3.x安裝參考文件

requests安裝命令 pip install requests

使用上述命令的前提是已經安裝了pip(pip安裝也參考文件)

二、requests做介面測試,首先明白以下問題:

1、如何傳送請求?

1)如何知道請求的url?

2)如何辨別請求的方式?

解決如上兩點方法:1技術提供介面文件(最佳方案);2自己抓包。

2、如何組裝資料?

get方法和data方法引數組裝區別(見下文示例2、3)。

3、如何處理響應內容?

1)設定斷言assert;

2)自己寫判斷語句(唯一識別判斷)。

三、下面是三種**形式

1、傳送請求(get請求)

#!/usr/bin/env python

#示例1

import

requests

url_one="

" #請求的url

response_message=requests.get(url_one)

print

(response_message.status_code) #列印相應結果狀態碼

print

(response_message.text) #列印響應內容

print

(response_message.url) #列印請求url

if u'

python'in

response_message.text:

print('

success')

assert(response_message.status_code,201)

2、引數組裝

get請求

#

!/usr/bin/env python

#示例2

import

requests

url_two="

"payload=

response_message=requests.get(url=url_two,params=payload)

print

(response_message.status_code)

print

(response_message.text)

print

(response_message.url)if'

python'in

response_message.text:

print('

success')

if 200==response_message.status_code:

print('

send success')

assert(response_message.status_code,201)

post請求

#

!/usr/bin/env python

#示例3

import

requests

url_three="

"data=

response_message=requests.post(url=url_three,data=data)

print(response_message.text)

3、unittest框架

將上述**採用unittest框架會更簡潔,如下:

#

!/usr/bin/env python

#示例4

import

requests

import

unittest

class

thistest(unittest.testcase):

deftest_get_method_no_params(self):

url_one="

"response_message=requests.get(url=url_one)

self.assertin(

'python

',response_message.text)

self.assertequal(200,response_message.status_code)

deftest_get_method_with_params(self):

url_two="

"payload=

response_message=requests.get(url=url_two,params=payload)

self.assertin(

'python

',response_message.text)

self.assertequal(200,response_message.status_code)

self.assertequal(url_two+'

?wd'+'

='+payload['wd'

],response_message.url)

if__name__=='

__main__':

unittest.main()

四、總結

介面測試入門需要熟悉一下幾點:

requests庫基礎;

介面協議型別;

引數組裝;

請求的url;

相應結果的處理;

五、補充

介面測試用例是依據功能測試抽離出來的,不包含業務的測試。

博學之,審問之,慎思之,明辨之,篤行之

禮記 中庸 十九章有云 博學之,審問之,慎思之,明辨之,篤行之。這說的是為學的幾個層次,或者說是幾個遞進的階段。博學之 意謂為學首先要廣泛的獵取,培養充沛而旺盛的好奇心。好奇心喪失了,為學的慾望隨之而消亡,博學遂為不可能之事。博 還意味著博大和寬容。惟有博大和寬容,才能相容幷包,使為學具有世界眼光和...

接觸之,熟悉之,打破之

接觸之,熟悉之,打破之 拿破崙小時候就是孩子王,不管同夥伴們玩什麼遊戲,它總是贏家。同時,它更善於改變遊戲規則,以便能夠發揮他自己的優勢。如果能夠成為遊戲規則的左右者,那麼,在當今商戰中必定是最大的贏家。我們處在乙個有著各種各樣遊戲規則的大環境中,每時每刻都要面對不同的遊戲規則,轉換不同的角色,讓自...

手之舞之,足之蹈之

我知道,你認為我在講述天方夜譚。沒有哪個程式設計師可以這樣奢侈,可以這樣幸運。不錯,這確乎是我的幻想。不可求,不可遇。然而,書卻可以擁有這樣的魔力,可以讓這樣的幻想得到實現。感謝richard monson haefel薈萃了這樣乙個團隊,並將他們帶到每乙個讀者身邊,那就是這本薄薄的小書 軟體架構師...