一步一步教你編寫與搭建自動化測試框架——python篇


[本文出自天外歸雲的博客園]

這兩天用python2寫了一個自動化測試框架,取名為Auty。准備用來做Web方面的接口測試,以下為Auty框架一步一步的搭建過程——

首先在這里我要感謝我的大師兄朱勃的指點、交流和幫助!

Auty文件夾結構介紹

1. actions文件夾:包含了和業務相關的包含可復用方法的腳本文件,根據業務的不同可以在actions文件夾下創建不同的業務文件夾;
2. constants文件夾:包含了常量初始化的python腳本文件,根據業務划分可以再創建子文件夾或多個常量文件;
3. data文件夾:包含了測試用的數據;
4. lib文件夾:包含了支持框架運行的python文件;
5. log文件夾:包含了運行測試過程中生成的日志文件;
6. results文件夾:包含了測試結果文件;
7. scripts文件夾:包含了scripts文件夾和selections文件夾;
  1)scripts文件夾下包含了測試腳本(可根據業務划分成多個子目錄);
  2)selections文件夾下包含了suite文件(包含了需要執行的腳本路徑集合);
8. utils文件夾:包含了和業務邏輯無關的包含可復用方法的腳本文件;

Auty文件結構介紹

1. Auty文件夾下:
  1)__init__.py文件:包結構所必需文件(以下所有涉及可調用腳本的文件夾下均需有此文件);
  2)config.txt文件:Auty框架配置說明文件;
  3)recovery.py文件:垃圾代碼回收文件(用來回收執行測試過程中因故障未能自動刪除的自動生成的代碼);
  4)requirements文件:包含了框架所需要安裝的python庫信息;
  5)setup.py文件:執行腳本以安裝requirements文件中所包含的python庫;
  6)start.py文件:執行腳本以啟動接口自動化測試;
2. lib文件夾下:
  1)exe_deco.py文件:包含修飾腳本運行時方法的文件;
  2)execute_selection.py文件:包含運行suite集合下腳本方法的文件;
  3)generate_html.py文件:包含根據生成的csv格式測試結果文件生成html類型測試結果文件方法的文件;
  4)generate_result.py文件:包含生成csv格式測試結果方法的文件;
  5)read_selection.py文件:包含讀取可執行的腳本列表方法的文件;
  6)recovery_code.py文件:包含垃圾代碼回收方法的文件;
  7)write_log.py文件:包含生成日志文件方法的文件;
3. scripts文件夾下:
  1)create_selection.py文件:包含創建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文件夾下生成的測試結果文件中查看測試結果。

Auty編寫過程

這個框架里scripts、utils、actions、contants四個文件夾中的內容是根據實際工作內容可以隨意替換的,其他為Auty接口自動化測試框架必需的組成部分。由於后續開發工作比較瑣碎,一些更改的代碼不能及時更新到以下各篇文章中。最新代碼請見:Github

第一篇——生成執行列表

第二篇——讀取與執行腳本列表

第三篇——添加異常處理與日志收集

第四篇——生成測試結果報告

第五篇——調用支持、自動化安裝庫與配置說明

第六篇——垃圾代碼回收、添加suite支持

第七篇——添加動作庫和常量文件庫

Auty框架表現篇——python flask框架實踐

接口測試用例編寫建議

框架的誕生從某種層面上講也是為了讓編寫的代碼更加規范化。拋開框架而言,對於接口測試用例的編寫,還是要給出以下 建議
1. 涉及接口中的url,不要寫死在case中,要通過常量訪問,將url存儲在指定constant文件中(以免接口域名變更等原因造成的不可維護);
2. 測試用例中不要包含測試數據等可變信息,要設成變量,專門將變量的初始化工作在一個指定的文件中完成;
3. 測試用例中不要重復粘貼大段代碼邏輯(不利於代碼的走查,會造成代碼冗余並提高出錯幾率),凡是可以復用的過程一律提取成方法,分類放置在指定的存放業務邏輯action的文件夾中;
4. 關於注釋:用語一定要官方,注釋的意義更多是對別人而言的,要讓其他人一看就懂;一定要具體詳細,不要話說一半;一定要位置准確,注釋下方代碼邏輯一定要與注釋內容吻合而不是在注釋下方過了一段代碼后才開始注釋所包含的內容邏輯。
 
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM