測試平臺系列(59) 調整用例列表頁
大家好~我是
米洛
!
這是一個完整的介面測試平臺系列教程
,希望能和大家一起學習,從0到1打造一個開源平臺。
歡迎關注我的公眾號測試開發坑貨
,獲取最新文章教程!
回顧
上一節我們講了怎麼去設計
用例目錄表,而因為之前我們的case是跟專案繫結的,所以我們這一節去改進case相關部分。
理清關係
之前用例表
裡面會有一個project_id和category欄位,分別代表專案和目錄。我們上節已經制造了目錄表,所以需要先去掉之前的project_id欄位和目錄欄位,改為directory_id
欄位。
其實我們可以簡單點,把project_id直接換成directory_id
,接著刪除category欄位。但這樣的話,會影響到專案列表
但沒關係,本來我們就是要把專案列表頁裡的case頁面剔除的。
改寫查詢專案的介面
頁面上的改動:
規劃一下列表頁
既然舊的列表頁給幹掉了,那麼新的列表頁
應該怎麼展示呢?
上節我們編寫了case目錄,那用例是跟目錄關聯起來的,所以我們大概設想一下這樣一個頁面:
可以看到,佈局
是左右佈局:
-
左側
專案選擇和目錄樹,目錄樹經過我們上一節的處理,可以
瘋狂巢狀
。目前來看的話,目錄還不支援移動
,比較可惜。 -
右側
右側就是一個用例列表頁,XXX目錄下的用例列表,其中還能夠根據
用例名稱
和建立人來過濾case。這邊case就沒有繼續做分頁了,單個目錄下的case應該不會到幾千條那麼誇張。
接下來幹嘛?
當然是為前端的展示提供這些資料
。我們目前需要支援建立人+用例名稱+目錄的方式進行查詢。
而目錄又會巢狀,所以我們需要找出目錄的所有兒子
。又因為目錄不可能會那麼那麼多,所以我們找出待查目錄
和所有非根節點目錄
。
比如我要查根目錄A下的資料,那麼其他根目錄肯定不是A的兒子,而是A的兄弟。
如果用一層層for迴圈去查詢
資料的話,勢必會很影響效能,當然我這裡建議大家把查詢的結果快取到redis,一般來說目錄咱們不會輕易更換
,更換的時候刪除下快取
即可,這樣會事半功倍。
開始行動
- 編寫獲取A下面所有子目錄的方法
- 首先找出所有parent 等於 directory_id 或者 不是根目錄的資料
- 和之前一樣,把他們塞到一個map裡面去,這樣建立parent -> son(也就是父親到兒子之間的對映)
- 編寫獲取兒子的方法(遞迴),把所有的孩子節點都放到result之中
- 調整list_testcase方法
首先獲取所有directory_id下的目錄,然後找出未刪除
且directory_id in這些目錄的case。
之後如果有其他條件,比如name,create_user這樣的,再加入篩選條件
。
接著根據case名稱排序即可。
完善list介面
最終效果
只看右側的話,他就是一個列表頁
面,但這邊的區別就是他和左側目錄樹進行了打通
。
拜了個拜,下篇講下如何部署
,至於用例的編輯/新增/執行這塊,還需要一些時間。