不用寫腳本!Browser-Use 實(shí)操:AI 直接驅(qū)動(dòng)瀏覽器自動(dòng)化測(cè)試

作為測(cè)試工程師,你是否也被這些問題困擾:寫Web自動(dòng)化腳本耗時(shí)費(fèi)力,元素定位反復(fù)調(diào)試仍報(bào)錯(cuò);非技術(shù)測(cè)試同學(xué)想做自動(dòng)化測(cè)試,卻被代碼門檻攔??;傳統(tǒng)自動(dòng)化工具易被反爬檢測(cè),回歸測(cè)試反復(fù)卡殼;多場(chǎng)景測(cè)試需切換工具,流程繁瑣且效率低下……

今天給大家推薦一款GitHub近85k+ star的AI神器——browser-use,它徹底打破了傳統(tǒng)瀏覽器自動(dòng)化的壁壘,無需編寫一行代碼,僅用自然語言就能操控瀏覽器完成各類測(cè)試任務(wù),讓測(cè)試自動(dòng)化變得人人可上手,大幅釋放測(cè)試人員的時(shí)間和精力,聚焦核心的問題定位與分析。

[圖片上傳失敗...(image-b692a7-1776647656773)]

本文將從測(cè)試工程師的視角,全面拆解browser-use的核心價(jià)值、能解決的測(cè)試痛點(diǎn)、安裝方式、快速實(shí)操用法及項(xiàng)目資源,全程貼合測(cè)試場(chǎng)景,拿來就能落地使用!

??項(xiàng)目地址和學(xué)習(xí)資源放在文章末尾,文章較長(zhǎng),建議先點(diǎn)贊收藏,慢慢看

一、Browser-Use是什么?

Browser-Use是一個(gè)開源的Python庫(kù),專門用于AI驅(qū)動(dòng)的瀏覽器自動(dòng)化。它讓AI Agent能夠像人類用戶一樣"看到"網(wǎng)頁(yè)、理解內(nèi)容、做出決策并執(zhí)行操作。

與傳統(tǒng)自動(dòng)化工具(Selenium、Playwright)不同,browser-use不是基于固定腳本,而是基于大語言模型(LLM)的視覺理解和推理能力,實(shí)現(xiàn)真正的智能化測(cè)試。

簡(jiǎn)單來說,傳統(tǒng)Web自動(dòng)化工具(如Selenium、Playwright)需要你手動(dòng)編寫代碼、定位元素、處理異步等待,而browser-use只需你用自然語言下達(dá)測(cè)試指令(比如“測(cè)試登錄功能,驗(yàn)證賬號(hào)密碼錯(cuò)誤提示”),AI就會(huì)自動(dòng)拆解任務(wù)、生成執(zhí)行計(jì)劃,操控瀏覽器完成整個(gè)測(cè)試流程,全程可視化、可追溯。

[圖片上傳失敗...(image-fd5f8d-1776647656773)]

截至目前,該項(xiàng)目在GitHub已收獲84.5k+star,支持ChatBrowserUse、OpenAI、Google、Ollama等主流LLM,官方優(yōu)化的ChatBrowserUse模型讓任務(wù)執(zhí)行效率比其他LLM高3-5倍,是當(dāng)前測(cè)試領(lǐng)域AI自動(dòng)化的熱門工具。

二、browser-use能解決測(cè)試領(lǐng)域哪些核心問題?

測(cè)試工作中,80%的時(shí)間都消耗在機(jī)械、重復(fù)的操作上,而browser-use精準(zhǔn)命中這些痛點(diǎn),具體解決的問題如下:

  • 解決“代碼門檻高”的問題:無需掌握Python、JavaScript,無需編寫腳本、無需定位元素,非技術(shù)測(cè)試同學(xué)也能輕松上手自動(dòng)化測(cè)試,徹底打破“自動(dòng)化測(cè)試是開發(fā)專屬”的誤區(qū),實(shí)現(xiàn)“人人皆可自動(dòng)化”;
  • 解決“反爬檢測(cè)難”的問題:傳統(tǒng)自動(dòng)化工具易被網(wǎng)站的反爬機(jī)制識(shí)別,導(dǎo)致測(cè)試卡殼,browser-use云端模式提供Stealth瀏覽器,具備專業(yè)的指紋偽裝和代理管理,能有效規(guī)避CAPTCHA和檢測(cè),適配各類需要登錄、有反爬限制的測(cè)試場(chǎng)景(如電商、金融類Web應(yīng)用);
  • 解決“測(cè)試流程繁瑣”的問題:無需手動(dòng)切換工具,從用例執(zhí)行、截圖驗(yàn)證、異常捕獲到結(jié)果匯總,browser-use一站式完成,支持多瀏覽器、多場(chǎng)景并行測(cè)試,大幅減少人工干預(yù);
  • 解決“腳本維護(hù)成本高”的問題:傳統(tǒng)自動(dòng)化腳本需隨頁(yè)面迭代反復(fù)修改,而browser-use由AI自動(dòng)識(shí)別頁(yè)面元素、適配頁(yè)面變化,無需手動(dòng)維護(hù)腳本,尤其適合需求迭代頻繁的項(xiàng)目;
  • 解決“生產(chǎn)部署復(fù)雜”的問題:提供沙箱部署方案,解決多瀏覽器實(shí)例管理、內(nèi)存占用、并行執(zhí)行的難題,讓生產(chǎn)環(huán)境的自動(dòng)化任務(wù)更穩(wěn)定、易維護(hù),同時(shí)支持CI/CD集成,適配自動(dòng)化測(cè)試落地需求;
  • 解決“會(huì)話管理難”的問題:支持復(fù)用真實(shí)瀏覽器Profile,保留登錄會(huì)話,輕松解決自動(dòng)化測(cè)試中的身份驗(yàn)證難題,無需反復(fù)編寫登錄腳本。

三、browser-use對(duì)測(cè)試工程師的價(jià)值

對(duì)于測(cè)試工程師而言,browser-use其核心價(jià)值可以體現(xiàn)在3個(gè)維度,既提升效率,又保證測(cè)試質(zhì)量:

1. 降低自動(dòng)化門檻,提升測(cè)試覆蓋率

無論是新手測(cè)試還是資深測(cè)試,都能快速上手,無需花費(fèi)大量時(shí)間學(xué)習(xí)腳本編寫。以前需要1天編寫的自動(dòng)化腳本,現(xiàn)在用自然語言1分鐘就能下達(dá)指令,讓測(cè)試人員有更多時(shí)間設(shè)計(jì)測(cè)試場(chǎng)景、分析測(cè)試結(jié)果,尤其能覆蓋那些因“編寫腳本繁瑣”而被忽略的邊緣場(chǎng)景,提升測(cè)試覆蓋率。

2. 節(jié)省時(shí)間成本,告別無效內(nèi)耗

重復(fù)的回歸測(cè)試、冒煙測(cè)試、UI交互測(cè)試,都可以交給browser-use自動(dòng)執(zhí)行,測(cè)試人員無需全程監(jiān)控,只需等待測(cè)試結(jié)果反饋。同時(shí),AI自動(dòng)處理異步等待、彈窗攔截、元素定位等常見問題,避免反復(fù)調(diào)試腳本,大幅減少無效內(nèi)耗,讓測(cè)試人員聚焦核心的Bug分析、測(cè)試優(yōu)化工作。

3. 適配多場(chǎng)景測(cè)試,提升團(tuán)隊(duì)協(xié)同效率

browser-use適配Web UI測(cè)試、冒煙測(cè)試、回歸測(cè)試、兼容性測(cè)試、數(shù)據(jù)抓取類測(cè)試等多種場(chǎng)景,支持Chrome、Firefox、Safari等主流瀏覽器,本地/云端雙模式可靈活切換——本地模式適合快速調(diào)試,云端模式適合生產(chǎn)級(jí)任務(wù)。同時(shí),測(cè)試結(jié)果可快速共享,非技術(shù)人員也能參與測(cè)試,提升團(tuán)隊(duì)協(xié)同效率。

4. 輕量化部署,適配各類測(cè)試團(tuán)隊(duì)

無需搭建復(fù)雜的測(cè)試框架,輕量化部署,支持Python3.11+版本,與現(xiàn)有測(cè)試工具(如Pytest、Agent-Toolkit)可無縫銜接,無論是小型團(tuán)隊(duì)的快速測(cè)試,還是大型團(tuán)隊(duì)的規(guī)?;詣?dòng)化落地,都能完美適配。

四、實(shí)操落地:browser-use安裝方式(超簡(jiǎn)單,3步搞定)

browser-use支持Windows、Mac、Linux全系統(tǒng),安裝過程無需復(fù)雜配置,全程終端執(zhí)行命令,新手也能輕松完成,具體步驟如下(優(yōu)先推薦uv包管理工具,更高效):

前置條件

確保本地安裝Python3.11+版本(低于3.11會(huì)導(dǎo)致依賴安裝失敗),可通過python --version查看版本。

安裝步驟

  1. 安裝uv包管理工具(用于快速管理依賴,替代pip,更高效):

    pip install uv
    
  1. 初始化環(huán)境并安裝browser-use:

    uv init
    uv add browser-use
    uv sync
    
  1. 安裝瀏覽器(自動(dòng)適配本地系統(tǒng),無需手動(dòng)下載):

    uvx browser-use install
    
  1. (可選)配置云端API密鑰(用于云端Stealth瀏覽器,規(guī)避反爬,新用戶注冊(cè)可獲$10免費(fèi)額度): 創(chuàng)建.env文件,添加內(nèi)容:

    BROWSER_USE_API_KEY=你的云端API密鑰
    
  1. API密鑰可在browser-use官網(wǎng)注冊(cè)獲取: https://cloud.browser-use.com/

驗(yàn)證安裝

終端執(zhí)行browser-use --version,若顯示版本號(hào),說明安裝成功;若提示“命令不存在”,重啟終端即可。

五、快速用法:3分鐘上手測(cè)試實(shí)操

browser-use支持兩種核心用法:CLI命令快速執(zhí)行(適合臨時(shí)測(cè)試、調(diào)試)和Python代碼調(diào)用(適合集成到測(cè)試流程、批量執(zhí)行)。

用法1:CLI命令快速執(zhí)行(最便捷,適合臨時(shí)測(cè)試)

直接在終端輸入自然語言指令,無需編寫代碼,browser-use會(huì)自動(dòng)啟動(dòng)瀏覽器執(zhí)行任務(wù),常用測(cè)試場(chǎng)景示例:

  • 測(cè)試登錄功能: browser-use run "訪問https://xxx.com/login,輸入賬號(hào)test123、密碼123456,點(diǎn)擊登錄按鈕,驗(yàn)證是否登錄成功"
  • 截圖驗(yàn)證(回歸測(cè)試常用): browser-use screenshot "訪問https://xxx.com/home,截取首頁(yè)完整截圖,保存到test-screenshot文件夾"
  • 驗(yàn)證表單提交: browser-use run "訪問https://xxx.com/register,填寫用戶名test、郵箱test@163.com、密碼123456,點(diǎn)擊提交,驗(yàn)證提交成功提示是否顯示"
  • 兼容性測(cè)試(多瀏覽器): browser-use run "用Chrome、Firefox兩種瀏覽器,訪問https://xxx.com,驗(yàn)證頁(yè)面布局是否正常"

執(zhí)行后,瀏覽器會(huì)自動(dòng)啟動(dòng)(默認(rèn)可見模式,方便觀察執(zhí)行過程),執(zhí)行完成后,終端會(huì)輸出測(cè)試結(jié)果,截圖、日志會(huì)自動(dòng)保存到指定目錄。

用法2:Python代碼調(diào)用(適合集成到測(cè)試流程)

可將browser-use集成到現(xiàn)有測(cè)試腳本中,結(jié)合Pytest等工具實(shí)現(xiàn)批量測(cè)試、自動(dòng)化報(bào)告生成,以下是測(cè)試登錄功能的完整示例(帶詳細(xì)注釋):

from browser_use import Agent, Browser, ChatBrowserUse
import asyncio
from dotenv import load_dotenv
import os

# 加載環(huán)境變量中的云端API密鑰(若使用本地模式,可省略)
load_dotenv()

async def test_login_function():
    # 初始化瀏覽器實(shí)例(headless=False顯示瀏覽器,便于調(diào)試;use_cloud=True啟用云端反爬模式)
    browser = Browser(
        headless=False,
        # use_cloud=True,  # 需配置API密鑰,適合反爬場(chǎng)景
    )
    
    # 初始化官方優(yōu)化的ChatBrowserUse模型(執(zhí)行效率更高)
    llm = ChatBrowserUse(api_key=os.getenv("BROWSER_USE_API_KEY"))
    
    # 創(chuàng)建AI智能體,傳入測(cè)試任務(wù)指令
    agent = Agent(
        task="訪問https://xxx.com/login,輸入賬號(hào)test123、密碼123456,點(diǎn)擊登錄按鈕,驗(yàn)證是否成功跳轉(zhuǎn)到首頁(yè),若失敗則返回報(bào)錯(cuò)信息",
        llm=llm,
        browser=browser,
        verbose=True,  # 打印執(zhí)行日志,便于調(diào)試
    )
    
    # 執(zhí)行測(cè)試任務(wù)并獲取執(zhí)行歷史
    task_history = await agent.run()
    
    # 提取并打印測(cè)試結(jié)果
    print("\n?? 測(cè)試執(zhí)行結(jié)果:")
    for message in task_history:
        if message["role"] == "assistant":
            print(message["content"])

# 執(zhí)行測(cè)試函數(shù)
asyncio.run(test_login_function())

運(yùn)行代碼后,browser-use會(huì)自動(dòng)完成登錄測(cè)試,終端輸出測(cè)試結(jié)果,若登錄失敗,會(huì)詳細(xì)返回失敗原因(如元素未找到、密碼錯(cuò)誤等),無需手動(dòng)排查。

除此之外,browser-use還可以用來做視覺回歸測(cè)試和復(fù)雜業(yè)務(wù)流程驗(yàn)證。

場(chǎng)景1:視覺回歸測(cè)試

async def visual_regression_test():
    agent = Agent(
        task="""
        訪問首頁(yè) https://example.com
        截圖保存為 baseline.png
        等待頁(yè)面完全渲染(包括懶加載圖片)
        驗(yàn)證頁(yè)面關(guān)鍵元素(Logo、導(dǎo)航欄、主橫幅)位置正確
        """,
        llm=ChatOpenAI(model="gpt-4o"),
        use_vision=True
    )
    result = await agent.run()
    
    # AI自動(dòng)對(duì)比截圖,檢測(cè)視覺差異
    assert "頁(yè)面渲染正常" in result.final_result()

場(chǎng)景2:復(fù)雜業(yè)務(wù)流程驗(yàn)證

async def e2e_purchase_flow():
    agent = Agent(
        task="""
        測(cè)試完整購(gòu)買流程:
        1. 訪問電商網(wǎng)站,搜索"手機(jī)"
        2. 選擇第一個(gè)商品,進(jìn)入詳情頁(yè)
        3. 選擇顏色"黑色",容量"256GB"
        4. 點(diǎn)擊"加入購(gòu)物車"
        5. 進(jìn)入購(gòu)物車,確認(rèn)商品信息正確
        6. 點(diǎn)擊"結(jié)算",填寫收貨地址
        7. 選擇支付方式"支付寶"
        8. 確認(rèn)訂單,驗(yàn)證跳轉(zhuǎn)到支付成功頁(yè)
        9. 檢查訂單狀態(tài)顯示"待發(fā)貨"
        
        任何步驟失敗都報(bào)告具體錯(cuò)誤
        """,
        llm=ChatOpenAI(model="gpt-4o"),
        use_vision=True
    )
    result = await agent.run()
    print(result.final_result())

進(jìn)階用法(測(cè)試常用)

  • 批量執(zhí)行測(cè)試用例:將多個(gè)測(cè)試指令寫入txt文件,通過browser-use run --file test_cases.txt批量執(zhí)行;
  • 異常捕獲與重試:配置重試次數(shù),當(dāng)測(cè)試失?。ㄈ缇W(wǎng)絡(luò)波動(dòng)、元素加載超時(shí))時(shí),自動(dòng)重試,避免偶發(fā)問題導(dǎo)致測(cè)試失?。?/li>
  • 集成到CI/CD:開啟Headless模式(headless=True),可直接集成到Jenkins、GitLab CI等平臺(tái),實(shí)現(xiàn)測(cè)試用例自動(dòng)觸發(fā)、自動(dòng)執(zhí)行、自動(dòng)生成報(bào)告。
# 無頭模式,適合CI環(huán)境
ci_config = BrowserConfig(
    headless=True,
    keep_alive=False,
    save_recording=True  # 失敗時(shí)保存錄像用于排查
)

# 結(jié)合pytest使用
import pytest

@pytest.mark.asyncio
async def test_critical_path():
    agent = Agent(task="...", browser_config=ci_config)
    result = await agent.run()
    assert result.success

六、項(xiàng)目資源

為了方便大家快速上手,整理了browser-use的核心資源,包含官方倉(cāng)庫(kù)、文檔教程,解決下載慢、不會(huì)用的問題:

常見問題排查:若安裝失敗,可參考GitHub倉(cāng)庫(kù)的Issues板塊,大部分問題都有解決方案;若需自定義擴(kuò)展,可查看官方擴(kuò)展文檔,適配個(gè)性化測(cè)試需求。

七、測(cè)試場(chǎng)景延伸:browser-use與其他工具協(xié)同

測(cè)試的核心是“高效發(fā)現(xiàn)問題、精準(zhǔn)解決問題”,而browser-use的出現(xiàn),徹底改變了傳統(tǒng)Web自動(dòng)化的模式——無需代碼、自然語言驅(qū)動(dòng)、反爬能力強(qiáng)、部署簡(jiǎn)單,讓測(cè)試人員從繁瑣的腳本編寫中解放出來,把時(shí)間和精力放在真正有價(jià)值的測(cè)試邏輯上。

browser-use除了可以單獨(dú)使用外,還可與PytestAgent-Toolkit等工具無縫協(xié)同,形成“測(cè)試用例設(shè)計(jì)→自動(dòng)化執(zhí)行→結(jié)果診斷→報(bào)告生成”的完整閉環(huán):

  • 與PyPICT協(xié)同:用PyPICT生成精簡(jiǎn)測(cè)試用例,通過browser-use自動(dòng)執(zhí)行,實(shí)現(xiàn)“精準(zhǔn)測(cè)試+高效執(zhí)行”;
  • 與Pytest協(xié)同:將browser-use的測(cè)試代碼集成到Pytest用例中,利用Pytest的報(bào)告生成、失敗重跑功能,優(yōu)化測(cè)試流程;
  • 與Agent-Toolkit協(xié)同:將browser-use封裝為智能工具,通過Agent-Toolkit實(shí)現(xiàn)多工具協(xié)同調(diào)度,完成復(fù)雜項(xiàng)目的全流程自動(dòng)化測(cè)試。

無論是新手測(cè)試想快速入門自動(dòng)化,還是資深測(cè)試想優(yōu)化測(cè)試流程、提升效率,browser-use都值得一試。趕緊按照文中的安裝步驟動(dòng)手操作,告別無效內(nèi)耗,做更高效的測(cè)試工程師~

??更多、更詳細(xì)、全面的AI測(cè)試、AI編程、AI技能進(jìn)階系統(tǒng)化實(shí)戰(zhàn)教程,歡迎加入:「狂師. AI進(jìn)化社」一起探討學(xué)習(xí)!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容