非常感謝[百人計畫]五娃的分享!下面是整理的筆記:
一、環境準備:
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)
(response_message.status_code) #列印相應結果狀態碼
(response_message.text) #列印響應內容
(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)
(response_message.status_code)
(response_message.text)
(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薈萃了這樣乙個團隊,並將他們帶到每乙個讀者身邊,那就是這本薄薄的小書 軟體架構師...