一飛開源,介紹創意、新奇、有趣、實用的免費開源應用、系統、軟體、硬體及技術,一個探索、發現、分享、使用與互動交流的開源技術社群平台。緻力于打造活力開源社群,共建開源新生态!
一、開源項目簡介
SQLAuto
☔ 智能零代碼測試 SQL、任意增删改查、任意 SQL 模闆變量、一鍵批量生成參數組合、快速構造大量測試資料。
二、開源協定
使用Apache-2.0開源協定
三、界面展示
如果 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 流水線。
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/