成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

python+pytest接口自動化之session對話維持的完成

89542767 / 745人閱讀

  在app測試的過程當中,經(jīng)常遇到有一些插口必須在登錄狀態(tài)下才可以要求,文中具體闡述了python+pytest接口自動化之session對話維持的完成,有興趣的話可以認識一下


  序言


  在app測試的過程當中,經(jīng)常遇到有一些插口必須在登錄狀態(tài)下才可以要求,不然會提醒請登錄,那么如何處理呢?我們通過Cookie繞開登錄,其實這也是維持登錄狀態(tài)的方式之一。那今天小編想講根據(jù)session開展對話維持。


  一、session(對話)


  session,便可話。那么那么那么又會話?我們一起來看一下會說話的生命期就可大概搞清楚,如下所示:


  逐漸:手機客戶端(大多是電腦瀏覽器)-->推送第一位要求-->某網(wǎng)站服務器,彼此之間取得成功建立聯(lián)系,即建立對話;


  會集里:手機客戶端然后要求該網(wǎng)站服務器的其他資源;


  完畢:關(guān)掉手機客戶端(大多是電腦瀏覽器)或是會話超時,對話完畢。


  二、對話維持


  對話維持,還可以通俗易懂的解讀為使相同客戶上傳的相關(guān)的要求處在相同會集里不會被斷掉。例如應用session很好地綁定了某一網(wǎng)址,即在再度使用這個session目標要求此網(wǎng)站的許多網(wǎng)頁頁面時,都是會默認設置使用這個session中以前存放的cookie等主要參數(shù)去要求,而無需再度登錄。


  session對話維持大概機理如下所示:


  服務軟件初次要求該網(wǎng)站服務器時,網(wǎng)絡服務器會構(gòu)建一個session,該session目標時會存放特定用戶會話需要的特性及配置信息(如客戶信息或登錄狀態(tài)等),并儲存在網(wǎng)絡服務器中。


  創(chuàng)建session時,會給予其1個sessionID,該sessionID能被放置set-cookie中伴隨著要求回到給手機客戶端,并儲存在當?shù)氐腸ookie中。


  后面,手機客戶端要求本運用中其他資源時,網(wǎng)絡服務器就能收到cookie當中的sessionID,然后根據(jù)ID在存儲空間中搜索以前創(chuàng)立的session目標,如果可以尋找但未到期,則表明來自相同戶用請求。


  三、python開展session對話維持


  在接口自動化檢測中,一些前提下可以用session對話維持體制來維持登錄狀態(tài),那樣就可以不用每一次清求插口都要先登錄。


  下面,就以查詢TesterHome網(wǎng)站在本人通知消息、私人信息為例子,來闡述在python接口自動化檢測中怎樣利用session維持登錄狀態(tài)。


  留意:


  在這里我先試著要求登錄插口結(jié)構(gòu)session,然后運用該session去要求別的插口,依然提醒先要登錄,表明此網(wǎng)站此類方法難以實現(xiàn)。


  由于登錄后自動跳轉(zhuǎn)了主頁,所以在這里我們能運用要求主頁插口結(jié)構(gòu)session,之后就可以運用該session去要求別的插口了。


  1、最先,F(xiàn)iddler抓包軟件獲得登錄成功后要求主頁插口后cookie

01.png

  2、得到cookie,運用要求主頁插口結(jié)構(gòu)session目標。


  importrequests
  headers={
  "user-agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/99.0.4844.51Safari/537.36",
  "cookie":'如上邊截如圖所示獲得的cookie,即登錄成功后自動跳轉(zhuǎn)時,要求主頁插口https://testerhome.com/后cookie'
  }
  #結(jié)構(gòu)1個全局性session目標
  S=requests.session()
  #應用session目標即S仿真模擬登錄成功后要求主頁插口,升級S
  h_url="https://testerhome.com/"
  h_res=S.get(url=h_url,headers=headers).text


  這步也會得到的session目標S中便包括了登錄成功后cookie等內(nèi)容了,再使用這個session目標去要求別的插口就可以不用再度綁定了。


  3、應用上一層樓所得到的session目標,查詢本人通知消息、私人信息插口。


  #使用session目標S要求本人通知消息插口
  n_url="https://testerhome.com/notifications/personal"
  n_res=S.get(url=n_url).text
  print(n_res)
  #應用session目標S要求私人信息插口
  s_url="https://testerhome.com/setting"
  s_res=S.get(url=s_url).text
  print(s_res)


  要求私人信息插口,執(zhí)行結(jié)果如下所示:

02.png

  4、詳細源代碼如下所示:


  importrequests
  headers={
  "user-agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/99.0.4844.51Safari/537.36",
  "cookie":'如上邊截如圖所示獲得的cookie,即登錄成功后自動跳轉(zhuǎn)時,要求主頁插口https://testerhome.com/后cookie'
  }
  #結(jié)構(gòu)1個全局性session目標
  S=requests.session()
  #應用session目標即S仿真模擬登錄成功后要求主頁插口,升級S
  h_url="https://testerhome.com/"
  h_res=S.get(url=h_url,headers=headers).text
  #應用session目標S要求本人通知消息插口
  n_url="https://testerhome.com/notifications/personal"
  n_res=S.get(url=n_url).text
  print(n_res)
  #應用session目標S要求私人信息插口
  s_url="https://testerhome.com/setting"
  s_res=S.get(url=s_url).text
  print(s_res)


  匯總


  session與cookie是不一樣的體制。


  相同之處:二者都可以紀錄消費者的情況,且均是由服務器端形成。


  不同之處:cookie是存放在當?shù)厥謾C客戶端的,而session則存放在服務器端。


  二者之間存有聯(lián)絡:session對話維持體制必須依靠cookie,由于sessionID是存放在cookie當中的。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/130262.html

相關(guān)文章

  • 2021-09-03-接口動化-python+requests+pytest+csv+yaml+a

    摘要:本套代碼和邏輯是本人的勞動成果,如果有轉(zhuǎn)載需要標注,非常適合公司做項目的同學小白也可以學哦接口自動化項目目錄公共方法的封裝如果不用配置文件可以使用這個方法進行封裝但是有一定的缺陷可以不使用字典。這是在正常的命令行解析之前發(fā)生的。 ...

    李昌杰 評論0 收藏0
  • Python每日任務動化軟件nox配備與API詳細信息

      本文關(guān)鍵闡述了Python每日任務自動化軟件nox的配備與API詳細信息,Nox對話是由被nox.session點綴的規(guī)范Python函數(shù)來配備的,實際詳細信息下面有關(guān)詳細介紹需要的朋友可以學習一下  序言:  NoxfileNox默認設置在這個名叫noxfile.pe的文檔中搜索配備。在運作nox時,你能應用--noxfile主要參數(shù)特定其他的文檔。  界定對話文件格式:session(fu...

    89542767 評論0 收藏0
  • pytest插件探索——hook workflow

    摘要:會調(diào)用向打印一些環(huán)境信息,比如插件版本,版本,操作平臺這些等。在執(zhí)行之后調(diào)用執(zhí)行的過程是否執(zhí)行取決于是否需要創(chuàng)建執(zhí)行的過程如果有。所有測試執(zhí)行完畢之后,返回之前的階段。結(jié)束以后,整個退出之前的階段。 pytest插件開發(fā)需要熟悉一些常用的hook函數(shù),官方對于這些hook有一份簡略的文檔(目前除了小部分hook目前缺乏文檔外,見這個issue),但是各個hook的調(diào)用邏輯沒有一個直觀的...

    pubdreamcc 評論0 收藏0
  • 做完動化測試,但別讓不會匯報毀了你...

    摘要:前端自動化測試百度搜索功能實戰(zhàn)可以與結(jié)合生成測試報告。以網(wǎng)頁版本的百度為例,百度首頁呈現(xiàn)的功能新聞網(wǎng)頁貼吧知道音樂圖片視頻地圖等,我們以百度網(wǎng)頁的搜索功能為例,使用結(jié)合自動化測試框架,完成一個搜索功能的測試。 ...

    HelKyle 評論0 收藏0
  • Python接口測試requests

    摘要:簡介是一個很實用的客戶端庫編寫爬蟲和測試服務器響應數(shù)據(jù)時經(jīng)常會用到是語言的第三方的庫專門用于發(fā)送請求前提要下載請求無參數(shù)請求有參數(shù)請求案例傳參的第一種方式傳參的第二種方式請求類似中的表單提交 ...

    番茄西紅柿 評論0 收藏2637

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<