1. 程式人生 > 其它 >測試平臺系列(59) 調整用例列表頁

測試平臺系列(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下面所有子目錄的方法
  1. 首先找出所有parent 等於 directory_id 或者 不是根目錄的資料
  2. 和之前一樣,把他們塞到一個map裡面去,這樣建立parent -> son(也就是父親到兒子之間的對映)
  3. 編寫獲取兒子的方法(遞迴),把所有的孩子節點都放到result之中
  • 調整list_testcase方法

首先獲取所有directory_id下的目錄,然後找出未刪除且directory_id in這些目錄的case。

之後如果有其他條件,比如name,create_user這樣的,再加入篩選條件

接著根據case名稱排序即可。

完善list介面

最終效果

只看右側的話,他就是一個列表頁面,但這邊的區別就是他和左側目錄樹進行了打通

拜了個拜,下篇講下如何部署,至於用例的編輯/新增/執行這塊,還需要一些時間。