成人打一炮免费视频,亚洲天堂视频在线观看,97视频久久久,日本japanese护士色高清,五月婷婷丁香,日韩精品一级无码毛片免费,国产欧美日韩精品网红剧情演绎

APP登錄態(tài)構(gòu)造方法、系統(tǒng)、電子設(shè)備及介質(zhì)與流程

文檔序號(hào):41846782發(fā)布日期:2025-05-09 18:05閱讀:1來源:國知局
APP登錄態(tài)構(gòu)造方法、系統(tǒng)、電子設(shè)備及介質(zhì)與流程

本公開涉及計(jì)算機(jī),具體涉及一種app登錄態(tài)構(gòu)造方法,一種app登錄態(tài)構(gòu)造系統(tǒng),一種電子設(shè)備以及一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。


背景技術(shù):

1、在日常測試工作中,對于app的各種福利活動(dòng),如秒殺活動(dòng),在其正式上線前,需要對其進(jìn)行壓力測試,以驗(yàn)證相關(guān)接口的性能能否達(dá)到活動(dòng)要求,未達(dá)到要求時(shí)要進(jìn)行性能的調(diào)優(yōu)。一般情況下,壓力測試的接口需要覆蓋活動(dòng)中涉及的所有接口,包括查詢類接口和寫接口。查詢類的接口指的是涉及數(shù)據(jù)查詢、不會(huì)修改數(shù)據(jù)的業(yè)務(wù)接口,對于這類接口的壓測,使用同一登錄用戶的數(shù)據(jù)進(jìn)行查詢即可;寫接口指的是會(huì)發(fā)生數(shù)據(jù)修改的業(yè)務(wù)接口,對于這類接口,登錄用戶的數(shù)據(jù)只要被請求處理一次,下次再請求,由于其數(shù)據(jù)已被修改,接口就會(huì)報(bào)錯(cuò),因此壓測時(shí)是不能使用同一登錄用戶的數(shù)據(jù)進(jìn)行請求的。舉個(gè)例子,如圖1所示,是一個(gè)權(quán)益領(lǐng)取頁面,用戶登錄該頁面后,會(huì)先請求查詢接口,查詢是否具備領(lǐng)取資格,如果該用戶具備領(lǐng)取資格,則可以點(diǎn)擊領(lǐng)取按鈕,觸發(fā)請求領(lǐng)取權(quán)益接口,進(jìn)行權(quán)益的領(lǐng)取;領(lǐng)取成功后,用戶再次進(jìn)入頁面時(shí),查詢接口會(huì)返回用戶已領(lǐng)取,此時(shí)用戶將無法再次點(diǎn)擊領(lǐng)取按鈕。在這個(gè)例子中,涉及兩個(gè)接口:領(lǐng)取資格查詢接口、權(quán)益領(lǐng)取接口。對于領(lǐng)取資格查詢接口,如果要壓測,可以使用同一登錄用戶(如號(hào)碼18600000001)的登錄態(tài)進(jìn)行壓測,即使用壓測工具(如jmeter)配置接口時(shí)攜帶該用戶的cookie即可;而對于權(quán)益領(lǐng)取接口,由于會(huì)修改數(shù)據(jù),不能使用同一用戶的cookie,必須使用不同用戶的cookie。

2、使用壓測工具(如jmeter)配置接口時(shí)要攜帶用戶的cookie,指的是在接口的請求頭中添加cookie項(xiàng),其內(nèi)容通常是sessionid=xxxxx;而sessionid的值是從應(yīng)用服務(wù)器獲得的,當(dāng)用戶登錄成功后,由應(yīng)用服務(wù)器返回給客戶端,客戶端在后續(xù)的接口請求中只要攜帶了這個(gè)由應(yīng)用服務(wù)器返回的sessionid,即認(rèn)為是攜帶了登錄態(tài),便能正常被應(yīng)用服務(wù)器處理,否則就認(rèn)為未登錄,不會(huì)進(jìn)行業(yè)務(wù)處理。

3、在app開展的秒殺活動(dòng),對于寫接口(比如前面例子中的權(quán)益領(lǐng)取接口),要進(jìn)行壓測的話,就必須使用不同用戶(即不同的微信賬號(hào)、)先登錄獲得登錄態(tài)(即有效的sessonid),然后使用壓測工具配置接口時(shí)批量攜帶這些登錄態(tài)進(jìn)行壓測。目前在業(yè)界,還無法實(shí)現(xiàn)這一壓測場景,因?yàn)闊o法找到足夠多的app賬號(hào)來分別進(jìn)行登錄(假設(shè)壓測時(shí)并發(fā)設(shè)置為1萬,就需要1萬個(gè)該app賬號(hào))。


技術(shù)實(shí)現(xiàn)思路

1、為了至少解決現(xiàn)有技術(shù)中存在的無法找到足夠多的app賬號(hào)來分別進(jìn)行登錄的問題。本公開提供一種app登錄態(tài)構(gòu)造方法、app登錄態(tài)構(gòu)造系統(tǒng)、電子設(shè)備以及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì);能夠模擬大量不同app賬號(hào)用戶的登錄態(tài),從而實(shí)現(xiàn)app中寫類型接口壓測的場景需求。

2、第一方面,本公開提供一種app登錄態(tài)構(gòu)造方法,所述方法

3、包括:

4、確定需要生成登錄態(tài)的目標(biāo)應(yīng)用、關(guān)鍵方法和重定向鏈接;所述關(guān)鍵方法為在登錄邏輯中處理向app服務(wù)器獲取openid步驟的內(nèi)部方法,所述重定向鏈接為向目標(biāo)應(yīng)用發(fā)起的攜帶code傳參的請求鏈接;

5、對關(guān)鍵方法掛載監(jiān)聽,以在關(guān)鍵方法被調(diào)用前,執(zhí)行監(jiān)聽邏輯;

6、生成各個(gè)隨機(jī)的code值、和其對應(yīng)的隨機(jī)的openid值,并存入redis(remotedictionary?server,遠(yuǎn)程字典服務(wù));

7、發(fā)起關(guān)鍵方法的http請求,請求地址為所述重定向鏈接,在請求前使用生成的code值替換掉所述關(guān)鍵方法中的占位符;

8、執(zhí)行監(jiān)聽邏輯,讀取到關(guān)鍵方法的code,并在redis查詢所述關(guān)鍵方法的code所對應(yīng)的值;

9、若能查詢到,則在關(guān)鍵方法執(zhí)行時(shí)將讀取到的code所對應(yīng)的值替換所述app的模版字符串中的openid的值,并將替換后的模版字符串作為關(guān)鍵方法的返回內(nèi)容直接返回給調(diào)用方。

10、進(jìn)一步的,所述方法還包括:

11、確定需要生成的session(會(huì)話)的數(shù)量;

12、根據(jù)所述需要生成的session的數(shù)量確定需要生成的code、和其對應(yīng)的隨機(jī)的openid值的數(shù)量。

13、進(jìn)一步的,所述方法還包括:

14、若在redis查詢不到所述關(guān)鍵方法的code所對應(yīng)的值,則表明本次調(diào)用的關(guān)鍵方法不需要被mock,正常執(zhí)行本次的關(guān)鍵方法。

15、進(jìn)一步的,所述方法還包括:

16、獲取請求返回的返回內(nèi)容響應(yīng)頭中包含的set-cookie的頭信息,提取出該頭信息中的sessionid的值;

17、將sessionid的值與對應(yīng)的openid值、手機(jī)號(hào)碼保存到一個(gè)map變量中,再將該map變量保存到一個(gè)list變量中,所述手機(jī)號(hào)碼在生成各個(gè)隨機(jī)的code值時(shí)對應(yīng)生成;

18、在所有關(guān)鍵方法的http請求結(jié)束時(shí),將list變量的內(nèi)容保存到一個(gè)csv格式的文件中,并更新執(zhí)行進(jìn)度為100%。

19、進(jìn)一步的,所述方法還包括:

20、保存一個(gè)執(zhí)行進(jìn)度的數(shù)據(jù)在redis中;

21、當(dāng)發(fā)起查詢請求,以查詢當(dāng)前的生成進(jìn)度時(shí),讀取redis中的進(jìn)度數(shù)據(jù),將進(jìn)度值返回給前端頁面。

22、第二方面,本公開提供一種app登錄態(tài)構(gòu)造系統(tǒng),所述系統(tǒng)包括:

23、確定模塊,其設(shè)置為確定需要生成登錄態(tài)的目標(biāo)應(yīng)用、關(guān)鍵方法和重定向鏈接;所述關(guān)鍵方法為在登錄邏輯中處理向app服務(wù)器獲取openid步驟的內(nèi)部方法,所述重定向鏈接為向目標(biāo)應(yīng)用發(fā)起的攜帶code傳參的請求鏈接;

24、掛載模塊,其設(shè)置為對關(guān)鍵方法掛載監(jiān)聽,以在關(guān)鍵方法被調(diào)用前,執(zhí)行監(jiān)聽邏輯;

25、生成模塊,其設(shè)置為生成各個(gè)隨機(jī)的code值、和其對應(yīng)的隨機(jī)的openid值,并存入redis;

26、請求模塊,其設(shè)置為發(fā)起關(guān)鍵方法的http請求,請求地址為所述重定向鏈接,在請求前使用生成的code值替換掉所述關(guān)鍵方法中的占位符;

27、監(jiān)聽模塊,其設(shè)置為執(zhí)行監(jiān)聽邏輯,讀取到關(guān)鍵方法的code,并在redis查詢所述關(guān)鍵方法的code所對應(yīng)的值;

28、返回模塊,其設(shè)置為若所述監(jiān)聽模塊能查詢到,則在關(guān)鍵方法執(zhí)行時(shí)將讀取到的code所對應(yīng)的值替換所述app的模版字符串中的openid的值,并將替換后的模版字符串作為關(guān)鍵方法的返回內(nèi)容直接返回給調(diào)用方。

29、進(jìn)一步的,所述生成模塊還設(shè)置為:

30、確定需要生成的session的數(shù)量;以及,

31、根據(jù)所述需要生成的session的數(shù)量確定需要生成的code、和其對應(yīng)的隨機(jī)的openid值的數(shù)量。

32、進(jìn)一步的,所述系統(tǒng)還包括保存模塊;

33、所述保存模塊設(shè)置為獲取請求返回的返回內(nèi)響應(yīng)頭中包含的set-cookie的頭信息,提取出該頭信息中的sessionid的值;

34、將sessionid的值與對應(yīng)的openid值、手機(jī)號(hào)碼保存到一個(gè)map變量中,再將該map變量保存到一個(gè)list變量中,所述手機(jī)號(hào)碼在生成各個(gè)隨機(jī)的code值時(shí)對應(yīng)生成;以及,

35、在所有關(guān)鍵方法的http請求結(jié)束時(shí),將list變量的內(nèi)容保存到一個(gè)csv格式的文件中,并更新執(zhí)行進(jìn)度為100%。

36、第三方面,本公開提供一種電子設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器中存儲(chǔ)有計(jì)算機(jī)程序,當(dāng)所述處理器運(yùn)行所述存儲(chǔ)器存儲(chǔ)的計(jì)算機(jī)程序時(shí),所述處理器執(zhí)行如第一方面中任一所述的app登錄態(tài)構(gòu)造方法。

37、第四方面,本公開提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述第一方面中任一所述的app登錄態(tài)構(gòu)造方法。

38、有益效果:

39、本公開提供的app登錄態(tài)構(gòu)造方法、app登錄態(tài)構(gòu)造系統(tǒng)、電子設(shè)備及存儲(chǔ)介質(zhì);用以解決內(nèi)壓測時(shí)登錄態(tài)的批量構(gòu)造的問題,可以根據(jù)實(shí)際需要,構(gòu)造足夠多的app賬號(hào)來分別進(jìn)行登錄,使得測試人員能夠模擬大量不同app賬號(hào)用戶的登錄態(tài),從而滿足app中寫類型接口壓測的場景需求。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1