一、 接口測試
內容包含:
- 接口的概念
- Json
- Cookie 和 Session 的區別
- 不同請求類型如何測試(get 和其他)
- Charles 的使用
- 接口:是指對協定進行定義的引用類型(來自百度)。通俗的講,就是用來從數據庫獲取數據的。
- Json:所有語言都可以解析的數據類型。
- Cookie 和 Session:Session 是存在服務器的鍵值對,相當於通往服務器的通行證;Cookie 是存在本地的鍵值對。
- 如何進行接口測試
- 對於 get 請求,不需要借助工具,可以直接在瀏覽器訪問,格式為:www.***.com?k1=value1&k2=value2
- 其他請求使用工具,以 postman 為例
- 直接傳參的方式是,在 body 的 form-data 填寫相應的 key 和 value
- 入參方式為 json 類型時,在 body 的 raw 填寫內容
- 因為記憶力太差去百度眼力又太差,結果困擾我許久的帶 cookie 類型的請求,內容需填寫在 headers,key 為 cookie,value 為 ‘某value=cookie’,如下圖

二、 Charles的使用
主要內容:
- 安裝證書可抓取 https 請求
- 模擬弱網,proxy-throttling setting
- 打斷點,BreakPoints,為避免超時也可以使用本地文件,tools-Map Local
工作中用的比較多,還算熟悉,暫時不總結了
三、 Python 第一課
知識點總結:
- 變量定義(字符串加引號,數值直接賦值)
- input 使用(接收到的類型為 string)
- 條件判斷(if…else…)
- 循環(for 循環和 while 循環)
- 字符串格式化
- list(數組的增刪改查和幾個常用方法)
前三點比較簡單,基本是概念性的東西,就不再多說,主要想記錄下循環和數組的使用
4.循環
其實循環也算熟悉了,while 在使用時需要有計數器,需要避免死循環的情況,而 for 循環不需要單獨定義計數器。
示例 while 循環:
count = 0
while count < 5:
循環體
count += 1
for 循環:
for i in range(3):
循環體
**重點1: **只要在循環中遇到 break,循環立馬結束;遇到 continue,結束本次循環,實際在用的時候,有些情況比如 continue 之后沒有要執行的內容,此時寫不寫 continue 都一樣。
**重點2: **兩種循環都可以加上 else,用於正常循環結束后執行。(只要不是 break 結束的,都要執行 else 部分)。
應用:一個簡單的猜數游戲
import random
num = random.randint(1,100) #生成一個1-100的隨機數
count = 0
while count < 7:
guess = input('請輸入一個數字:')
guess = int(guess)
count += 1
if guess == num:
print('猜對了!')
elif guess < num:
print('猜小了')
else:
print('猜大了')
else:
print('錯誤次數過多!')
5. 字符串格式化
一句話解釋這是干嘛的呢,就是輸出某個參數時,先用 %s (或者d、f) 占位,再給這個變量傳值
應用:
import datetime
today = datetime.datetime.today()
username = input('Please input your name:')
welcome = '歡迎 %s 登錄,今天的日期是 %s'%(username,today)
print(welcome)
我在這犯過的錯是,在給變量傳值前的%加了‘,’,寫成
welcome = '歡迎 %s 登錄,今天的日期是 %s',%(username,today) #這是一個錯誤示范
另外,字符串也支持簡單粗暴的拼接(+的方式),但只能是字符串格式的相接
再次,%f(%.2f 表示保留兩位小數),%d(傳的類型是整數),%s(通用類型)
6. list(列表、數組)
- 定義方式:
a=['a','b','c'] #元素的類型不限制 - 增:
a.append('abc') #這種方式增加的元素在列表的最后a.insert(0,'abc') #在指定位置添加元素
- 刪:
-
a.remove('abc') #刪除指定內容,內容不在列表中時會報錯 -
a.pop(2) #刪除指定下標的元素,刪除時下標找不到會報錯,為空時刪除最后一個元素 -
del a[0] #刪除指定下標的元素,找不到會報錯說一下 pop() 和 del 的區別,del 就直接刪除,而 pop() 方法使用后是將刪除的內容返回到原來的 list,這一點與 string 不同(因為 string 不可更改),所以,a.pop(2) 在執行后,a 直接就變成刪除下標為 2 的元素后的 list。若想獲得這個刪除的值,可以記錄下來:popped = a.pop(2)。
-
- 改:直接通過下標的方式更改特定位置的元素
- 查:通過下標,a[0] 表示第一個元素,a[-1] 表示最后一個
list 的其他方法
a.count('a') #count() 用來計算列表中某元素的個數,不存在時 = 0a.index('b') #index() 用來查某元素的下標,不存在時報錯a.clear() #清空列表a.sort() #用來排序,數字從小到大,字母從a到z,且注意:該方法無返回值,直接將原有數組排序a.sort(reverse=True) #降序排序a.reverse() #元素位置反轉a = [1,2,[3,4,[5,6]]] #多維數組就是數組的嵌套- list 的拼接:
n1=[1,2,3] n2=[4,5,6] n1.extend(n2) #意思為將2拼在1后面,同排序的方法一樣,直接改變原有的 list print(n1,n2) #此時 n1=[1,2,3,4,5,6], n2=[4,5,6]
方法較多時容易記混,需要多用多看,用到的時候記不清可以用一下
