經過Python測試交流羣的小夥伴羣策羣力,teprunner添加了一個重要功能,把PyCharm中的代碼,通過Git同步到測試平臺中,生成測試用例。這樣,teprunner就成了一個名副其實的pytest腳本在線管理平臺。
效果展示
項目添加Git倉庫和Git分支:
點擊同步按鈕即可進行Git同步:
同步說明
爲什麼要把平臺用例和Git用例獨立?如果平臺上面的用例可以通過Git進行提交代碼,那麼代碼衝突會很難解決,這是其一。其二是平臺用例的好處就是規避了Git管理代碼的衝突問題,一般測試人員代碼能力沒有開發人員那麼強,代碼衝突解決起來是真的費時費力。其三是如果用例在平臺和Git中都有修改,那麼同步時並不知道哪一份是最新的,無法判斷。
前端開發內容
router添加路由:
給項目增加兩個輸入框:
表格增加兩列:
給測試用例的描述添加一個鏈接,查看用例:
接口響應添加來源字段:
根據來源區分編輯和刪除的操作權限:
用例查看頁面:
Git同步菜單:
Git同步頁面及說明:
請求後端gitSync接口:
後端開發內容
Project新增字段:
Case新增字段:
其中filename用於緩存在數據庫中的用例代碼對應的文件名(實際上是相對於tests目錄的路徑)。
數據遷移:
python manage.py makemigrations
python manage.py migrate
ProjectSerializer添加字段:
CaseSerializer和CaseListSerializer添加字段:
url添加路由:
git_sync視圖:
Git同步後端配置:
從Git拉代碼:
如果docker中沒有就clone,如果已經存在就checkout到指定分支再git pull。
同步用例:
根據數據庫中的filenames和git的filenames進行集合化後求差集/交集,得出需要刪除/添加/更新的用例集,然後分別操作數據庫緩存。
讀取git文件內容:
從文件內容提取描述和創建人:
小結
本文介紹瞭如何使用Git把PyCharm中的pytest腳本,同步到測試平臺進行管理。至此,teprunner測試平臺V1.0.0正式完成。後續會逐漸完善部署文檔和用戶手冊,歡迎持續關注。