給你乙個專案,介面自動化測試怎麼開展的?1、需求分析 - 了解業務/功能 - 專案現狀(週期 - 回歸測試)tdd - 歷史功能/穩定的功能/新的功能/線上問題最多的歷史功能模組?/核心功能/自己負責的部分
2、介面的了解 - 介面文件? 抓包?swagger?? --- 向上丟擲。-- 找領導協商外部資源。
3、自動化框架/工具選擇 --- 工具的可擴充套件性以及擴充套件語言 + 選幾個複雜的介面去試用,看在鑑權和斷言方面的處理。
框架結構
執行流程
命名規範
4、寫介面用例? ---
寫介面用例指令碼
盡早加入jenkins整合
定期匯報
測試報告 - 分析用例失敗
從你最開始做自動化,到一直做自動化,記錄發現的bug
5、維護階段
開發修改介面 - 同步修改用例
新增介面
遇到了問題,優化框架
postman和jmeter
自動化測試方案?
自動化框架提供了哪些功能?
我用你的框架,可以使用哪些功能?
1、編寫用例(前置後置、斷言)、執行用例、生成測試報告。
2、日誌功能,回溯問題
針對介面測試:
1、資料庫處理
2、介面關聯處理
3、資料引數化(資料驅動思想)實現 - excel資料讀取
4、提取資料處理
5、資料替換處理
6、配置檔案處理
7、http請求封裝:鑑權處理,請求頭處理。
8、資料生成處理
1、框架的整體結構、結構設計
分層設計思想、資料驅動思想
common - 公共工具層
config
data
dbexcel
extract_data_from_response
path
phone
requests
ddtlogger
testcases - unittest實現,ddt模組
test_user_business.py (業務流)
test_add.py(加標)
test_invest.py(投資)
test_login.py(登入)
test_recharge.py(充值)
test_register.py(註冊)
test_withdraw.py(提現)
testdatas - excel\ini配置檔案\指令碼生成的資料
api_cases.xlsx(用例表單)
conf - 配置層 - 資料庫連線配置、全域性介面url配置、日誌配置、全域性共用資料配置
py_30.ini 配置檔案
outputs - 報告 /日誌
py30.log 日誌輸出
report_.html 報告輸出
main.py - 框架的入口檔案 - 執行它,收集用例執行用例生成報告。
引數關聯:
下乙個介面的請求依賴於上乙個介面的請求返回值
思想:提取上乙個介面的返回值,然後設定為全域性變數,下乙個介面呼叫這個全域性變數就好了
在我的框架的當中,有乙個handle_data的py檔案,專門來處理。
如何提取的:jsonpath提取技術,在excel當中把全域性變數名和提取表示式寫好,執行用例的時候,根據提取表示式得到結果並設定全域性變數。
如何設定為全域性變數:全域性變數的實現機制是:定義乙個全域性變數類envdata。通過setattr函式將提取到的結果,動態的設定為envdata的類屬性。
如何呼叫的:在下乙個介面傳送之前,將請求資料從excel讀取出來之後,使用正則替換請求資料當中特定的變數名。使用#變數名#來表示這是要被替換的。
斷言處理上:
比對code碼。返回結果資料比較多的時候,只想比對一部分是怎麼做的?有哪幾種斷言型別(postman)?
資料上的比對:
資料庫的比對:
excel用例很多讀取很慢的時候,怎麼處理???
把資料庫的資料刪了 就是不可逆 刪除操作為軟刪除 資料庫中只是更改狀態 就是可逆的
怎麼保證不漏測
1、深刻理解需求/業務 - 覆蓋更多用例
2、用例評審
3、多人交叉測試 - 互動測試
4、如果有使用者場景沒覆蓋掉。 -- 不斷加進去
5、有機會的話,與專案客戶接觸一下。
先想明白用例邏輯/實現-步驟、斷言、哪些資料是動態替換 才去寫**。
1、編寫excel測試資料
用例步驟:
2、根據表單讀取到用例資料
3、使用unittest框架定義測試類。並使用ddt模組應用資料驅動思想
4、類前置當中,清除環境變數類當中的屬性
5、替換請求資料當中,需要動態替換的資料(其它的介面返回值、配置檔案、指令碼生成的)。
6、如果有前置sql語句,還需要替換sql查詢到的資料
7、傳送請求
8、若有提取表示式,在響應結果當中,jsonpath提取資料,並設定為環境變數
9、若有斷言表示式,則以字典的形式,比對期望和實際結果。
10、若有sql檢查,則在資料庫中執行sql資料,與期望結果比對。
mock應用場景:測試當中,你要請求的介面,你得不到響應資料。 介面可能沒實現/可能暫時壞了/第三方的
mock,模擬一下介面的返回。
mock服務 - fastmock -
rap2 -
mock - unittest.mock
flask框架 模板
今天又是乙個精彩又無聊的一天,不過隨著知識的緩慢的增加我的內心也充滿了幹勁,雖然前進的有些緩慢 但我不會這麼容易放棄的,一定要相信自己,不要灰心 好了 不說廢話了 我自己聽的都有些受不了了 我呢 今天學習了模板,在這裡我給大家說說幾句 關於模板的 首先說一下模板的作用 模板可以承擔檢視函式又可以返回...
介面協議框架
1 所有請求包體前面8個位元組是隨機串,剩餘所有的加密密文 a body前面8個位元組作為隨機key b 客戶端固定寫死乙個key dynamic key 12345678 8動態密碼 fixed key 固定寫死的key 兩者拼接成後取md5為金鑰,key長度是32個位元組 key md5 raw...
介面呼叫框架
主流協議包括http協議和webservice soap 協議 http 是標準超文字傳輸協議 soap簡單物件訪問協議 是一種輕量的 簡單的 基於 xml 的協議,它被設計成在 web 上交換結構化的和固化的資訊 http協議呼叫方式 webservice協議呼叫方式 主要為get方式和post方...