有什么好的開(kāi)源自動(dòng)化測(cè)試框架可以推薦?

PS:本文轉(zhuǎn)載自黑馬測(cè)試高贊知乎文章
鏈接:https://www.zhihu.com/question/19923336/answer/2585952461

2020年后,有什么好的開(kāi)源自動(dòng)化測(cè)試框架可以推薦?為了讓大家看文章不蒙圈,文章我將圍繞3個(gè)方面來(lái)闡述:
1、通用自動(dòng)化測(cè)試框架介紹
2、Java語(yǔ)言下的自動(dòng)化測(cè)試框架
3、Python語(yǔ)言下的自動(dòng)化測(cè)試框架

隨著計(jì)算機(jī)技術(shù)人員的大量增加,通過(guò)編寫(xiě)代碼來(lái)進(jìn)行測(cè)試成為一種更為高效的測(cè)試方式,由此而誕生了以計(jì)算機(jī)語(yǔ)言為基礎(chǔ)的自動(dòng)化測(cè)試方案,當(dāng)然測(cè)試工程師需要具備代碼能力。

今天我們就結(jié)合當(dāng)前的主流編程語(yǔ)言,分別三種環(huán)境下各自的自動(dòng)化測(cè)試框架。

一、通用自動(dòng)化測(cè)試框架介紹
測(cè)試框架并不是一成不變的,事實(shí)上它就像搭積木一樣,是由具有各種功能的工具組合而成,可以根據(jù)需求自由組合。下面介紹幾個(gè)通用的基礎(chǔ)工具:
1、Jenkins(可以支持java、python等大多數(shù)語(yǔ)言的項(xiàng)目)

簡(jiǎn)介:Jenkins是一個(gè)基于java語(yǔ)言開(kāi)發(fā)的,可以取代繁雜的手動(dòng)集成,用于監(jiān)控持續(xù)重復(fù)工作的持續(xù)集成工具,簡(jiǎn)單說(shuō)就是一個(gè)可以設(shè)置定時(shí)任務(wù),自動(dòng)執(zhí)行并報(bào)告結(jié)果的工具。
優(yōu)點(diǎn):解放雙手,極大地提高了效率,jenkins通常用來(lái)自動(dòng)化執(zhí)行各種任務(wù),包括構(gòu)建、測(cè)試和部署軟件。
官方下載地址:https://www.jenkins.io/download/
配套視頻:

2、Selenium(是一個(gè)模擬人對(duì)web端頁(yè)面操作的測(cè)試工具庫(kù))

簡(jiǎn)介:Selenium通常需要搭配chromedriver一起使用,chromedriver是Chrome瀏覽器驅(qū)動(dòng),是selenium 模塊用來(lái)模擬打開(kāi)谷歌瀏覽器所必須的一個(gè)文件。
優(yōu)點(diǎn):解放雙手,Selenium+chromedriver能夠驅(qū)動(dòng)瀏覽器模擬人的操作,如鼠標(biāo)單擊、鍵盤(pán)輸入等,同時(shí)也可以實(shí)現(xiàn)目標(biāo)內(nèi)容的獲取和自動(dòng)下載等。
官方下載地址:https://www.selenium.dev/downloads/
配套視頻:

3、Appium(模擬人對(duì)移動(dòng)端操作的測(cè)試工具庫(kù))

簡(jiǎn)介:appium是一個(gè)合成詞,分別由“application”的前三個(gè)字母和“Selenium”的后三個(gè)字母組成,它的作用與selenium 其實(shí)一樣的。appium 類(lèi)庫(kù)封裝了標(biāo)準(zhǔn) Selenium 客戶(hù)端類(lèi)庫(kù)。
優(yōu)點(diǎn):解放雙手,可以實(shí)現(xiàn)多點(diǎn)觸控手勢(shì)和屏幕方向等操作??梢钥缙脚_(tái)同時(shí)支持Android、iOS。支持多種語(yǔ)言,java、python、php、Ruby等等。
學(xué)習(xí)資料:http://appium.io/docs/cn/about-appium/intro/
下載地址:http://appium.io/
配套視頻:



二、Java語(yǔ)言下的自動(dòng)化測(cè)試框架
1、Maven(Java項(xiàng)目構(gòu)建和管理的工具)

簡(jiǎn)介:Maven一個(gè)最主要的功能在于可以方便的進(jìn)行二進(jìn)制庫(kù)及依賴(lài)的管理
打個(gè)比方,有一個(gè)工人,去哪兒干活兒要隨身攜帶所有的工具,說(shuō)不定什么時(shí)候會(huì)用,后來(lái),他有了一張神奇清單,上面寫(xiě)著他的工具名稱(chēng),出去干活再也不用帶沉甸甸的工具了,只要打開(kāi)神奇清單,需要的工具自動(dòng)就來(lái)了。
而maven對(duì)于程序員來(lái)說(shuō)就是那張神奇清單,它會(huì)幫我們維護(hù)好編程所需的各種依賴(lài)。
優(yōu)點(diǎn):Maven 在美國(guó)是一個(gè)口語(yǔ)化的詞語(yǔ),代表專(zhuān)家、內(nèi)行的意思,約等于北京話(huà)中的老炮兒。有老炮兒在手,干活兒不愁。
學(xué)習(xí)資料:https://www.runoob.com/maven/maven-tutorial.html
2、Testng(簡(jiǎn)化代碼編寫(xiě)的一站式測(cè)試框架)

Testng簡(jiǎn)介:
測(cè)試方法是帶有注解@Test的java方法
將測(cè)試信息添加到testng.xml文件或者build.xml
可以在suite/test/test method三個(gè)級(jí)別來(lái)執(zhí)行測(cè)試方法
Testng優(yōu)點(diǎn):
簡(jiǎn)化代碼編寫(xiě),提高測(cè)試效率。
學(xué)習(xí)資料:測(cè)試框架TestNG使用介紹https://www.sohu.com/a/288820372_216613
3、OkHttp

簡(jiǎn)介:OkHttp是一個(gè)當(dāng)下比較流行的輕量級(jí)的網(wǎng)絡(luò)請(qǐng)求框架,易用性,復(fù)用性都比較好。一般使用時(shí),最好再對(duì)它進(jìn)行再次封裝,以符合具體場(chǎng)景的使用需求。
優(yōu)點(diǎn):拿來(lái)即用,不需關(guān)心底層實(shí)現(xiàn),簡(jiǎn)單易上手。
學(xué)習(xí)資料:https://www.cnblogs.com/chenpi/p/5980177.html
4、最后根據(jù)實(shí)際場(chǎng)景,組合所需的各個(gè)工具,得到自動(dòng)化測(cè)試框架

java自動(dòng)化接口測(cè)試:jenkins+maven+testng+okhttp
java自動(dòng)化web測(cè)試:jenkins+maven+testng+selinum
java自動(dòng)化app測(cè)試:jenkins+maven+testng+appium

三、Python語(yǔ)言環(huán)境下的工具
1、Pytest(非常成熟的全功能的python測(cè)試框架)

簡(jiǎn)介:類(lèi)似的測(cè)試框架工具還有Python原生的unittest,但Pytest完全兼容Unitest,并且含有非常豐富的插件,能夠支持簡(jiǎn)單的單元測(cè)試和復(fù)雜的功能測(cè)試和接口自動(dòng)化測(cè)試。
優(yōu)點(diǎn):插件豐富,可以很好地和jenkins集成。
學(xué)習(xí)資料:https://www.w3cschool.cn/pytest/
視頻學(xué)習(xí):

2、Requests(用于發(fā)送HTTP請(qǐng)求的第三方庫(kù))

簡(jiǎn)介:Requests是用于發(fā)送HTTP請(qǐng)求的第三方庫(kù)。我們實(shí)現(xiàn)請(qǐng)求的時(shí)候并不需要實(shí)現(xiàn)底層的細(xì)節(jié),只需要引入一個(gè)Requests 就可以了。類(lèi)似的工具有很多,比如urllib、httplib等。
優(yōu)點(diǎn):requests使用簡(jiǎn)單、強(qiáng)大高效。
學(xué)習(xí)資料:https://www.kancloud.cn/king_om/py_1/2229543
視頻資料:



3、Allure(一款開(kāi)源的,用來(lái)展示測(cè)試結(jié)果的工具)

簡(jiǎn)介:Pytest可以生成html格式的報(bào)告,但是Allure不僅可以與Pytest做集成生成美觀(guān)易讀的測(cè)試報(bào)告,同時(shí)可以集成到Jenkins,所以推薦使用。
優(yōu)點(diǎn):可以生成美觀(guān)的報(bào)告,并集成到j(luò)enkins。
視頻:

4、Pytest、Requests、Allure、Jenkins等工具的關(guān)系如下圖

結(jié)合通用的工具,不同的自動(dòng)化測(cè)試場(chǎng)景下對(duì)應(yīng)的自動(dòng)化測(cè)試框架如下:
Python自動(dòng)化接口測(cè)試:jenkins+pytest+requests+allure
Python自動(dòng)化Web測(cè)試:jenkins+pytest+selinum+allure
Python自動(dòng)化App測(cè)試:jenkins+pytest+appium+allure
四、自動(dòng)化測(cè)試框架學(xué)習(xí)總結(jié)
自動(dòng)化測(cè)試是測(cè)試工程師從初級(jí)到中高級(jí)的分界線(xiàn),也是入職大廠(chǎng)的必備技能。
上文介紹了多個(gè)自動(dòng)化測(cè)試框架,如果是初學(xué)者,你可能會(huì)頭大:這么框架我一下子學(xué)不會(huì)啊。

別慌,其實(shí)目前業(yè)內(nèi)主要使用的接口自動(dòng)化測(cè)試,Web及App自動(dòng)化測(cè)試是作為輔助,所以你先花精力掌握接口自動(dòng)化測(cè)試框架就可以了。
至于接口自動(dòng)化測(cè)試框架 選擇Java的【Jenkins+Maven+Testng+Okhttp】還是Python的【Jenkins+Pytest+Requests+Allure】可以根據(jù)自己的習(xí)慣和公司的語(yǔ)言環(huán)境來(lái)選擇,具體可以參考下面這篇文章:
《Python 和Java 哪個(gè)更適合做自動(dòng)化測(cè)試?189 贊同 · 32 評(píng)論回答》
https://www.zhihu.com/question/264353399/answer/2453360401
另外我也幫大家整理了接口自動(dòng)化測(cè)試的視頻學(xué)習(xí)資料,希望能夠?qū)δ阋灿兴鶐椭佑汀?..








若你是對(duì)測(cè)試不太了解的測(cè)試小萌新,有太多太多對(duì)測(cè)試的疑惑(前途、薪資、技術(shù)含量、男生是否可以干.....),強(qiáng)烈推薦你觀(guān)看《測(cè)試小白必看:學(xué)習(xí)軟件測(cè)試必問(wèn)的100個(gè)問(wèn)題,從此貼開(kāi)始》,相信能掃除掉你心目中90%以上的常見(jiàn)問(wèn)題。
《100個(gè)常見(jiàn)問(wèn)題鏈接》:http://bbs.itheima.com/thread-507947-1-1.html

最后,為方便大家自學(xué)軟件測(cè)試,特意給大家準(zhǔn)備了一份13G的超實(shí)用干貨學(xué)習(xí)資源,涉及的內(nèi)容非常全面。
包括軟件學(xué)習(xí)路線(xiàn)圖,黑馬50多天的上課視頻、16個(gè)突擊實(shí)戰(zhàn)項(xiàng)目,80余個(gè)軟件測(cè)試用軟件,37份測(cè)試文檔,70個(gè)軟件測(cè)試相關(guān)問(wèn)題,40篇測(cè)試經(jīng)驗(yàn)級(jí)文章,上千份測(cè)試真題分享,還有2020軟件測(cè)試面試寶典,還有軟件測(cè)試求職的各類(lèi)精選簡(jiǎn)歷,希望對(duì)大家有所幫助…..?
《2022黑馬測(cè)試學(xué)習(xí)路線(xiàn)圖鏈接》:http://bbs.itheima.com/thread-405757-1-1.html
