接口自動化測試框架搭建(1概作、環(huán)境、框架的思路及目錄構(gòu)成)--python+HTMLTestRunnerCN+requests+unittest+mock+db

事情是這樣式兒的默怨,在之前的公司使用過接口自動化測試框架讯榕,但不是自己搭建的,所以想嘗試著自己搭建一個接口自動化測試框架匙睹,在網(wǎng)上找了好多的資料愚屁,然后借鑒大佬們的經(jīng)驗,自己搞了一個痕檬。希望看到的小伙伴能有些幫助霎槐。我就很開心啦~

本人csdn博客:https://blog.csdn.net/Mojitoice/article/details/108992622


一仗阅、環(huán)境的搭建:python+HTMLTestRunnerCN+request+unittest+mock+db

這個我就不用多說了吧瘪菌。這個網(wǎng)上有好多噠驮配。

1佃迄、pycharm下載安裝

windows的下載地址:Download PyCharm: Python IDE for Professional Developers by JetBrains

mac的下載地址:Download PyCharm: Python IDE for Professional Developers by JetBrains

2证逻、python環(huán)境搭建

3园骆、創(chuàng)建項目畏线,給自己的框架起一個好聽的名字~

如果不知道上面這三點的童鞋呢擎厢,可以參考這個:PyCharm 安裝教程(Windows) | 菜鳥教程? ? ? ????


二朵夏、框架的思路

一)大體思路

先說下大體的思路哈蔼啦!

其實就是通過構(gòu)建一個case的py文件。該文件的主要作用就是從excel中讀取需要執(zhí)行的case仰猖,然后生成相關(guān)的測試報告以及l(fā)og捏肢,最終執(zhí)行runAll.py就是執(zhí)行所有的test_case.py文件。這是大體的思路饥侵。

二)細節(jié)介紹

細節(jié)一點的可以看這個圖圖~


可能微微有點亂哈鸵赫,我來捋一捋:

testGetItemByProductId.py:就是我們自己構(gòu)建出來的case相關(guān)的py文件,它主要是

1躏升、通過readExcel.py內(nèi)封裝的方法辩棒,然后讀取到excel中我們已經(jīng)寫好的case

2、通過excel中的標(biāo)記來判斷該case是否需要進行mock膨疏,如果需要mock的話就會調(diào)用configapiMock.py中的方法讀取在config.ini配置好了的返回參數(shù)一睁,進行mock

3、至于訪問那個url呢佃却?就是通過getUrlParams.py中的方法者吁,拿到域名+excel中的api = 最終的url

4、那么要使用什么請求方法呢饲帅?需要拿到excel中寫好的方法复凳,然后調(diào)用configHttp.py中的對應(yīng)方法就好啦,就可以拿到接口的返回值灶泵。

5育八、那如果需要查詢數(shù)據(jù)庫中的數(shù)據(jù)和返回結(jié)果對比應(yīng)該咋搞呢?就是寫好相應(yīng)的sql赦邻,調(diào)用configDB.py方法单鹿,再拿到上面的返回值,進行斷言就好了深纲。

6仲锄、最后會通過調(diào)用log.py生成log,調(diào)用HTMLTestRunnerCN.py生成html的測試報告湃鹊。

7儒喊、至于runAll.py是通過讀取caselist.txt,看有哪些需要執(zhí)行的py文件币呵,然后執(zhí)行怀愧。

我感覺只要能把具體需要什么了解了 框架自己而然就好搭啦~

其中還缺少了發(fā)送郵件侨颈,這個我還沒有搞~哈哈哈哈哈 后續(xù)我會再補充進來噠!

三)excel表格的設(shè)計

1芯义、get

2哈垢、post

有的時候會出現(xiàn)奇怪的報錯。大家要注意excel的格式嗷?覆Α耘分!


三、目錄的架構(gòu)

這是在framework下一層的文件夾和文件绑警,后面會對其中每個文件夾里面的文件做具體介紹求泰。

上面指的就是這些。

詳細介紹一下嗷~

1计盒、case文件夾:各個case的具體執(zhí)行&斷言等渴频,其中的py文件是以test為開頭,為了能夠讓unittest找到

? ? test*.py其中主要包括:1)將從excel中讀取到的內(nèi)容進行參數(shù)化

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2)setUp北启、tearDown卜朗、setUpClass、tearDownClass

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3)具體case執(zhí)行的方法咕村,比如判斷該用例是否需要進行mock场钉,如果進行斷言。

2培廓、common文件夾:包括一些公共的方法

? ? ? ? 1)configapiMock.py:主要是提供了mock方法

? ? ? ? 2)configDB.py:主要是鏈接數(shù)據(jù)庫并且執(zhí)行sql

? ? ? ? 3)configHttp.py:get惹悄。post的方法,拿到請求的返回值

? ? ? ? 4)HTMLTestRunnerCN.py:生成html測試報告肩钠,使用方式是固定的泣港。

? ? ? ? 5)log.py:生成log文件的方法

3、excel文件夾:主要是excel形式的case价匠。

4当纱、result文件夾:測試結(jié)果

? ? ? ? 1)logfile文件夾:主要是存儲生成的log文件

? ? ? ? 2)report文件夾:主要是存儲最終生成的html測試報告

5、testFile文件夾:其他測試文件

? ? ? ? 1)caselist.txt:是txt格式的踩窖,主要是用來表明需要運行那些py文件的case坡氯,不需要運行的前面放“#”

? ? ? ? 2)config.ini:主要是一些配置,db洋腮,HTTP箫柳,mock等。

? ? ? ? 3)getUrlParams.py:拼接域名的方法

? ? ? ? 4)readConfig.py:讀取配置文件的方法封裝

? ? ? ? 5)readExcel.py:讀取excel的方法封裝

6啥供、getPath.py:獲取該項目絕對路徑的方法悯恍,好多地方涉及到讀取文件中的內(nèi)容,所以需要封裝一個該方法伙狐,絕對路徑不容易出問題涮毫。

7瞬欧、runAll.py:從caselist.txt中讀取符合要求的case,執(zhí)行對應(yīng)的py文件罢防。

以上K一ⅰ!咒吐!希望看到的小伙伴能夠受到一丟丟的啟發(fā)野建,奏很開森啦~~????? 后續(xù)還會更新各個文件的內(nèi)容嗷。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末渤滞,一起剝皮案震驚了整個濱河市贬墩,隨后出現(xiàn)的幾起案子榴嗅,更是在濱河造成了極大的恐慌妄呕,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嗽测,死亡現(xiàn)場離奇詭異绪励,居然都是意外死亡,警方通過查閱死者的電腦和手機唠粥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門疏魏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人晤愧,你說我怎么就攤上這事大莫。” “怎么了官份?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵只厘,是天一觀的道長。 經(jīng)常有香客問我舅巷,道長羔味,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任钠右,我火速辦了婚禮赋元,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘飒房。我一直安慰自己搁凸,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布狠毯。 她就那樣靜靜地躺著护糖,像睡著了一般。 火紅的嫁衣襯著肌膚如雪垃你。 梳的紋絲不亂的頭發(fā)上椅文,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天喂很,我揣著相機與錄音,去河邊找鬼皆刺。 笑死,一個胖子當(dāng)著我的面吹牛羡蛾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播痴怨,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼浪藻!你這毒婦竟也來了捐迫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤施戴,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后赞哗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡辆雾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年肪笋,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片度迂。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡英岭,死狀恐怖湾盒,靈堂內(nèi)的尸體忽然破棺而出诅妹,到底是詐尸還是另有隱情,我是刑警寧澤吭狡,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站送丰,受9級特大地震影響弛秋,放射性物質(zhì)發(fā)生泄漏俐载。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一遏佣、第九天 我趴在偏房一處隱蔽的房頂上張望揽浙。 院中可真熱鬧,春花似錦馅巷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽跌榔。三九已至,卻和暖如春僧须,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背担平。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工暂论, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人取胎。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像匪傍,于是被迫代替她去往敵國和親觉痛。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容