五分鐘學會接口自動化測試框架

轉載請注明出處??

10年的鳳縣網站建設經驗,針對設計、前端、開發、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。營銷型網站建設的優勢是能夠根據用戶設備顯示端的尺寸不同,自動調整鳳縣建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優雅布局與設計,從而大程度地提升瀏覽體驗。創新互聯從事“鳳縣網站設計”,“鳳縣網站推廣”以來,每個客戶項目都認真落實執行。

作者:測試蔡坨坨

原文鏈接:caituotuo.top/a3a8d0c0.html


你好,我是測試蔡坨坨。

今天,我們來聊聊接口自動化測試是什么?如何開始?接口自動化測試框架怎么做?

自動化測試

自動化測試,這幾年行業內的熱詞,也是測試人員進階的必備技能,更是軟件測試未來發展的趨勢。

特別是在敏捷模式下,產品迭代速度快,市場不斷調整,客戶需求不斷變化,單純的手工測試越來越無法適應整個變化過程(迭代快,加班多)。測試人員如何快速響應并保證產品在上線后的質量能夠滿足市場要求(如何在上線一個新功能的同時快速對舊功能快速進行回歸,保證舊功能不被新功能影響而出現嚴重的Bug?)。

針對以上問題,采用自動化測試無疑是一個不錯的選擇,能夠做到在保證產品質量的同時提升測試效率

隨著行業內卷越來越嚴重,對于測試崗位的要求也是水漲船高,崗位招聘要求都會出現自動化測試的字眼,因此也是我們跳槽面試、升職加薪必備利器。

自動化測試又可分為接口自動化、Web UI自動化、App自動化,今天我們就來聊聊接口自動化測試。

接口自動化測試的價值

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

接口自動化測試如何開展

工具選擇

  • Python/Java + Requests + Unittest/Pytest + HTMLTestRunner/Allure
  • RobotFramework:關鍵詞驅動的自動測試框架
  • 基于Web的自動化測試平臺(公司自主研發,成本較高,方便不懂編程也能使用)

自動化測試工具有很多,每種工具都有各自的優缺點,選擇適合自身實際情況的框架,落地實施才是重點,具體選擇哪種工具放在其他文章再說。

這里使用 Python + Requests + Pytest + Allure

舉個栗子

接口文檔(找了一個開放的接口用于測試)

接口信息:

名稱:全國高校信息查詢接口
描述:用于查詢全國高校信息
Host: www.iamwawa.cn
Request URL:/home/daxue/ajax
Request Method:POST
Content-Type: application/x-www-form-urlencoded
headers:user-agent:Chrome

參數:

名稱 類型 是否必填 描述
type String name,根據名稱查詢
keyword String 高校名稱,如:四川輕化工大學

請求示例:

POST /home/daxue/ajax HTTP/1.1
Host: www.iamwawa.cn
user-agent: Chrome
Content-Type: application/x-www-form-urlencoded
Cookie: PHPSESSID=sjsrn0drje6ds5fq9kouoo2r23
Content-Length: 54

type=name&keyword=四川輕化工大學

響應示例:

{
    "status": 1,
    "info": "查詢成功!",
    "data": [
        {
            "id": "2181",
            "name": "四川輕化工大學",
            "code": "",
            "department": "四川省",
            "city": "自貢市",
            "level": "本科",
            "remark": ""
        }
    ]
}
線性腳本
import requests

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

使用以上代碼,最基礎最簡單的接口測試就做起來了,好的開始就是成功的一半。

但是,問題也隨之而來,線性腳本的缺點也暴露出來了:

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

所以,下一步就是如何優化線性腳本,也就是如何實現代碼的高內聚低耦合,也是接口自動化測試框架要解決的問題。

接口自動化測試框架

GitHub開源代碼:關注微信公眾號 測試蔡坨坨,回復關鍵字 源碼獲取

  • base_api.py:對Requests庫進行二次封裝,完成對api的驅動

  • api:繼承base_api,將http請求接口封裝成Python方法

  • utils:CommonUtil,公共模塊,將一些公共函數、方法以及通用操作進行封裝,如:日志模塊、yaml操作模塊、時間模塊

  • config:配置文件模塊,配置信息存放,如:URL、Port、Headers、Token、數據庫信息等

  • data:測試數據模塊,用于測試數據的管理,數據與腳本分離,降低維護成本,提高可移植性,如:yml文件數據

  • cases:測試用例模塊,用于測試用例的管理,這里會用到單元測試框架,如:Pytest、Unittest

  • run.py:批量執行測試用例的主程序,根據不同需求不同場景進行組裝,遵循框架的靈活性和擴展性

  • logs:日志模塊,用于記錄和管理日志,針對不同情況,設置不同的日志級別,方便定位問題

  • reports:測試報告模塊,用于測試報告的生成和管理,如:基于Allure生成的定制化報告


最后,可以關注公眾號 測試蔡坨坨,和坨坨一起學習軟件測試,升職加薪 ~

關于軟件測試相關問題,都可以添加我微信私信交流:caituotuo666

需要學習資料也可以私信!!!免費獲取簡歷、面試題、自動化測試、測試開發、性能等30種學習資源……

文章標題:五分鐘學會接口自動化測試框架
當前地址:http://m.kartarina.com/article38/dsogjpp.html

成都網站建設公司_創新互聯,為您提供電子商務網站營銷全網營銷推廣定制網站企業建站App開發

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設
主站蜘蛛池模板: 久久人午夜亚洲精品无码区| 亚洲综合无码精品一区二区三区| 免费a级毛片无码a∨免费软件| 免费无码A片一区二三区| 人妻老妇乱子伦精品无码专区| 人妻无码精品久久亚瑟影视| 亚洲精品无码专区2| 黄色成人网站免费无码av| 亚洲av永久中文无码精品综合| 成人免费a级毛片无码网站入口| 亚洲国产精品无码久久久蜜芽| 亚洲Av无码一区二区二三区 | 少妇人妻偷人精品无码视频 | 精品无码国产一区二区三区AV| 制服在线无码专区| 国产精品白浆无码流出| 亚洲av日韩av无码av| 久久久无码精品亚洲日韩软件| 国产成人无码免费看视频软件| 国产成人无码综合亚洲日韩| 亚洲?V无码乱码国产精品| 91嫩草国产在线无码观看| 亚洲中文字幕无码爆乳AV| 国产成人无码区免费A∨视频网站| 免费无码中文字幕A级毛片| 亚洲AV中文无码乱人伦下载| 无码人妻精品一区二区蜜桃AV| 亚洲爆乳精品无码一区二区| 亚洲va成无码人在线观看| 亚洲成A人片在线观看无码不卡| 国产激情无码一区二区三区| 亚洲AV无码乱码精品国产| 国产精品无码一区二区三区不卡 | 无码免费午夜福利片在线| 人妻少妇精品无码专区二区| 亚洲AV无码久久精品狠狠爱浪潮| 精品无码三级在线观看视频| 日韩人妻无码精品系列| 日韩精品无码一区二区三区四区| 亚洲av中文无码| 自拍中文精品无码|