一、需求:
查詢接口自動化;
二、已知條件:
1.接口入參分為兩部分
固定入參(fixparam):IP地址,操作渠道等;每個接口這部分都是相同的所以稱為固定入參;
不固定入參(unfixparam):接口查詢功能相關業務參數;
2.業務需求封裝了一個Test Library供使用,該Test Libirary有關鍵字:LBM CALL RET DATA。F5查詢用法為:
Arguments:[server|funcid|fixparam|unfixparam],其中server有約定的寫法;
三、實現思路:
1.設置查詢參數,作為接口查詢入參,也作為SQL的查詢參數;
2.調用接口獲得查詢結果集(resultSet1);
3.調用SQL獲得數據庫查詢結果集(resultSet2);
4.將resultSet1和resultSet2進行對比,如果數據一致則用例通過,否則用例失敗;
四、實現過程
以股份查詢為例,建立一個測試套件,名稱為股份查詢,在該測試套件下寫測試用例。測試用例包括:
1.返回參數確認;
2.入參輸入正確,錯誤,空的組合場景;
3.按定位串,查詢方向,查詢函數查詢;
需要考慮的要點:
1.考慮用例編寫的效率問題,最好的效果是:第一條用例完成后,其他賦值粘貼稍作修改即可;
解決方案:在設計過程中使得每條用例需要改變的只是接口unfixparam;
2.考慮用例適應多種輸入數據,為此,接口的unfixparam最好是每次執行時都是不一樣的;
解決方案:從數據表中隨機查詢第一條數據獲取入參數據,SELECT TOP 1 A1,A2,A3 FROM TABLE ORDER BY newid();
基於以上考慮,實現是采用函數式編程思想,定義四個函數
獲取股份查詢fixparam | 入參:接口號funcid,出參:格式化的fixparam |
1.按照格式構造該接口的固定入參; 2.從數據表中提取可作為unfixparam的參數,使用關鍵字set test variable設置為用例范圍內的變量; 其他:異構格式或者字典轉換; |
獲取股份查詢unfixparam | 入參:unfixparam的參數,出參:格式化的unfixparam. | 3.利用步驟2的unfixparam的參數,按照格式構造unfixparam; |
LBM CALL RET DATA | 入參:[server|funcid|fixparam|unfixparam],出參:接口查詢結果集; |
4.調用后台改接口查詢數據 |
QueryDataKsts | 入參:查詢型SQL語句,出參:SQL語句執行結果;
|
4.使用DatabaseLibrary的Connect To Database Using Custom Params關鍵字連接數據庫; 5.DatabaseLibrary的query關鍵字執行SQL查詢(查詢條件同當前用例接口入參); 6.DatabaseLibraryDisconnect From Database關鍵字斷開數據庫連接 |
股份查詢結果核對 | 入參:SQL語句執行結果,接口查詢結果集; | 7.將兩者數據逐一對比(或對比行數) 其他:異構系統格式或者字典轉換; |
五.截圖;