轉(zhuǎn)載自:http://www.cnblogs.com/LanTianYou/p/5952472.html
目錄
Auty框架表現(xiàn)篇——python flask框架實踐
[本文出自天外歸云的博客園]
這兩天用python寫了一個自動化測試框架,取名為Auty。準備用來做Web方面的接口測試,以下為Auty框架一步一步的搭建過程——
首先在這里我要感謝我的大師兄朱勃的指點、交流和幫助!
Auty文件夾結(jié)構(gòu)介紹
1. actions文件夾:包含了和業(yè)務(wù)相關(guān)的包含可復用方法的腳本文件,根據(jù)業(yè)務(wù)的不同可以在actions文件夾下創(chuàng)建不同的業(yè)務(wù)文件夾;
2. constants文件夾:包含了常量初始化的python腳本文件,根據(jù)業(yè)務(wù)劃分可以再創(chuàng)建子文件夾或多個常量文件;
3. data文件夾:包含了測試用的數(shù)據(jù);
4. lib文件夾:包含了支持框架運行的python文件;
5. log文件夾:包含了運行測試過程中生成的日志文件;
6. results文件夾:包含了測試結(jié)果文件;
7. scripts文件夾:包含了scripts文件夾和selections文件夾;
1)scripts文件夾下包含了測試腳本(可根據(jù)業(yè)務(wù)劃分成多個子目錄);
2)selections文件夾下包含了suite文件(包含了需要執(zhí)行的腳本路徑集合);
8. utils文件夾:包含了和業(yè)務(wù)邏輯無關(guān)的包含可復用方法的腳本文件;
Auty文件結(jié)構(gòu)介紹
1. Auty文件夾下:
1)__init__.py文件:包結(jié)構(gòu)所必需文件(以下所有涉及可調(diào)用腳本的文件夾下均需有此文件);
2)config.txt文件:Auty框架配置說明文件;
3)recovery.py文件:垃圾代碼回收文件(用來回收執(zhí)行測試過程中因故障未能自動刪除的自動生成的代碼);
4)requirements文件:包含了框架所需要安裝的python庫信息;
5)setup.py文件:執(zhí)行腳本以安裝requirements文件中所包含的python庫;
6)start.py文件:執(zhí)行腳本以啟動接口自動化測試;
2. lib文件夾下:
1)exe_deco.py文件:包含修飾腳本運行時方法的文件;
2)execute_selection.py文件:包含運行suite集合下腳本方法的文件;
3)generate_html.py文件:包含根據(jù)生成的csv格式測試結(jié)果文件生成html類型測試結(jié)果文件方法的文件;
4)generate_result.py文件:包含生成csv格式測試結(jié)果方法的文件;
5)read_selection.py文件:包含讀取可執(zhí)行的腳本列表方法的文件;
6)recovery_code.py文件:包含垃圾代碼回收方法的文件;
7)write_log.py文件:包含生成日志文件方法的文件;
3. scripts文件夾下:
1)create_selection.py文件:包含創(chuàng)建suite文件(all_scripts_selection.txt)方法的文件;
Auty使用步驟
1. 運行Auty/setup.py文件;
2. 編寫接口測試python腳本并放到Auty/scripts/scripts目錄(或子目錄)下;
3. 運行Auty/scripts/create_selection.py文件生成Auty/scripts/all_scripts_selection.txt文件;
4. 修改Auty/scripts/all_scripts_selection.txt文件自定義test_selection.txt文件(名字隨意起)并放到Auty/scripts/selections文件夾下;
5. 運行Auty/start.py文件開始接口自動化測試;
6. 在Auty/results文件夾下生成的測試結(jié)果文件中查看測試結(jié)果。
Auty編寫過程
這個框架里scripts、utils、actions、contants四個文件夾中的內(nèi)容是根據(jù)實際工作內(nèi)容可以隨意替換的,其他為Auty接口自動化測試框架必需的組成部分。由于后續(xù)開發(fā)工作比較瑣碎,一些更改的代碼不能及時更新到以下各篇文章中。最新代碼請見:Github
Auty框架表現(xiàn)篇——python flask框架實踐
接口測試用例編寫建議
框架的誕生從某種層面上講也是為了讓編寫的代碼更加規(guī)范化。拋開框架而言,對于接口測試用例的編寫,還是要給出以下建議:
1. 涉及接口中的url,不要寫死在case中,要通過常量訪問,將url存儲在指定constant文件中(以免接口域名變更等原因造成的不可維護);
2. 測試用例中不要包含測試數(shù)據(jù)等可變信息,要設(shè)成變量,專門將變量的初始化工作在一個指定的文件中完成;
3. 測試用例中不要重復粘貼大段代碼邏輯(不利于代碼的走查,會造成代碼冗余并提高出錯幾率),凡是可以復用的過程一律提取成方法,分類放置在指定的存放業(yè)務(wù)邏輯action的文件夾中;
4. 關(guān)于注釋:用語一定要官方,注釋的意義更多是對別人而言的,要讓其他人一看就懂;一定要具體詳細,不要話說一半;一定要位置準確,注釋下方代碼邏輯一定要與注釋內(nèi)容吻合而不是在注釋下方過了一段代碼后才開始注釋所包含的內(nèi)容邏輯。