佛山海川機器人丨做接口自動化前你需要準備什么?
2022-12-10 19:32 來源: 互聯網
中山海川機器人丨以自動化激發人類潛能, 創造社會新需求
雖然說會寫自動化測試也不能說明你牛批,但是你不會的話,那么很抱歉,你的上升通道就會變得更窄。
其實自動化測試之所以受到大家的追捧,必然也是有它的道理。說白了,我覺得根本的因素是在于提效。
當然了,提效這個是最終理想,但是有些公司的自動化項目落地的并不太好,反而成為了某種“累贅”。
其實很多時候,他們自己并沒有搞清楚,項目適不適合做自動化、做怎么的自動化。說白了,就是為了做自動化而做,
所以,在做自動化之前,建議搞搞清楚你們要做的自動化項目應該是什么樣子的,解決了什么痛點,能提高多少的效率等等。
否則,辛辛苦苦做下來的自動化,很容易到后面就變成了廢品。
二、自動化的類型
大家通常會去選擇做自動化的類型一般有2種:一種是ui自動化、一種是接口自動化。
那ui自動化中,又可以有web系統的自動化、app的自動化等等。
筆者本人曾經開發維護過一套web自動化的服務,說實話,投入回報率不高,所以后來也就逐步放棄了。
回想起來,這也算是領導沒弄清目的就盲目開展的典型案例了,不過這段開發經歷對我來說還是很寶貴的。
到后來重點就轉移到了接口自動化了,為什么呢?
首先聲明,這里講的接口是指協議接口了,比如http協議的接口,并不是程序接口,比如java里的interface。
那么接口層相比于ui層,的優點是更接近底層邏輯,可以讓測試更早的介入。于是更早的發現bug,修復的成本也就越低了。
另外,接口測試也可以更容易發現ui測試中不容易發現的問題。
比如說,一個接口沒有對非法傳參進行處理,雖然ui在輸入框進行了一些不合規的類型輸入校驗,但是只要抓個包修改下參數請求過來,就會立即暴露出問題。
三、搭建一個接口自動化框架需要的技能
編程語言:既然做了這行,編程是跑不掉的。java、python哪個熟悉用哪個吧,我個人偏向于腳本用python。
單元測試框架:不同語言有不同的測試框架,python有unittest、pytest等,java有testng、junit等。我個人偏向python的pytest。
搜索解決問題:其實有了前面2個點是基石,剩下的就是你遇到什么問題或者需求,知道如何去搜索解決實現的能力了。比如能找到合適的
第三方庫,來增加自己的框架,拿pytest來說,可以用requests庫來發送請求,用jmespath庫來提取復雜的接口響應,以及用allure框架來
輸出一個漂亮的報告等。
搞清楚了這些,基本上就可以開始做起來了。
一開始不用過度的考慮自己的框架的終極形態是什么樣子的,因為我覺得沒有的框架,只有最適合的框架。在你實現的過程中,會遇到不同的問題,
然后你不斷迭代優化你的框架去解決這些問題,于是乎框架會一點點的變成大家心中的樣子。
原標題:做接口自動化前你需要準備什么?
雖然說會寫自動化測試也不能說明你牛批,但是你不會的話,那么很抱歉,你的上升通道就會變得更窄。
其實自動化測試之所以受到大家的追捧,必然也是有它的道理。說白了,我覺得根本的因素是在于提效。
當然了,提效這個是最終理想,但是有些公司的自動化項目落地的并不太好,反而成為了某種“累贅”。
其實很多時候,他們自己并沒有搞清楚,項目適不適合做自動化、做怎么的自動化。說白了,就是為了做自動化而做,
所以,在做自動化之前,建議搞搞清楚你們要做的自動化項目應該是什么樣子的,解決了什么痛點,能提高多少的效率等等。
否則,辛辛苦苦做下來的自動化,很容易到后面就變成了廢品。

二、自動化的類型
大家通常會去選擇做自動化的類型一般有2種:一種是ui自動化、一種是接口自動化。
那ui自動化中,又可以有web系統的自動化、app的自動化等等。
筆者本人曾經開發維護過一套web自動化的服務,說實話,投入回報率不高,所以后來也就逐步放棄了。
回想起來,這也算是領導沒弄清目的就盲目開展的典型案例了,不過這段開發經歷對我來說還是很寶貴的。
到后來重點就轉移到了接口自動化了,為什么呢?
首先聲明,這里講的接口是指協議接口了,比如http協議的接口,并不是程序接口,比如java里的interface。
那么接口層相比于ui層,的優點是更接近底層邏輯,可以讓測試更早的介入。于是更早的發現bug,修復的成本也就越低了。
另外,接口測試也可以更容易發現ui測試中不容易發現的問題。
比如說,一個接口沒有對非法傳參進行處理,雖然ui在輸入框進行了一些不合規的類型輸入校驗,但是只要抓個包修改下參數請求過來,就會立即暴露出問題。
三、搭建一個接口自動化框架需要的技能
編程語言:既然做了這行,編程是跑不掉的。java、python哪個熟悉用哪個吧,我個人偏向于腳本用python。
單元測試框架:不同語言有不同的測試框架,python有unittest、pytest等,java有testng、junit等。我個人偏向python的pytest。
搜索解決問題:其實有了前面2個點是基石,剩下的就是你遇到什么問題或者需求,知道如何去搜索解決實現的能力了。比如能找到合適的
第三方庫,來增加自己的框架,拿pytest來說,可以用requests庫來發送請求,用jmespath庫來提取復雜的接口響應,以及用allure框架來
輸出一個漂亮的報告等。
搞清楚了這些,基本上就可以開始做起來了。
一開始不用過度的考慮自己的框架的終極形態是什么樣子的,因為我覺得沒有的框架,只有最適合的框架。在你實現的過程中,會遇到不同的問題,
然后你不斷迭代優化你的框架去解決這些問題,于是乎框架會一點點的變成大家心中的樣子。
生產線自動化 制造業數字化轉型 智能倉儲物流 小家電沖壓自動化
責任編輯:xiaoxiwang
【慎重聲明】凡本站未注明來源為"大眾時報網"的所有作品,均轉載、編譯或摘編自其它媒體,轉載、編譯或摘編的目的在于傳遞更多信息,并不代表本站贊同其觀點和對其真實性負責。如因作品內容、版權和其他問題需要同本網聯系的,請在30日內進行!
精彩推薦
精彩專題