轉載請注明出處??
10年的鳳縣網站建設經驗,針對設計、前端、開發、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。營銷型網站建設的優勢是能夠根據用戶設備顯示端的尺寸不同,自動調整鳳縣建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優雅布局與設計,從而大程度地提升瀏覽體驗。創新互聯從事“鳳縣網站設計”,“鳳縣網站推廣”以來,每個客戶項目都認真落實執行。
作者:測試蔡坨坨
原文鏈接:caituotuo.top/a3a8d0c0.html
你好,我是測試蔡坨坨。
今天,我們來聊聊接口自動化測試是什么?如何開始?接口自動化測試框架怎么做?
自動化測試,這幾年行業內的熱詞,也是測試人員進階的必備技能,更是軟件測試未來發展的趨勢。
特別是在敏捷模式下,產品迭代速度快,市場不斷調整,客戶需求不斷變化,單純的手工測試越來越無法適應整個變化過程(迭代快,加班多)。測試人員如何快速響應并保證產品在上線后的質量能夠滿足市場要求(如何在上線一個新功能的同時快速對舊功能快速進行回歸,保證舊功能不被新功能影響而出現嚴重的Bug?)。
針對以上問題,采用自動化測試無疑是一個不錯的選擇,能夠做到在保證產品質量
的同時提升測試效率
。
隨著行業內卷越來越嚴重,對于測試崗位的要求也是水漲船高,崗位招聘要求都會出現自動化測試的字眼,因此也是我們跳槽面試、升職加薪必備利器。
自動化測試又可分為接口自動化、Web UI自動化、App自動化,今天我們就來聊聊接口自動化測試。
分層測試金字塔模型
中,接口測試屬于第二層服務集成測試,與UI自動化測試相比,接口自動化測試收益更大、更容易實現、維護成本更低,有更高的投入產出比,因此是公司開展自動化測試的首選。自動化測試工具有很多,每種工具都有各自的優缺點,選擇適合自身實際情況的框架,落地實施才是重點,具體選擇哪種工具放在其他文章再說。
這里使用 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
使用以上代碼,最基礎最簡單的接口測試就做起來了,好的開始就是成功的一半。
但是,問題也隨之而來,線性腳本的缺點也暴露出來了:
所以,下一步就是如何優化線性腳本,也就是如何實現代碼的高內聚低耦合,也是接口自動化測試框架要解決的問題。
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。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯