国产粉嫩无码不卡在线观看,酒店大战丝袜高跟鞋人妻,特级精品毛片免费观看,欧美亚洲日本国产综合在线

接口自動(dòng)化測(cè)試是個(gè)啥?如何開(kāi)始?什么是框架?帶你揭開(kāi)神秘面紗

自動(dòng)化測(cè)試

自動(dòng)化測(cè)試,這幾年行業(yè)內(nèi)的熱詞,也是測(cè)試人員進(jìn)階的必備技能,更是軟件測(cè)試未來(lái)發(fā)展的趨勢(shì)。

特別是在敏捷模式下,產(chǎn)品迭代速度快,市場(chǎng)不斷調(diào)整,客戶(hù)需求不斷變化,單純的手工測(cè)試越來(lái)越無(wú)法適應(yīng)整個(gè)變化過(guò)程(迭代快,加班多)。測(cè)試人員如何快速響應(yīng)并保證產(chǎn)品在上線(xiàn)后的質(zhì)量能夠滿(mǎn)足市場(chǎng)要求(如何在上線(xiàn)一個(gè)新功能的同時(shí)快速對(duì)舊功能快速進(jìn)行回歸,保證舊功能不被新功能影響而出現(xiàn)嚴(yán)重的Bug?)。

針對(duì)以上問(wèn)題,采用自動(dòng)化測(cè)試無(wú)疑是一個(gè)不錯(cuò)的選擇,能夠做到在保證產(chǎn)品質(zhì)量的同時(shí)提升測(cè)試效率。

隨著行業(yè)內(nèi)卷越來(lái)越嚴(yán)重,對(duì)于測(cè)試崗位的要求也是水漲船高,崗位招聘要求都會(huì)出現(xiàn)自動(dòng)化測(cè)試的字眼,因此也是我們跳槽面試、升職加薪必備利器。

自動(dòng)化測(cè)試又可分為接口自動(dòng)化、Web UI自動(dòng)化、App自動(dòng)化,今天我們就來(lái)聊聊接口自動(dòng)化測(cè)試。

接口自動(dòng)化測(cè)試的價(jià)值

接口自動(dòng)化測(cè)試是個(gè)啥?如何開(kāi)始?什么是框架?帶你揭開(kāi)神秘面紗

  1. 相比于UI自動(dòng)化測(cè)試,接口自動(dòng)化的維護(hù)成本更低,主要體現(xiàn)在以下幾個(gè)方面在分層測(cè)試金字塔模型中,接口測(cè)試屬于第二層服務(wù)集成測(cè)試,與UI自動(dòng)化測(cè)試相比,接口自動(dòng)化測(cè)試收益更大、更容易實(shí)現(xiàn)、維護(hù)成本更低,有更高的投入產(chǎn)出比,因此是公司開(kāi)展自動(dòng)化測(cè)試的首選。前端頁(yè)面變化快,而且UI自動(dòng)化比較耗時(shí),比如等待頁(yè)面元素加載、添加等待時(shí)間、定位元素、操作元素、模擬頁(yè)面動(dòng)作這些都需要時(shí)間,因此UI自動(dòng)化實(shí)施起來(lái)比較困難。接口較穩(wěn)定,接口的響應(yīng)時(shí)間基本上都是秒級(jí)、毫秒級(jí)別,速度快,并且接口自動(dòng)化本身也可以做一些有關(guān)聯(lián)的操作、全流程的操作,比如:注冊(cè) –> 登錄 –> 修改個(gè)人信息。
  2. 測(cè)試復(fù)用性
  3. 快速回歸(提高回歸的覆蓋率、效率、穩(wěn)定性)
  4. 可以運(yùn)行更多更繁瑣的測(cè)試,自動(dòng)化的一個(gè)明顯的好處是可以在較少的時(shí)間內(nèi)運(yùn)行更多的測(cè)試

接口自動(dòng)化測(cè)試如何開(kāi)展

工具選擇

  • Python/Java Requests Unittest/Pytest HTMLTestRunner/Allure
  • RobotFramework:關(guān)鍵詞驅(qū)動(dòng)的自動(dòng)測(cè)試框架
  • 基于Web的自動(dòng)化測(cè)試平臺(tái)(公司自主研發(fā),成本較高,方便不懂編程也能使用)

自動(dòng)化測(cè)試工具有很多,每種工具都有各自的優(yōu)缺點(diǎn),選擇適合自身實(shí)際情況的框架,落地實(shí)施才是重點(diǎn),具體選擇哪種工具放在其他文章再說(shuō)。

這里使用Python Requests Pytest Allure

舉個(gè)栗子

接口文檔(找了一個(gè)開(kāi)放的接口用于測(cè)試)

接口信息:

1234567名稱(chēng):全國(guó)高校信息查詢(xún)接口描述:用于查詢(xún)?nèi)珖?guó)高校信息Host: www.iamwawa.cnRequest URL:/home/daxue/ajaxRequest Method:POSTContent-Type: application/x-www-form-urlencodedheaders:user-agent:Chrome

參數(shù):

名稱(chēng)

類(lèi)型

是否必填

描述

type

String

name,根據(jù)名稱(chēng)查詢(xún)

keyword

String

高校名稱(chēng),如:四川輕化工大學(xué)

請(qǐng)求示例:

12345678POST /home/daxue/ajax HTTP/1.1Host: www.iamwawa.cnuser-agent: ChromeContent-Type: application/x-www-form-urlencodedCookie: PHPSESSID=sjsrn0drje6ds5fq9kouoo2r23Content-Length: 54type=name&keyword=四川輕化工大學(xué)

響應(yīng)示例:

123456789101112131415{ "status": 1, "info": "查詢(xún)成功!", "data": [ { "id": "2181", "name": "四川輕化工大學(xué)", "code": "4151010622", "department": "四川省", "city": "自貢市", "level": "本科", "remark": "" } ]}

線(xiàn)性腳本

123456789import requestsres = requests.post(url="https://www.iamwawa.cn/home/daxue/ajax", headers={"user-agent": "Chrome"}, data={"type": "name", "keyword": "四川輕化工大學(xué)"})assert res.status_code == 200res_json = res.json()print(res_json)assert res_json["status"] == 1

使用以上代碼,最基礎(chǔ)最簡(jiǎn)單的接口測(cè)試就做起來(lái)了,好的開(kāi)始就是成功的一半。

但是,問(wèn)題也隨之而來(lái),線(xiàn)性腳本的缺點(diǎn)也暴露出來(lái)了:

  1. 測(cè)試的輸入和斷言都是捆綁在腳本中,易讀性差
  2. 無(wú)共享或重用腳本,可復(fù)用性低
  3. 線(xiàn)性腳本修改代價(jià)大,維護(hù)成本高,不便于后期優(yōu)化
  4. 容易受軟件變化的影響,容易受意外事件的影響,引起整個(gè)測(cè)試失敗

所以,下一步就是如何優(yōu)化線(xiàn)性腳本,也就是如何實(shí)現(xiàn)代碼的高內(nèi)聚低耦合,也是接口自動(dòng)化測(cè)試框架要解決的問(wèn)題。

接口自動(dòng)化測(cè)試框架

GitHub:https://github.com/itcaituotuo/api_auto_framework

接口自動(dòng)化測(cè)試是個(gè)啥?如何開(kāi)始?什么是框架?帶你揭開(kāi)神秘面紗

  • base_api.py:對(duì)接口測(cè)試框架Requests進(jìn)行二次封裝,完成對(duì)api的驅(qū)動(dòng)
  • api:繼承base_api,將http請(qǐng)求接口封裝成Python方法
  • utils:CommonUtil,公共模塊,將一些公共函數(shù)、方法以及通用操作進(jìn)行封裝,如:日志模塊、yaml操作模塊、時(shí)間模塊
  • config:配置文件模塊,配置信息存放,如:URL、Port、Headers、Token、數(shù)據(jù)庫(kù)信息等
  • data:測(cè)試數(shù)據(jù)模塊,用于測(cè)試數(shù)據(jù)的管理,數(shù)據(jù)與腳本分離,降低維護(hù)成本,提高可移植性,如:yml文件數(shù)據(jù)
  • cases:測(cè)試用例模塊,用于測(cè)試用例的管理,這里會(huì)用到單元測(cè)試框架,如:Pytest、Unittest
  • run.py:批量執(zhí)行測(cè)試用例的主程序,根據(jù)不同需求不同場(chǎng)景進(jìn)行組裝,遵循框架的靈活性和擴(kuò)展性
  • logs:日志模塊,用于記錄和管理日志,針對(duì)不同情況,設(shè)置不同的日志級(jí)別,方便定位問(wèn)題
  • reports:測(cè)試報(bào)告模塊,用于測(cè)試報(bào)告的生成和管理,如:基于Allure生成的定制化報(bào)告

文章來(lái)自https://www.cnblogs.com/caituotuo/p/16296668.html

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。