01 browser use简介

Browser Use 是一个基于 Python 开发的开源库,它将先进的 AI 技术与浏览器自动化功能深度融合。通过集成Playwright等浏览器自动化工具,Browser Use允许开发者使用任何支持LangChain的大型语言模型(如GPT-4、Claude等)来自动化浏览网页、提取信息、模拟用户操作等。

  • playwright

Playwright 是一个由微软开发的现代化 端到端(E2E)测试工具,专门用于自动化 Web 浏览器操作。它支持 Chromium(Chrome、Edge)、Firefox 和 WebKit(Safari)三大浏览器引擎,且适用于跨平台(Windows、macOS、Linux)。

  • LangChain

LangChain 是一个用于构建大语言模型(LLM)应用的开发框架,它通过模块化设计简化了 LLM 应用的开发流程,支持开发者快速搭建基于语言模型的复杂应用(如聊天机器人、知识库问答、自动化工作流等)。其核心思想是通过“链(Chain)”将不同组件(如模型、数据、工具)灵活组合,实现端到端的功能。

02 测试demo用例1

测试用例提示词

image.png

执行过程

8d5bf2cf17e900049ed81e059181c989.gif

03 专项事井然-测试用例demo

测试用例提示词:

image.png

执行过程

04 专项九氚汇-测试用例demo2-提交流程

测试用例提示词:

image.png

执行过程

05 多家大语言的执行速度和执行效果测试

1.gpt-4o
  • 优点: 效果最好的, 速度快, 操作的准确率也较高

  • 缺点: 需要网络代理,且价格较贵,差不多是deepseekR1费用的7倍,仅测试几天的使用就用完了5美金的赠送费用

  • 执行test_task用例: 45秒

2.deepseek官方接口

  • 优点: 聪明

  • 缺点1: deepseek官方接口目前很不稳定,经常无法调用.或者第一次调用成功,第二次就失败.

  • 缺点2: 太慢了,作为推理模型,即使是很简单的问题,也会推理思考很久,就像是一个知识渊博,但回答慢的让人着急的老教授,不适合作用于我们这种测试场景

3.公司本地部署的deepseek-R1-14B

  • 优点: 成本低,无需网络代理, 本地部署不存在数据泄露风险

  • 缺点: 速度慢,执行时间是gpt-4o的2-3倍,而且操作成功率也更低

4.硅基流动的大模型接口

model="deepseek-ai/DeepSeek-V3", # 慢,不够聪明

model="deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", # 聪明,但是太慢了,作为推理模型,即使是很简单的问题,也会推理思考很久.就像是一个知识渊博,但回答慢的让人着急的老教授,不适合作用于我们这种测试场景

model="Qwen/Qwen2.5-14B-Instruct", # 相对上面两个deepseek的更快, 执行test_task用例:40秒-62

model="Qwen/Qwen2.5-32B-Instruct", # 比14B相对更聪明,执行时间也没有多多少, 执行test_task用例: 55秒

model="Qwen/Qwen2.5-7B-Instruct", # 执行test_task用例:太笨了, 直接执行失败了

model="01-ai/Yi-1.5-9B-Chat-16K", # 模型不支持

model="THUDM/glm-4-9b-chat", # 智谱AI: 不够聪明,返回数据的格式都不符合要求

model="Pro/THUDM/glm-4-9b-chat", # 智谱AI: 不够聪明,执行失败

model="meta-llama/Meta-Llama-3.1-8B-Instruct", # 不够聪明,执行失败

model="meta-llama/Meta-Llama-3.1-70B-Instruct", # 不够聪明,执行失败

model="meta-llama/Llama-3.3-70B-Instruct", # 执行到最后直接卡死了,不操作也不报错停止

5.阿里云百炼大模型接口

model="qwen-max", # 执行效果还行

model="qwen-plus", # 执行登录用例: 3分钟

model="qwen-turbo", # 执行登录用例: 2分钟,有点笨,执行一直循环

6.字节火山大模型-豆包

model="ep-20250220153306-tswkf", # Doubao-1.5-lite-32k,执行结果数据不符合要求,无法使用

model="ep-20250220154403-wfw29", # Doubao-1.5-pro-32k,执行结果数据不符合要求,无法使用

7.大模型试用总结

效果最好的是gpt4o,但是价格太贵,且使用麻烦,需要网络代理.国产的大模型又没有那个能做到高效执行且精准操作的.

目前体验勉强能用的两个:

硅基流动的Qwen/Qwen2.5-32B-Instruct

阿里云百联的qwen-max和qwen-plus

06 可能需要通过二开解决的问题

1.需二开解决的问题

执行过程中每个步骤都会频繁的获取和保存cookie,这个需要二开修改限制获取cookie的次数

目前获取cookie的方法是通过登录用例获取,但无法处理验证码,后续需要追加接口登录获取cookie

目前默认执行保存全部操作的GIF动图,用例多了之后文件大小或很大,需要二开修改会仅保存断言截图,或仅保存失败用例的GIF动图(已修改)

部分目前不支持的操作

  • 用例执行过程中断言截图

  • 键盘事件如回车搜索

需要在controller中自定义新增符合我们需求的action,但源码较复杂,二开的难度较大(已新增鼠标悬停方法)

部分元素无法定位的问题, 可能也需要通过二开修改DOM数据解析方法实现,但这个的二开难度更大,需要熟悉前端的同事协助评估

执行报告GIF中的步骤说明,中文乱码,需要处理(修改了源码中使用的字体解决了GIF中文乱码)

2.鼠标悬停方法(二开新增)

controller下的servise.py

image.png

controller下的views.py

image.png

browser下的context.py

image.png

07 提示词总结

1.系统提示词

class SystemPrompt: 提示词类中定义了核心的系统提示词,给AI设定了身份,告知了AI需要做什么,以什么格式返回数据,包含那些

  • 重要规则

image.png

  • 输入格式input_format

规范AI转换用户输入的文本为可操作的语句给到框架的格式.需要包含URL,可用标签页,可操作元素.

  • 获取系统信息get_system_message

规范获取信息的方式和方法

  • 用户自定义补充系统提示词

继承系统提示词类,添加额外的系统提示词,但目前测试的效果比较一般,部分提示词不生效,比如捕获页面错误

image.png

2.动作提示词

以下为框架内目前支持的动作,其它的动作可能需要二开补充,或通过优化提示词实现操作

目前不支持或操作困难的组件: 人员选择框, 浏览选择框, 日期时间选择框, 符号操作按钮

image.png

其它自己总结的提示词

image.png

08 browser use中使用的第三方库总结

Pydantic

用在views.py中,用于数据验证和设置管理。通过定义数据模型,确保AI按照提示词生成的输入数据的类型,和结构是否正确。

  • 数据验证:自动验证输入数据是否符合类型和规则。

  • 数据转换:将原始数据转换为符合模型的 Python 对象。

  • 序列化与反序列化:支持将模型转换为字典或 JSON。

  • IDE 友好:利用类型提示提供自动补全和错误提示。

最后作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些软件测试的学习资源,希望能给你前进的路上带来帮助。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐