<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      驚!Midscene.js:一款A(yù)I 驅(qū)動(dòng)的 UI 自動(dòng)化測(cè)試?yán)鳎“滓材苊肷鲜郑?/span>

      在軟件開(kāi)發(fā)測(cè)試領(lǐng)域,UI自動(dòng)化測(cè)試一直是我們的“心頭大患”。傳統(tǒng)測(cè)試工具依賴繁瑣的元素定位(如CSS選擇器、XPath),一旦頁(yè)面結(jié)構(gòu)變化,腳本就可能失效;復(fù)雜交互場(chǎng)景(如動(dòng)態(tài)加載、多步驟驗(yàn)證)需要編寫(xiě)大量代碼,維護(hù)成本高昂;而數(shù)據(jù)抓取、性能監(jiān)控等場(chǎng)景更是讓測(cè)試人員苦不堪言。

      然而,隨著AI技術(shù)的爆發(fā),一款基于大語(yǔ)言模型(LLM)的AI驅(qū)動(dòng)UI自動(dòng)化測(cè)試工具: Midscene.js 橫空出世,有望打破這一局面。

      它以“自然語(yǔ)言交互”為核心,讓開(kāi)發(fā)者無(wú)需編寫(xiě)代碼,只需用中文描述測(cè)試步驟,即可實(shí)現(xiàn)自動(dòng)化操作,堪稱“小白秒變測(cè)試專家”的終極神器!

      一、Midscene.js是什么?為什么它能火?

      Midscene.js是字節(jié)跳動(dòng) Web Infra 團(tuán)隊(duì)全新開(kāi)源的一款 UI 自動(dòng)化工具,它最大的亮點(diǎn)在于引入了多模態(tài) AI 推理能力。

      Midscene.js 的核心開(kāi)發(fā)語(yǔ)言為 ??TypeScript??,并輔以 HTML、MDX、Less 等前端技術(shù)構(gòu)建其功能框架。

      1、核心亮點(diǎn)包括

      • 自然語(yǔ)言交互:以往編寫(xiě)自動(dòng)化測(cè)試腳本,需要掌握專業(yè)的編程知識(shí),這對(duì)很多測(cè)試人員來(lái)說(shuō)是個(gè)不小的挑戰(zhàn)。但 Midscene.js你只需用自然語(yǔ)言描述自動(dòng)化步驟,它就能理解你的指令,并在網(wǎng)頁(yè)上精準(zhǔn)執(zhí)行相應(yīng)操作。

      • 強(qiáng)大的數(shù)據(jù)提取能力:能夠深度理解網(wǎng)頁(yè)結(jié)構(gòu),并根據(jù)提示生成所需數(shù)據(jù)結(jié)構(gòu),在進(jìn)行數(shù)據(jù)抓取或測(cè)試時(shí),從網(wǎng)頁(yè)中提取特定數(shù)據(jù)是常見(jiàn)需求。而Midscene.js 提供了強(qiáng)大的數(shù)據(jù)提取功能,你可以描述想要的數(shù)據(jù)結(jié)構(gòu),它會(huì)以 JSON 格式將數(shù)據(jù)返回給你。

      • 零代碼測(cè)試:無(wú)需編寫(xiě)選擇器,告別“錨點(diǎn)依賴癥”;

      • 可視化報(bào)告:提供動(dòng)畫(huà)回放、步驟詳情,支持在報(bào)告中直接調(diào)試,方便用戶調(diào)試和優(yōu)化測(cè)試流程。

      • 支持多種模型: 內(nèi)置對(duì)公共多模態(tài)大語(yǔ)言模型(如 GPT-4)和開(kāi)源模型(如 UI-TARS)的支持。

      • 開(kāi)源+數(shù)據(jù)安全: MIT協(xié)議,支持私有化部署,數(shù)據(jù)不出本地。

      2、為何它能火

      • 降本增效: 傳統(tǒng)測(cè)試需要3天完成的腳本,Midscene.js僅需30分鐘;
      • 靈活應(yīng)對(duì)變化: 頁(yè)面改版?只需修改自然語(yǔ)言描述,無(wú)需重構(gòu)腳本;
      • 跨工具兼容: 支持Puppeteer、Playwright、YAML腳本,無(wú)縫集成現(xiàn)有測(cè)試體系。

      二、安裝方式

      2.1 Chrome 擴(kuò)展安裝

      如果你想快速體驗(yàn) Midscene.js 的核心功能,安裝 Chrome 擴(kuò)展是個(gè)不錯(cuò)的選擇。打開(kāi) Chrome 瀏覽器,進(jìn)入 Chrome 網(wǎng)上應(yīng)用店,搜索 “Midscene.js”,找到對(duì)應(yīng)的擴(kuò)展程序后,點(diǎn)擊 “添加到 Chrome” 按鈕,按照提示完成安裝。

      2.2 Npm安裝

      如果你需要更深入地使用 Midscene.js,進(jìn)行復(fù)雜的自動(dòng)化測(cè)試或集成到現(xiàn)有項(xiàng)目中,可以通過(guò)安裝SDK 來(lái)實(shí)現(xiàn)。以 Node.js 項(xiàng)目為例,首先確保你已經(jīng)安裝了 Node.js 環(huán)境,然后打開(kāi)命令行工具,進(jìn)入你的項(xiàng)目目錄,執(zhí)行以下命令安裝 Midscene.js 的 SDK:

      npm install midscene.js
      

      2.3 源碼安裝

      如果你想深入地了解學(xué)習(xí)Midscene.js源碼或?qū)λM(jìn)行二開(kāi)改造,建議通過(guò)源碼來(lái)安裝。

      # 克隆項(xiàng)目
      git clone https://github.com/web-infra-dev/midscene.git
      cd midscene
      
      # 安裝依賴
      npm install
      
      # 啟動(dòng)本地服務(wù)(可選)
      npm run dev
      

      三、使用方法及示例

      3.1 Chrom插件使用方式

      以Chrome 擴(kuò)展插件安裝為例,安裝完成后,只需訪問(wèn)Midscene.js插件打開(kāi)即可。

      通過(guò)使用 Midscene.js Chrome 插件,你可以快速在任意網(wǎng)頁(yè)上體驗(yàn) Midscene 的主要功能,而無(wú)需編寫(xiě)任何代碼

      啟動(dòng)擴(kuò)展,通過(guò)粘貼 Key=Value 格式配置插件環(huán)境:

      OPENAI_API_KEY="sk-replace-by-your-own"
      

      各配置選項(xiàng):

      溫馨提醒:

      • midscene 默認(rèn)使用 GPT-4o 為默認(rèn)的推理模型,成本比較高。Midscene 需要將截圖和 DOM 樹(shù)一起發(fā)送給模型,這會(huì)導(dǎo)致 token 消耗較高。
      • 當(dāng)然你也可以選擇,千問(wèn) Qwen-2.5-VL 模型,同樣支持視覺(jué)定位,不需要發(fā)送 DOM 樹(shù)給模型。和 gpt-4o 相比,它可以節(jié)省 30% 到 50% 的 token 數(shù)量。不過(guò)在某些情況下,Qwen-2.5-VL 的斷言能力可能不如 gpt-4o。

      上述配置完成后,你可以立即開(kāi)始使用 Midscene。
      它一共有三個(gè)關(guān)鍵操作Tab:

      • Action: 與網(wǎng)頁(yè)進(jìn)行交互,如 "在搜索框中輸入 Midscene" 或 "點(diǎn)擊登錄按鈕"
      • Query: 從界面中提取 JSON 數(shù)據(jù),如 "提取頁(yè)面中的用戶 ID,返回 { id: string }"
      • Assert: 執(zhí)行斷言,如 "頁(yè)面標(biāo)題是 Midscene"這里我是了下在搜索引擎中搜索hengshuai's blog,然后讓其點(diǎn)擊第一條結(jié)果:

      上圖中可以看到全程沒(méi)有任何具體的代碼,僅僅通過(guò)自然語(yǔ)言就完成了一系列行為

      3.2 YAML使用方式

      Midscene 還提供了一種基于 .yaml 文件的自動(dòng)化測(cè)試方法,這有助于你專注于腳本本身,任何團(tuán)隊(duì)內(nèi)的成員都可以編寫(xiě)自動(dòng)化腳本,例如創(chuàng)建test.yml。

      target:
        url: https://www.ebay.com
      
      tasks:
        - name: 搜索耳機(jī)
          flow:
            - ai: 在搜索框輸入 "耳機(jī)" 并敲回車
            - sleep: 2000
            - aiQuery: '{itemTitle: string, price: Number}[], 提取前5個(gè)商品標(biāo)題和價(jià)格'
            - aiAssert: "搜索結(jié)果頁(yè)面包含‘耳機(jī)’關(guān)鍵詞"
      

      安裝@midscene/cli

      npm install @midscene/cli -g
      

      執(zhí)行腳本:

      npx midscene ./test.yaml
      

      3.3 使用Puppeteer集成

      midscene.js 也提供了一種基于 Puppeteer 的集成方式,允許你使用 Puppeteer 的 API 來(lái)編寫(xiě)自動(dòng)化測(cè)試腳本,并使用 Midscene 的 API 來(lái)執(zhí)行自動(dòng)化測(cè)試

      const puppeteer = require('puppeteer');
      const midscene = require('@midscene/web');
      
      (async () => {
        const browser = await puppeteer.launch();
        const page = await browser.newPage();
        await page.goto('https://example.com');
      
        // 輸入用戶名和密碼
        await midscene.execute(page, '輸入用戶名 "testuser"');
        await midscene.execute(page, '輸入密碼 "123456"');
        await midscene.execute(page, '點(diǎn)擊登錄按鈕');
      
        // 提取數(shù)據(jù)
        const data = await midscene.query(page, '提取用戶信息為 JSON 格式');
        console.log(data);
      
        await browser.close();
      })();
      

      安裝依賴:

      npm install @midscene/web puppeteer tsx --save-dev
      

      運(yùn)行腳本:

      npx tsx ./test.ts
      

      不管采用哪種方式,同樣都是需要配置必要的環(huán)境變量:

      # 更新為你自己的 Key
      export OPENAI_API_KEY="sk-abcdefghijklmnopqrstuvwxyz"
      # 其他..
      

      模型配置參考文檔:https://midscenejs.com/model-provider.html

      4、最后

      Midscene.js 作為一款 AI 驅(qū)動(dòng)的 UI 自動(dòng)化測(cè)試?yán)鳎瑧{借其獨(dú)特的自然語(yǔ)言交互、強(qiáng)大的數(shù)據(jù)提取和斷言功能、可視化調(diào)試以及豐富的集成方式,為 UI 自動(dòng)化測(cè)試帶來(lái)了全新的體驗(yàn)。

      它不僅讓測(cè)試工作變得更加高效、便捷,還降低了測(cè)試人員的技術(shù)門(mén)檻,讓更多人能夠參與到自動(dòng)化測(cè)試中來(lái)。無(wú)論是對(duì)于追求高效的開(kāi)發(fā)團(tuán)隊(duì),還是想要提升測(cè)試技能的個(gè)人,Midscene.js 都值得一試。如果你在使用過(guò)程中有任何問(wèn)題或心得,歡迎在評(píng)論區(qū)留言分享。

      文章中涉及到的工具更詳細(xì)使用可參考官網(wǎng):

      ?? 項(xiàng)目官網(wǎng):https://midscenejs.com

      ?? GitHub倉(cāng)庫(kù):https://github.com/web-infra-dev/midscene

      ?? Puppeteer: https://pptr.dev/

      posted @ 2025-04-16 09:19  狂師  閱讀(574)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 午夜AAAAA级岛国福利在线| 灌阳县| 起碰免费公开97在线视频| 国产中文字幕在线一区| 日韩一区二区三在线观看| 精品国产精品中文字幕| 在厨房拨开内裤进入在线视频| 中文字幕一区有码视三区| 熟妇人妻久久春色视频网| 成人免费无遮挡无码黄漫视频| 国产精品亚洲二区在线播放| 色老99久久九九爱精品| 国产亚洲精品国产福APP| 18禁成人免费无码网站| 中文字幕在线日韩| 无码中文av波多野结衣一区| 日本欧美一区二区三区在线播放| 毛多水多高潮高清视频| 亚洲中文字幕无码专区| 亚洲小说乱欧美另类| 国产精品久久久久无码网站| 亚洲国产精品一二三区| 嵩明县| 久久国产精品第一区二区| 国产一区二区三区内射高清| 日本国产精品第一页久久| 激烈的性高湖波多野结衣| 国产一区二区三区不卡自拍| 欧美不卡无线在线一二三区观| 国产不卡在线一区二区| 人妻少妇精品视频二区| 日本熟妇色xxxxx日本免费看| 97精品人妻系列无码人妻| 亚洲欧美日韩人成在线播放| 日韩精品自拍偷拍一区二区| 国产精品入口中文字幕| 内地自拍三级在线观看| 久久国产精99精产国高潮| 日本一码二码三码的区分| 亚洲无码精品视频| 日韩人妻无码一区二区三区俄罗斯|