一、登錄態是什么?
在接口測試領域,登錄態就是指登錄狀態。
1、登錄態的作用
作用:用來維持接口的登錄狀態
在瀏覽器中,我們登錄后,瀏覽器會自動把登錄狀態保存下來,所以不需要我們管理,就能進行登錄后的操作。
但是在接口測試過程當中,我們需要手動管理登錄狀態。
2、登錄態的本質
本質:客戶端登錄成功后,由服務器發放給客戶端,用來維持登錄狀態的隨機字符串,這個字符串又稱之為令牌
在登錄后,客戶端每次請求都需要把令牌發送給服務器,服務器接收到令牌后,會校驗令牌對應的數據信息,從而判斷用戶是否處于“已登錄”的狀態
3、如何維持登錄態?
維持登錄態有3步:
第一步:修改代碼的配置,把代碼中令牌的有效時間改為永久有效
這一步:一般讓令牌找開發協調完成(成熟的公司應該會知道這個套路)
第二步:獲取到令牌
按照接口的規定來獲取令牌。
在項目應用中,令牌有3種常見方式獲取
令牌存放在cookie中,獲取cookie就可以提取令牌
令牌存放在登錄接口中,從登錄接口返回數據中提取令牌
單獨提供授權接口,從授權接口中獲取令牌
第三步: 使用令牌
令牌存放在cookie中時,讀取cookie來使用
令牌放在登錄接口中時,使用提取的令牌
單獨授權接口,使用授權接口返回的令牌
以上,要維持登錄態,需要根據項目對令牌的處理來靈活選擇處理方法。
如果令牌存放在cookie中,那么我們把cookie保存下來即可維持登陸態;
如果令牌存放在登錄接口中,那么我們把登錄接口返回的令牌保存下來即可維持登錄態;
如果令牌存放在授權接口中,那么我們把授權接口返回的令牌保存下來即可維持登錄態。
二、如何獲取和使用登錄態?
案例1 ihrm登錄的登錄態
工具:Jmeter
核心:拿到登錄后的令牌
業務分析:ihrm項目的令牌主要是從登錄接口中獲取,并且登錄后的接口需要通過請求頭中Authorization屬性來設置,設置格式要求是:Bearer空格令牌,示例:Bearer xxxx
操作步驟:
打開抓包工具fiddler,并設置過濾ihrm域名得過濾條件,然后清空所有數據包;
走一遍登錄流程,查看最后一個登錄成功返回的token;
在jmeter的請求頭當中,添加Authorization的屬性,并設置抓取到的token的值。
(1)打開ihrm系統登錄主頁,確認能連接上線上的ihrm系統
ihrm-test.itheima.net/#/login
(2)打開fiddler設置過濾ihrm-test.itheima.net的過濾條件
然后點擊Actions應用生效,選擇第一個Run Filterset now
3、點擊登錄,點擊之后,fildder會抓取到登錄接口
4、回到fildder查看第一個接口,一般就是我們要抓取的登錄接口
5、查看響應數據中的令牌
其中,返回的json格式的數據中data的值,就是我們要用來維持登錄態的令牌
6、在jmeter的信息頭當中添加Authorization屬性,并設置屬性值為Bearer 令牌
HTTP信息頭管理器添加方法:對線程組右鍵->添加->配置元件->HTTP信息頭管理器
7、設置登錄后的接口用戶資料查詢接口
接口信息
?
8、點擊運行,查看結果
9、總結
這樣,我們就使用抓取ihrm登錄接口返回的令牌,來完成了登錄后的接口“用戶資料查詢接口”的請求操作。
在使用過程中,關鍵是要明確兩點:
1、ihrm項目的令牌是從登錄接口中獲取;
2、登錄后的接口相關接口(如用戶資料查詢接口),需要通過請求頭中Authorization屬性來設置。
三、 使用登錄態技術的意義
應用場景1:性能測試時,不再需要單獨調用登錄接口要保持登錄狀態,從而更準確的測試相關接口。
應用場景2:有些登錄接口的操作,安全校驗做到了極致,非常難以破解,這個時候,我們也可以通過客戶端登錄來獲取登錄態。(前提是找項目開發明確登錄令牌是哪個字段)
Copyright ? 2013-2021 河南云和數據信息技術有限公司 豫ICP備14003305號 ISP經營許可證:豫B-20160281