天天看點

「開源」智能零代碼自動化測試 SQL 語句執行結果的資料庫工具

作者:一飛開源
一飛開源,介紹創意、新奇、有趣、實用的免費開源應用、系統、軟體、硬體及技術,一個探索、發現、分享、使用與互動交流的開源技術社群平台。緻力于打造活力開源社群,共建開源新生态!

一、開源項目簡介

SQLAuto

☔ 智能零代碼測試 SQL、任意增删改查、任意 SQL 模闆變量、一鍵批量生成參數組合、快速構造大量測試資料。

二、開源協定

使用Apache-2.0開源協定

三、界面展示

「開源」智能零代碼自動化測試 SQL 語句執行結果的資料庫工具
「開源」智能零代碼自動化測試 SQL 語句執行結果的資料庫工具
「開源」智能零代碼自動化測試 SQL 語句執行結果的資料庫工具
「開源」智能零代碼自動化測試 SQL 語句執行結果的資料庫工具
「開源」智能零代碼自動化測試 SQL 語句執行結果的資料庫工具
「開源」智能零代碼自動化測試 SQL 語句執行結果的資料庫工具
「開源」智能零代碼自動化測試 SQL 語句執行結果的資料庫工具
「開源」智能零代碼自動化測試 SQL 語句執行結果的資料庫工具
「開源」智能零代碼自動化測試 SQL 語句執行結果的資料庫工具

如果 SQL 語句是 INSERT 插入語句,則可以快速生成 1000+ 條測試資料(表記錄),友善前後端聯調接口,可按規則生成。 例如

INSERT INTO sys.apijson_user(id, sex, name) VALUES(${id}, ${sex}, ${name})           

1000 次參數注入 Random Test:

id: new Date().getTime()  // 目前時間毫秒值
sex: RANDOM_IN(0, 1)  // 随機從 0, 1 中取值
name: 'Test ' + new Date().toLocaleTimeString()  // 通過代碼自定義           

四、功能概述

智能零代碼自動化測試 SQL 語句執行結果的資料庫工具,任意增删改查、任意 SQL 模闆變量、一鍵批量生成參數組合、快速構造大量測試資料,由騰訊工程師開發。

五、技術選型

快速上手

本項目前端工具是基于 APIAuto 改造的純靜态 SPA 網頁,下載下傳源碼解壓後:

可以用浏覽器打開 index.html,建議用 Chrome 或 Firefox (Safari、Edge、IE 等可能有相容問題),注意此方法不顯示 svg 圖示。

也可以用 IntelIJ Webstorm, IntelliJ IDEA, Eclipse 等 IDE 來打開。

也可以部署到伺服器并用 Nginx 或 Node 反向代理,或者 把源碼放到 SpringBoot 項目的 resources/static 目錄。

還可以直接通路官方網站 http://apijson.cn/sql

把左側 URI 輸入框内基位址改為你自己的資料庫的連接配接位址(例如 jdbc:mysql://localhost:3306/sys ),

然後在右上角 設定 下拉菜單内修改 資料庫類型Database、資料庫模式Schema。

右上角登入的預設管理者賬号為 13000082003 密碼為 123456,

右側上方中間 3 個标簽是預設的測試使用者賬号,點選登入/退出,左側 - 删除,右側 + 新增。

後端需要部署 APIJSON-Demo 5.2.5+ 的 APIJSONBoot-MultiDataSource

DemoSQLConfig 改下 getDBAccount, getDBUri 等傳回值,具體見

檢視 README.md 文檔。

背景 Headless 無 UI 模式回歸測試

Jenkins、藍盾 等 CI/CD 等流水線不支援帶 UI 測試,是以提供了這個模式,

通過調用 HTTP API 即可執行用例和檢視進度,友善內建到 CI/CD 流水線。

「開源」智能零代碼自動化測試 SQL 語句執行結果的資料庫工具
「開源」智能零代碼自動化測試 SQL 語句執行結果的資料庫工具

1.配置 Node 環境及 NPM 包管理工具

2.安裝相關依賴

nvm install 7
npm i koa           

3.使用背景 HTTP 服務

先啟動 HTTP 服務

cd js
node server.js           

如果運作報錯 missing package xxx,說明缺少相關依賴,參考步驟 2 來執行

npm i xxx           

然後再啟動 HTTP 服務。

啟動成功後會有提示,點選連結或者複制到浏覽器輸入框打開即可。

如果托管服務是用 APIJSONBoot-MultiDataSource 部署的,

連結 host 後可以加上 /sql,例如 http://localhost:3002/sql/test/start

通過這個接口來放寬前端執行時查詢測試用例、參數配置等清單的條數,一次可批量執行更多用例。

常見問題

本網頁工具基本每個按鈕/輸入框等 UI 元件都有注釋或懸浮文檔等形式的操作提示,

很多問題都不需要看文檔/視訊,可以直接通過把光标放上去等簡單嘗試來得到解答

1.無法通路接口

如果是 SQLAuto 本身調用的後端接口,則一般是 Chrome 90+ 對 CORS 請求禁止攜帶 Cookie

或 Chrome 80-89 強制 same-site Cookie 的政策導緻,打開以下連結檢視解決方法

檢視 README.md 文檔。

如果是其它接口,則一般是以上原因或者被接口不支援 CORS 跨域,可以改為支援,

或者在 SQLAuto 右上角設定開啟托管伺服器代理,通過後端代理通路接口,

注意預設是官網的托管伺服器 http://apijson.cn:8080 ,僅支援公網,

如果是貴公司内網,請按以上 部署方法 文檔來部署 APIJSON 後端到内網,并修改托管伺服器位址。

2.沒有生成文檔

右上角設定項與資料庫實際配置不一緻 等

檢視 README.md 文檔。

3.托管伺服器通路不了

不能代理接口、不能展示文檔、不能對斷言結果糾錯 等

檢視 README.md 文檔。

4.apijson.cn 通路不了

檢視 README.md 文檔。

更多常見問題

檢視 README.md 文檔。

感謝開源

  • jsonon
  • editor.md
  • vue.js

六、源碼位址

通路一飛開源:https://code.exmay.com/

繼續閱讀