Magnitude:一個(gè)基于AI的端到端Web測(cè)試平臺(tái)
Magnitude是什么?
Magnitude是一個(gè)基于ai的端到端Web測(cè)試平臺(tái),可以通過自然語(yǔ)言和視覺智能技術(shù)簡(jiǎn)化Web應(yīng)用的測(cè)試流程。它提供了一個(gè)SDK和一個(gè)UI儀表板,支持托管服務(wù)和自托管兩種模式,能夠幫助開發(fā)者和測(cè)試人員快速編寫、執(zhí)行和管理測(cè)試用例。
Magnitude功能特征
自然語(yǔ)言測(cè)試編寫
使用自然語(yǔ)言描述測(cè)試用例,無需編寫復(fù)雜的代碼或依賴DOM元素。
示例: TypeScript 復(fù)制 test('can log in and create company') .step('Log in to the app') .data({ username: 'test-user@magnitude.run' }) .secureData({ password: 'test' }) .check('Can see dashboard') .step('Create a new company') .data('Make up the first 2 values and use defaults for the rest') .check('Company added successfully');
視覺驅(qū)動(dòng)的測(cè)試執(zhí)行
內(nèi)置視覺AI代理,能夠識(shí)別Web界面的變化并自動(dòng)調(diào)整測(cè)試步驟,確保測(cè)試用例的穩(wěn)定性和可靠性。
測(cè)試用例對(duì)界面變化具有高度適應(yīng)性,無需頻繁更新。
托管與自托管支持
托管服務(wù):提供托管的瀏覽器基礎(chǔ)設(shè)施和LLM(大型語(yǔ)言模型)服務(wù),用戶無需自行搭建環(huán)境。
自托管:完全開源,支持自托管模式,用戶可以使用自己的基礎(chǔ)設(shè)施和LLM提供商。
測(cè)試管理與可視化
提供UI儀表板,用于管理測(cè)試用例、查看測(cè)試運(yùn)行歷史和結(jié)果。
支持本地運(yùn)行和CI/CD管道集成,方便自動(dòng)化測(cè)試。
智能推理與動(dòng)態(tài)調(diào)整
內(nèi)置推理代理,能夠根據(jù)測(cè)試執(zhí)行中的問題動(dòng)態(tài)調(diào)整測(cè)試策略。
測(cè)試計(jì)劃保存后可以重復(fù)執(zhí)行,確保每次測(cè)試的一致性。
應(yīng)用場(chǎng)景
Web應(yīng)用開發(fā):在開發(fā)過程中快速編寫和執(zhí)行測(cè)試用例,確保功能的正確性和穩(wěn)定性。
持續(xù)集成/持續(xù)部署(CI/CD):集成到CI/CD管道中,自動(dòng)化運(yùn)行測(cè)試,提高開發(fā)效率。
界面變更測(cè)試:由于其視覺驅(qū)動(dòng)的特性,Magnitude能夠有效應(yīng)對(duì)界面變化,減少測(cè)試維護(hù)成本。
團(tuán)隊(duì)協(xié)作:通過自然語(yǔ)言編寫測(cè)試用例,降低測(cè)試人員的技術(shù)門檻,便于團(tuán)隊(duì)協(xié)作和知識(shí)共享。
使用方法
1. 安裝Magnitude SDK
在Node.js項(xiàng)目中安裝Magnitude測(cè)試運(yùn)行器:
npm install --save-dev magnitude-test
2. 初始化Magnitude
運(yùn)行以下命令初始化Magnitude,生成基本的測(cè)試目錄和配置文件:
npx magnitude init
3. 配置Magnitude
如果使用托管服務(wù),需要獲取Magnitude API密鑰并設(shè)置環(huán)境變量:
export MAGNITUDE_API_KEY=<your-api-key-here>
如果使用自托管模式,需要自行配置LLM和瀏覽器基礎(chǔ)設(shè)施。
4. 編寫測(cè)試用例
使用自然語(yǔ)言編寫測(cè)試用例,示例如下:
import { test } from 'magnitude-test'; test('can log in and create company') .step('Log in to the app') .data({ username: 'test-user@magnitude.run' }) .secureData({ password: 'test' }) .check('Can see dashboard') .step('Create a new company') .data('Make up the first 2 values and use defaults for the rest') .check('Company added successfully');
5. 運(yùn)行測(cè)試
使用以下命令運(yùn)行Magnitude測(cè)試:
npx magnitude run
測(cè)試結(jié)果可以在Magnitude儀表板中查看。
GitHub代碼庫(kù):https://github.com/magnitudedev/magnitude
Magnitude官網(wǎng):https://magnitude.run/