1. 接口測試,也是功能測試。php
接口:xml格式,返回的數據一般都是json格式css
2. 客戶端:html、js、csshtml
Android、object-c、swiftjava
瀏覽器、app等等python
服務端:java、php、python數據庫
client serverjson
3. 接口測試:swift
127.0.0.1:8000/pay?order_id=xxx&money=2699瀏覽器
接口文檔包含url、請求方式get/post、請求參數、返回參數cookie
get請求:不須要藉助工具,直接用瀏覽器
url?name=小黑&sex=女&age=18
abc 123
4. cookie、session
cookie存在本地的一個鍵值對
ymyg_login:219603e81aa3319699d3f17697f8b066
session存在服務端的一個鍵值對
xssdnr_login : 219603e81aa3319699d3fa7697f8b066
ymyg_login:219603e81aa3319699d3f17697f8b066
5. 總結
測接口的話,要根據接口文檔來。
get
post:傳cookie、傳header、上傳文件
post、get請求的區別
http請求:
url?name=xxx
請求頭
請求體
1. get請求參數是在url後面的,只有url和請求頭,沒有請求體;
2. post請求參數是在body裏面的,post請求有url、請求頭和請求體。
6. 怎麼寫接口測試用例:能夠用excel寫文檔
7. 怎麼用postman作自動化
新建一個Collection,Collection中新建一個Request,get請求用Params傳參;post請求用Body傳參。
postman參數化:請求中引用使用{{parameter_name}}
參數化文件:第一行是參數名字,跟請求中引用的參數名字對應,下面寫參數的值,多個參數用英文逗號分隔
請求須要登錄才能請求到,則通常狀況下「Headers」中是須要加cookie參數的。
運行:點擊「Runner」-"Choose a collection or folder"中選擇要執行的請求,下面Iterations是循環次數,Data中選擇參數化文件,「Data File Type」中選擇「text/csv」,而後右側出現「Preview」,點擊Preview能看到參數化的值。配置好後點擊「Run collectName」就執行了。
檢查點:postman請求中有「Tests」標籤,在它裏面寫校驗,有固定的格式,經常使用「Response body:C contains string」
若是校驗結果的時候,結果中的數據也是須要參數化的,則把校驗的內容放入請求的參數化文件,而後「Tests」中選擇「Response body: C contains string」。出現下面:
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include(「」);
});
include中不能直接使用「{{check}}」,這樣取不到參數化文件中的check列的值。只能經過函數獲取變量的值include(pm.variables.get("check"));這時運行就經過了。
「Run Results」若是更改了請求或校驗,則不能使用Retry,要關掉並從新打開Runner。
「Run Results」若是出現「This request does not have any tests.」,說明沒有保存請求,要在請求url右側點擊「Save」。
8. 自動化測試:說白了就是寫代碼幫你測試
用自動化測試工具不能讀取數據庫運行測試用例,自動生成發送報告。
測試開發:開發一些框架工具
9. python數據類型:
msg="don't worry" #字符串 string
msg2='你長得真"好看"'
msg3='''don't worry,你長得真"好看"'''
age=18 #int類型
score=27.32 #float
print('hello world!')
print("hello world!")
10. if判斷
#input接收輸入,且都轉成string類型
#int()類型轉換,把變量轉成int類型
#> < >= <= == !=
score=input('請輸入成績:')
print(type(score)) #type()獲取數據類型
score=int(score)
if score>=90:
print('優秀')
elif score<90 and score>=80: #加括號也行,(score<90)/(score+1)>5,有運算優先級加最好,美觀
print('良好')
elif score>=60 and score<80:
print('及格')
else:
print('不及格')
11. while循環
#猜數字的小遊戲,最多猜7次
#1. 隨機產生一個數字
#2. 循環7次
#3. 輸入一個數字,int
#4. 判斷大於仍是小於,仍是等於。若是是等於,遊戲結束break;
#5. 小於,大於,循環次數+1,提示大了仍是笑了
import random
number=random.randint(1,100) #隨機產生一個1-100之間的整數
count=0
while count<7:
guess=input('請輸入一個1-100之間的數字')
guess=int(guess)
count=count+1
if guess>number:
print('猜大了')
continue
elif guess<number:
print('猜小了')
continue
else:
print('恭喜你,猜對了',number)
break
else:
print('錯誤次數用完了')
#while對應一個else,在循環正常結束以後執行else裏面的代碼
12. for循環
#count自動從0開始,而且自動加1
# for count in range(5):
# print('添加一個用戶')
import random
number=random.randint(1,100) #隨機產生一個1-100之間的整數
for count in range(7):
guess=input("請輸入一個1-100之間的數字")
guess=int(guess)
if guess > number:
print("猜大了")
continue
elif guess <number:
print("猜小了")
continue
else:
print('恭喜你,猜對了',number)
break
else:
print("錯誤次數用完了")
13. 字符串格式化
import datetime
msg='歡迎xxx登錄,今天的日期是xxx'
username='test'
# date='2019-07-27'
date=datetime.datetime.today()
# msg='歡迎'+username+'登錄,今天的日期是'+date #效率不高
msg2='歡迎%s登錄,今天的日期是%s' % (username,date) #用了%s,無論後面的變量是inth愛是什麼類型的都沒有關係
print(msg)
print(msg2)
14. 寫一個登錄的程序,最多登錄失敗3次,輸入帳號密碼,若是登錄成功,程序結束,提示歡迎xx登錄,今天的日期是xx
登錄失敗,從新登錄。要判斷輸入是否爲空,什麼也不輸入,輸入空格都算空。