測開1 - 接口、Python(循環、list)


一、 接口測試

內容包含:

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

二、 Charles的使用

主要內容:

  1. 安裝證書可抓取 https 請求
  2. 模擬弱網,proxy-throttling setting
  3. 打斷點,BreakPoints,為避免超時也可以使用本地文件,tools-Map Local

工作中用的比較多,還算熟悉,暫時不總結了


三、 Python 第一課

知識點總結:

  1. 變量定義(字符串加引號,數值直接賦值)
  2. input 使用(接收到的類型為 string)
  3. 條件判斷(if…else…)
  4. 循環(for 循環和 while 循環)
  5. 字符串格式化
  6. 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() 用來計算列表中某元素的個數,不存在時 = 0
  • a.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]
    

方法較多時容易記混,需要多用多看,用到的時候記不清可以用一下


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM