成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

python+pytest自動(dòng)化技術(shù)測(cè)試函數(shù)測(cè)試類(lèi)測(cè)試標(biāo)準(zhǔn)的封裝形式

89542767 / 837人閱讀

  本文關(guān)鍵闡述了python+pytest自動(dòng)化技術(shù)測(cè)試函數(shù)測(cè)試類(lèi)測(cè)試標(biāo)準(zhǔn)的封裝形式,文章內(nèi)容緊扣主題開(kāi)展詳盡的基本介紹,具有很強(qiáng)的實(shí)用價(jià)值,務(wù)必的朋友可以學(xué)習(xí)一下


  序言


  那么今天,我想跟大家聊聊python+pytest接口自動(dòng)化里將編碼開(kāi)展封裝形式,只有把測(cè)試程序開(kāi)展封裝形式,才會(huì)被測(cè)試框架鑒別實(shí)行。


  例如多帶帶插口要求編碼如下所示:


  importrequests
  headers={
  "user-agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/99.0.4844.51Safari/537.36"
  }
  url="https://mp.toutiao.com/profile_v4/"
  res=requests.get(url=h_url,headers=headers)


  假定我們應(yīng)該將上邊這一段代碼開(kāi)發(fā)成測(cè)試框架能實(shí)施的功能測(cè)試,只不過(guò)是那樣敲代碼顯而易見(jiàn)還遠(yuǎn)遠(yuǎn)不夠,還要開(kāi)展如下所示填補(bǔ):


  需要把代碼封裝成單元測(cè)試卷架構(gòu)(pytest或unittest)能識(shí)別測(cè)試函數(shù)或測(cè)試類(lèi),否則就會(huì)不被鑒別實(shí)行。務(wù)必再加上肯定,即結(jié)論與希望中間對(duì)比,單元測(cè)試卷架構(gòu)才可以判斷該測(cè)試用例執(zhí)行結(jié)果是不是根據(jù),結(jié)論==希望則表明根據(jù),不然不成功。


  python中函數(shù)公式及其類(lèi)封裝形式這里就不進(jìn)行任何表明,本文的目的在于讓大家都搞清楚在接口自動(dòng)化檢測(cè)中通常如何封裝測(cè)試編碼。


  一、功能測(cè)試封裝形式的基本標(biāo)準(zhǔn)


  功能測(cè)試的封裝形式主要有兩種,測(cè)試函數(shù)和測(cè)試類(lèi),封裝形式的基本標(biāo)準(zhǔn)如下所示:


  1個(gè)測(cè)試函數(shù)相匹配1條功能測(cè)試。測(cè)試類(lèi)中可定義好幾個(gè)測(cè)試標(biāo)準(zhǔn),1個(gè)測(cè)試標(biāo)準(zhǔn)相匹配1條功能測(cè)試,測(cè)試類(lèi)可以理解為是個(gè)功能測(cè)試集。pytest中測(cè)試函數(shù)或測(cè)試標(biāo)準(zhǔn)的取名必須以test開(kāi)始,測(cè)試類(lèi)名必須以Test開(kāi)始。實(shí)際命名規(guī)范可以參考一下我其他回答pytest(3)-檢測(cè)命名規(guī)范。針對(duì)單插口檢測(cè)校檢,一單插口功能測(cè)試只包括1個(gè)接口請(qǐng)求,將要1個(gè)接口請(qǐng)求封裝形式成測(cè)試函數(shù)或測(cè)試標(biāo)準(zhǔn)。針對(duì)情景(多插口)的檢測(cè)校檢,1條情景功能測(cè)試需要求好幾個(gè)插口,所以需要將好幾個(gè)接口請(qǐng)求封裝形式同一個(gè)測(cè)試函數(shù)或方式中。通常封裝形式1個(gè)插口正面校檢、出現(xiàn)異常校檢封裝形式成不同類(lèi)型的方式,并封裝形式同一個(gè)測(cè)試類(lèi)中。如定位1個(gè)登陸的測(cè)試類(lèi),恰當(dāng)?shù)卿浢⒌顷懨艽a要求封裝形式成方式(即1條功能測(cè)試),恰當(dāng)?shù)卿浢?、不正確登陸密碼要求封裝形式成另外方式(即另一只功能測(cè)試)。還可以將某一功能模塊或作用相關(guān)的插口測(cè)試用例封裝形式同一個(gè)測(cè)試類(lèi)中。例如用戶(hù)中心涉及的插口,能夠封裝形式同一個(gè)測(cè)試類(lèi)無(wú)厘頭、測(cè)試函數(shù)的封裝形式


  一般說(shuō)來(lái),1個(gè)測(cè)試函數(shù)相匹配1條測(cè)試用例。上邊的代碼開(kāi)發(fā)成一條功能測(cè)試,實(shí)例如下所示:

01.png

  注重,pytest中測(cè)試函數(shù)取名務(wù)必以test開(kāi)頭,如test_get_home。


  三、測(cè)試類(lèi)/方式的封裝形式


  1個(gè)測(cè)試類(lèi)等同于1個(gè)功能測(cè)試集,類(lèi)中的每一個(gè)方式相匹配1條功能測(cè)試。以登陸插口為例子,封裝形式成測(cè)試類(lèi),實(shí)例如下所示:


  注重,pytest中測(cè)試類(lèi)取名必須以Test開(kāi)始,如TestLogin,且測(cè)試類(lèi)中不能出現(xiàn)init方式。測(cè)試類(lèi)中測(cè)試標(biāo)準(zhǔn)必須以test開(kāi)始,如test_login_normal。

02.png

  四、示例代碼


  pytest中可以使用命令行或者使用代碼方式即pytest.main()執(zhí)行用例,具體可參考文章pytest(1)-簡(jiǎn)介。


  完整的示例代碼如下:


  import requests
  import pytest
  import json
  def test_get_home():
  '''
  請(qǐng)求首頁(yè)接口
  :return:
  '''
  headers={
  "user-agent":"Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/99.0.4844.51 Safari/537.36"
  }
  url="https://www.cnblogs.com/lfr0123/"
  res=requests.get(url=url,headers=headers)
  #斷言,判斷返回結(jié)果的code是否等于200,當(dāng)然實(shí)際接口測(cè)試中一般返回結(jié)果中還會(huì)有別的字段需要斷言
  assert res.status_code==200
  class TestLogin:
  '''
  登錄接口校驗(yàn)
  '''
  url="http://127.0.0.1:5000/login"
  headers={"Content-Type":"application/json;charset=utf8"}
  def test_login_normal(self):
  '''正確用戶(hù)名、正確密碼登錄'''
  data={
  "username":"AndyLiu",
  "password":"123456"
  }
  res=requests.post(url=self.url,json=data,headers=self.headers)
  #斷言
  assert res.status_code==200
  assert json.loads(res.text)["token"]
  def test_login_error(self):
  '''正確用戶(hù)名、錯(cuò)誤密碼登錄'''
  data={
  "username":"AndyLiu",
  "password":"111111"
  }
  res=requests.post(url=self.url,json=data,headers=self.headers)
  #斷言
  assert res.status_code==200
  assert not json.loads(res.text)["token"]
  if __name__=='__main__':
  pytest.main()


  匯總


  測(cè)試函數(shù)、測(cè)試類(lèi)/測(cè)試標(biāo)準(zhǔn)的封裝形式,實(shí)際上不論什么單元測(cè)試卷架構(gòu),遵照的形式都是一樣的。


  但在命名規(guī)則上都各有自己的需求,例如pytest與unittest中檢測(cè)命名方式具有一定的差別。


  怎樣把擁有自己肯定的函數(shù)公式或方式看作是1條功能測(cè)試,那樣測(cè)試類(lèi)其實(shí)就是個(gè)帶有1條或是好幾條功能測(cè)試的功能測(cè)試集,類(lèi)中的每一個(gè)方式相匹配1條功能測(cè)試。


  1個(gè)測(cè)試類(lèi)中擺放什么測(cè)試標(biāo)準(zhǔn),也就是說(shuō)1個(gè)功能測(cè)試集中化應(yīng)當(dāng)涵蓋什么功能測(cè)試,這一可以按新項(xiàng)目本身情況判斷,也可以按照測(cè)試工程師自己的觀點(diǎn)來(lái)定,中心思想就是為了條理清晰


  綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)?lái)幫助。

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/130272.html

相關(guān)文章

  • 帶你深入理解動(dòng)化測(cè)試框架Pytest配置文件!

    摘要:其中用到編程等,還需要花更多的精力去深入學(xué)習(xí),當(dāng)每項(xiàng)技能都能掌握到一定深度,才能稱(chēng)為一個(gè)完整的知識(shí)體系。 都有哪些種類(lèi)的配置文件 pytest.ini:pytes...

    wayneli 評(píng)論0 收藏0
  • 2021年軟件測(cè)試工具總結(jié)——單元測(cè)試工具

    摘要:?jiǎn)卧獪y(cè)試框架作為的標(biāo)準(zhǔn)庫(kù),是其他單元測(cè)試框架的基礎(chǔ)??梢院秃团浜鲜褂镁帉?xiě)單元測(cè)試。官網(wǎng)地址單元測(cè)試覆蓋率工具單元測(cè)試中還需要用到代碼覆蓋率工具。代碼覆蓋率統(tǒng)計(jì)工具用來(lái)發(fā)現(xiàn)沒(méi)有被測(cè)試覆蓋的代碼,完善單元測(cè)試的覆蓋率。 在應(yīng)用程序中,單元是具有一個(gè)或多個(gè)輸入和單個(gè)輸出的軟件中最小可測(cè)試部分。單元...

    qingshanli1988 評(píng)論0 收藏0
  • 2021-09-03-接口動(dòng)化-python+requests+pytest+csv+yaml+a

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

    李昌杰 評(píng)論0 收藏0
  • 說(shuō)說(shuō)Python單元測(cè)試

    摘要:必然的,他們會(huì)拋棄標(biāo)準(zhǔn)庫(kù)中的,使用或者發(fā)明自己心儀的單元測(cè)試框架。究其原因,一些人會(huì)說(shuō)時(shí)間寫(xiě)代碼都不夠,哪還有空寫(xiě)單元測(cè)試。最后我的個(gè)人觀點(diǎn),單元測(cè)試其實(shí)還有一個(gè)非常重要的作用,就是替代函數(shù)文檔注釋。希望從今天起,你的代碼也都有單元測(cè)試。 單元測(cè)試是每種編程語(yǔ)言必學(xué)的課題,是保護(hù)開(kāi)發(fā)者的強(qiáng)力護(hù)盾,每個(gè)程序員都在時(shí)間允許的情況下盡可能多的寫(xiě)單元測(cè)試,今天我們不討論其必要性,只拋磚引玉聊一...

    chengjianhua 評(píng)論0 收藏0
  • python單元測(cè)試卷架構(gòu)pytest詳細(xì)介紹

      此篇文章詳細(xì)介紹了python的單元測(cè)試卷架構(gòu)pytest,原文中根據(jù)實(shí)例編碼推薦的十分詳盡。對(duì)大家學(xué)習(xí)培訓(xùn)和工作具有很強(qiáng)的參照參考意義,需要的小伙伴可以必須  pytest是python語(yǔ)言表達(dá)中一個(gè)強(qiáng)悍的單元測(cè)試卷架構(gòu),用于管理方法和管理功能測(cè)試,可運(yùn)用在單元測(cè)試卷、功能測(cè)試工作上?! nittest也是python語(yǔ)言表達(dá)中一個(gè)單元測(cè)試卷架構(gòu),可是作用比較有限,沒(méi)有pytest靈便?!?..

    89542767 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<