教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

怎么測試接口的登錄狀態(tài)?

更新時間:2020年07月13日16時12分 來源:傳智播客 瀏覽次數(shù):

一、登錄態(tài)是什么?

在接口測試領(lǐng)域,登錄態(tài)就是指登錄狀態(tài)。

1、登錄態(tài)的作用

作用:用來維持接口的登錄狀態(tài)

在瀏覽器中,我們登錄后,瀏覽器會自動把登錄狀態(tài)保存下來,所以不需要我們管理,就能進行登錄后的操作。

但是在接口測試過程當(dāng)中,我們需要手動管理登錄狀態(tài)。

2、登錄態(tài)的本質(zhì)

本質(zhì):客戶端登錄成功后,由服務(wù)器發(fā)放給客戶端,用來維持登錄狀態(tài)的隨機字符串,這個字符串又稱之為令牌

在登錄后,客戶端每次請求都需要把令牌發(fā)送給服務(wù)器,服務(wù)器接收到令牌后,會校驗令牌對應(yīng)的數(shù)據(jù)信息,從而判斷用戶是否處于“已登錄”的狀態(tài)

3、如何維持登錄態(tài)?

維持登錄態(tài)有3步:

第一步:修改代碼的配置,把代碼中令牌的有效時間改為永久有效

這一步:一般讓令牌找開發(fā)協(xié)調(diào)完成(成熟的公司應(yīng)該會知道這個套路)

第二步:獲取到令牌

按照接口的規(guī)定來獲取令牌。

在項目應(yīng)用中,令牌有3種常見方式獲取

令牌存放在cookie中,獲取cookie就可以提取令牌

令牌存放在登錄接口中,從登錄接口返回數(shù)據(jù)中提取令牌

單獨提供授權(quán)接口,從授權(quán)接口中獲取令牌

第三步: 使用令牌

令牌存放在cookie中時,讀取cookie來使用

令牌放在登錄接口中時,使用提取的令牌

單獨授權(quán)接口,使用授權(quán)接口返回的令牌

以上,要維持登錄態(tài),需要根據(jù)項目對令牌的處理來靈活選擇處理方法。

如果令牌存放在cookie中,那么我們把cookie保存下來即可維持登陸態(tài);

如果令牌存放在登錄接口中,那么我們把登錄接口返回的令牌保存下來即可維持登錄態(tài);

如果令牌存放在授權(quán)接口中,那么我們把授權(quán)接口返回的令牌保存下來即可維持登錄態(tài)。

二、如何獲取和使用登錄態(tài)?

案例1 ihrm登錄的登錄態(tài)

工具:Jmeter

核心:拿到登錄后的令牌

業(yè)務(wù)分析:ihrm項目的令牌主要是從登錄接口中獲取,并且登錄后的接口需要通過請求頭中Authorization屬性來設(shè)置,設(shè)置格式要求是:Bearer空格令牌,示例:Bearer xxxx

操作步驟:

打開抓包工具fiddler,并設(shè)置過濾ihrm域名得過濾條件,然后清空所有數(shù)據(jù)包;

走一遍登錄流程,查看最后一個登錄成功返回的token;

在jmeter的請求頭當(dāng)中,添加Authorization的屬性,并設(shè)置抓取到的token的值。

(1)打開ihrm系統(tǒng)登錄主頁,確認能連接上線上的ihrm系統(tǒng)

ihrm-test.itheima.net/#/login

1594624194532_接口測試01.jpg


(2)打開fiddler設(shè)置過濾ihrm-test.itheima.net的過濾條件

1594624213413_接口測試02.jpg


然后點擊Actions應(yīng)用生效,選擇第一個Run Filterset now

1594624239668_接口測試03.jpg


3、點擊登錄,點擊之后,fildder會抓取到登錄接口

1594624266516_接口測試04.jpg


4、回到fildder查看第一個接口,一般就是我們要抓取的登錄接口

1594624290366_接口測試05.jpg


5、查看響應(yīng)數(shù)據(jù)中的令牌

1594624324641_接口測試06.jpg

其中,返回的json格式的數(shù)據(jù)中data的值,就是我們要用來維持登錄態(tài)的令牌

6、在jmeter的信息頭當(dāng)中添加Authorization屬性,并設(shè)置屬性值為Bearer 令牌

HTTP信息頭管理器添加方法:對線程組右鍵->添加->配置元件->HTTP信息頭管理器

1594624352917_接口測試07.jpg


7、設(shè)置登錄后的接口用戶資料查詢接口

接口信息

1594624371549_接口測試08.jpg

1594624403543_接口測試09.jpg


8、點擊運行,查看結(jié)果


1594624425195_接口測試10.jpg

9、總結(jié)

這樣,我們就使用抓取ihrm登錄接口返回的令牌,來完成了登錄后的接口“用戶資料查詢接口”的請求操作。

在使用過程中,關(guān)鍵是要明確兩點:

1、ihrm項目的令牌是從登錄接口中獲取;

2、登錄后的接口相關(guān)接口(如用戶資料查詢接口),需要通過請求頭中Authorization屬性來設(shè)置。

三、 使用登錄態(tài)技術(shù)的意義

應(yīng)用場景1:性能測試時,不再需要單獨調(diào)用登錄接口要保持登錄狀態(tài),從而更準(zhǔn)確的測試相關(guān)接口。

應(yīng)用場景2:有些登錄接口的操作,安全校驗做到了極致,非常難以破解,這個時候,我們也可以通過客戶端登錄來獲取登錄態(tài)。(前提是找項目開發(fā)明確登錄令牌是哪個字段)

猜你喜歡:
軟件測試培訓(xùn)課程

0 分享到:
和我們在線交談!