介面測試平臺-66: 多介面用例實現之 小用例:新增+刪除+關閉+排序
1. 增加小用例
開啟P_cases.html,增加點選事件
實現onclick:
// 新增小用例
function add_new_step() {
var Case_id = document.getElementById('Case_id').innerText
$.get('/add_new_step/', {
"Case_id": Case_id
}, function (ret) {
refresh_left_div(Case_id);
})
}
新增對映:
urls.py:
url(r'^add_new_step/$', add_new_step), # 新增小步驟介面
views.py:
# 新增小步驟
def add_new_step(request):
Case_id = request.GET['Case_id']
DB_step.objects.create(Case_id=Case_id, name='我是新步驟')
return HttpResponse('')
重啟服務 重新整理頁面 試著增加幾個步驟:
問題:1. 順序不對,2. 執行index不對,以下是解決辦法
服務重啟頁面重新整理後,再新增一下試試:
可能會遇到問題,在後臺刪除出錯:
因為之前沒有寫name,造成了髒資料;解決辦法:
-
不去理會,等開發出刪除步驟功能再刪除它們
-
sqlite3 命令列刪除,先sqlite3 你的資料庫檔案》tables; 列出所有表,然後用sql語句刪除,delete from....
-
直接改models.py檔案,讓它先別返回這個name,然後就可以刪除了,然後再改回來。(最簡單)
2. 關閉左側彈層
增加點選事件,開啟P_cases.html:
實現:
// 關閉左側div
function close_left_div() {
$("#left_div").css("display", "none")
}
3. 選單被小用例遮擋問題
用z-index來解決,最大是999。把這個步驟列表的div 的z-index 從998 改成 2 即可:這樣既能比用例列表這種1的大,又能低於左側選單。
4. 刪除大用例刪除小用例
5. 刪除專案時刪除大小用例
# 刪除專案
@login_required
def delete_project(request):
project_id = request.GET['id']
DB_project.objects.filter(id=project_id).delete()
DB_apis.objects.filter(project_id=project_id).delete() # 刪除旗下介面
all_Case = DB_cases.objects.filter(project_id=project_id)
for case in all_Case:
DB_step.objects.filter(Case_id=case.id).delete() # 刪除旗下小用例
case.delete() # 刪除旗下大用例,用例刪除自己
return HttpResponse('')
6. 刪除小用例
增加刪除事件,開啟P_cases.html:
// 重新整理小用例列表專用
function refresh_left_div(case_id) {
// 重新整理小用例列表專用
var d = document.getElementById('small_list');
d.innerHTML = ''; //清空舊資料
$.get('/get_small/',{
'case_id':case_id
},function (ret) {
//開始解析ret,並展現。
res = eval(ret);
all_steps = res.all_steps;
for(var i=0;i<all_steps.length;i++){
//這裡寫 生成小用例步驟的button程式碼
var bu = document.createElement('button');
bu.style = 'margin-top: 5px;width: 90%;background-color: #f5f3f3;';
bu.className = 'btn btn-defaul';
bu.innerText = all_steps[i].name;
bu.id = 'step_btn_'+all_steps[i].id;
//小步驟的刪除按鈕
var del = document.createElement('button');
del.className ='btn btn-default';
del.style.fontSize = 'xx-small';
del.innerText = 'delete';
del.style.height = '28px';
del.style.cssFloat='right';
del.style.marginTop='8px';
del.idd = all_steps[i].id;
del.onclick = function(){
$.get('/delete_step/'+this.idd+'/',{
},function (ret) {
refresh_left_div(document.getElementById('Case_id').innerText)
})
};
d.appendChild(bu);
d.appendChild(del);
}
})
}
效果如下:
新增對映:
urls.py:
url(r'^delete_step/(?P<eid>.*)/$', delete_step), # 刪除小步驟介面
views.py:
# 刪除小步驟
def delete_step(request, eid):
step_id = eid
DB_step.objects.filter(id=eid).delete()
return HttpResponse('')
重啟服務/重新整理頁面,我們測試一下:
7. 優化排序問題
忽略了一個問題:現在要在頁面上顯示出 這些步驟的index執行順序,以便之後除錯。
不要忘了,之前重新整理功能獲取的只有id和name,現在因為要考慮到排序順序,所以得增加上index:
重啟服務,重新整理頁面:
假如刪除了 序號為2的步驟,那麼剩下的步驟怎麼辦?序號是1 和 3,還是 1和2(3自動變成2)呢?希望 後者
重寫del_step函式~
# 刪除小步驟
def delete_step(request, eid):
step = DB_step.objects.filter(id=eid)[0] # 獲取待刪除的step
index = step.index # 獲取目標index
Case_id = step.Case_id # 獲取目標的所屬大用例id
step.delete() # 刪除目標step
for i in DB_step.objects.filter(Case_id=Case_id).filter(index_gt=index): # 遍歷所有大用例下的步驟中,順序號大雨目標index的步驟
i.index -= 1 # 執行順序自減1
i.save()
return HttpResponse('')
其中,首次運用了雙篩選和 大於寫法 欄位__gt =
重啟服務,重新整理頁面。測試一下,刪除中間的第二條後的效果:
相關文章
- 介面測試用例編寫和測試關注點
- 有關介面測試的用例設計問題
- 測試平臺之介面測試
- Jmeter介面測試例項-牛刀小試JMeter
- postman的批次執行:用於多條介面測試用例批次執行,輸出介面測試測試結果Postman
- httprunner 介面測試用例分層的疑惑HTTP
- 聊聊介面測試用例設計規範
- 介面測試平臺-88: 全域性請求頭之 新增+刪除+修改後的勾選和展示
- 測試中,介面測試的必要性與介面測試的基礎用例設計
- 介面測試平臺-90: 全域性請求頭之 多介面-介面庫選擇
- teprunner測試平臺用例前置模組開發
- teprunner測試平臺測試計劃批量執行用例
- 如何編寫介面測試用例?測試工程師必備技能!工程師
- 軟體測試學習資源—登陸、新增、刪除、查詢模組測試用例設計
- 各位測試大佬可有實用的介面自動化測試平臺推薦?
- 測試平臺-unittest 指定順序執行用例
- springboot+Vue 實現介面測試平臺Spring BootVue
- 測試用例
- 基於LangChain手工測試用例轉介面自動化測試生成工具LangChain
- 自動化測試平臺設計與實現(三、自動化用例物件成為可執行檔案,用例執行機的設計與實現、用例除錯)物件除錯
- 測試用例最佳實踐
- 線上腦圖測試用例管理平臺求推薦~
- 滴滴開源AgileTC:敏捷測試用例管理平臺敏捷測試
- 測試平臺系列(63) 軟刪除之殤
- 測試面試-測試用例面試
- 【5】測試用例
- 介面自動化:pytest 執行測試用例時可以使用主從模式嗎?多個電腦一同執行測試用例模式
- 軟體測試用例設計實用經驗之談
- 自動化測試平臺設計與實現(二、自動化測試用例物件設計實現、關鍵字物件設計與實現)物件
- 實用指南:使用Pytest Allure測試框架新增用例失敗截圖框架
- 手工測試用例與自動化測試用例的區別
- 【Java】跳躍表的實現以及用例測試Java
- k8s透過api介面刪除例項K8SAPI
- AgileTC --滴滴開源測試用例管理平臺環境搭建
- postman寫測試用例Postman
- IOS測試用例例子iOS
- 測試用例的方法
- 黑盒測試用例二