颠覆传统软件测试!Browser Use WebUI+DeepSeek:软件测试行业的革命性突破
前置信息
硬件配置
处理器 : Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz (四核 / 八逻辑处理器)
主板 : 20N8002UCD
内存 : 8GB(RMSA3260ME78HAF-2666 DDR4 2667 MT/s)
显示适配器 : Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X]/WhiskeyLake-U GT2 [UHD Graphics 620]
音频适配器 : Cannon Point-LP High Definition Audio Controller
存储设备 : KBG30ZMT256G TOSHIBA (256 GB)
蓝牙 : WEL-PC
网络适配器 : RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller
鼠标 : 2.4GHz Wireless rechargeable vertical mouse [More&Better] (SHARKOON 2.4GHz Wireless rechargeable vertical mouse [More&Better])/SynPS/2 Synaptics TouchPad (SynPS/2 Synaptics TouchPad)/TPPS/2 Elan TrackPoint (TPPS/2 Elan TrackPoint)
键盘 : AT Translated Set 2 keyboard (AT Translated Set 2 keyboard)
显示设备 : AUO LCD Monitor(13.9 英寸(309mm X 173mm))
打印机 : Hewlett-Packard-HP-小屋/HP-LaserJet-MFP-M232-M237-driverless
图像设备 : Integrated Camera (IMC Networks Integrated Camera)
操作系统

WEL@WEL-PC:/etc$ more os-release
PRETTY_NAME="Deepin 25"
NAME="Deepin"
VERSION_CODENAME=beige
ID=deepin
HOME_URL="https://www.deepin.org/"
BUG_REPORT_URL="https://bbs.deepin.org"
VERSION_ID="25"
VERSION="25"
WEL@WEL-PC:/etc$
软件信息
- docker-ce:
WEL@WEL-PC:/etc$ docker info
Client: Docker Engine - CommunityVersion: 26.1.4Context: defaultDebug Mode: falseServer:
ERROR: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.45/info": dial unix /var/run/docker.sock: connect: permission denied
errors pretty printing info
WEL@WEL-PC:/etc$
- docker-compose
WEL@WEL-PC:/etc$ sudo apt install docker-compose
WEL@WEL-PC:/etc$ docker-compose --version
docker-compose version 1.29.2, build unknown
WEL@WEL-PC:/etc$
- Browser Use WebUI: 1.6
https://github.com/browser-use/web-ui
https://api-docs.deepseek.com/zh-cn/deepseek api测试脚本 https://platform.deepseek.com/api_keys
curl https://api.deepseek.com/chat/completions \-H "Content-Type: application/json" \-H "Authorization: Bearer <DeepSeek API Key>" \-d '{"model": "deepseek-chat","messages": [{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "Hello!"}],"stream": false}'
构建镜像
下载web-ui-1.6版本解压之后,进入对应目录执行:
WEL@WEL-PC:~/Downloads/web-ui-1.6/web-ui-1.6$ docker build -t web-ui:1.6 .
WEL@WEL-PC:~/Downloads/web-ui-1.6/web-ui-1.6$ sudo docker images
请输入密码:
验证成功
REPOSITORY TAG IMAGE ID CREATED SIZE
web-ui 1.6 e2a50c2c9558 19 hours ago 3.28GB
weltest latest 7f2c45ad211a 44 hours ago 868MB
python 3.11-slim acf740710f69 3 months ago 130MB
WEL@WEL-PC:~/Downloads/web-ui-1.6/web-ui-1.6$
依据网络网络,构建真题耗时在1~2小时。
调整docker-compose.yml文件
调整之后如下:
services:browser-use-webui:image: web-ui:1.6ports:- "7788:7788" # Gradio default port- "6080:6080" # noVNC web interface- "5900:5900" # VNC port- "9222:9222" # Chrome remote debugging portenvironment:- OPENAI_ENDPOINT=${OPENAI_ENDPOINT:-https://api.openai.com/v1}- OPENAI_API_KEY=${OPENAI_API_KEY:-}- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}- GOOGLE_API_KEY=${GOOGLE_API_KEY:-}- AZURE_OPENAI_ENDPOINT=${AZURE_OPENAI_ENDPOINT:-}- AZURE_OPENAI_API_KEY=${AZURE_OPENAI_API_KEY:-}- DEEPSEEK_ENDPOINT=${DEEPSEEK_ENDPOINT:-https://api.deepseek.com}- DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY:- }- BROWSER_USE_LOGGING_LEVEL=${BROWSER_USE_LOGGING_LEVEL:-info}- ANONYMIZED_TELEMETRY=false- CHROME_PATH=/usr/bin/google-chrome- CHROME_USER_DATA=/app/data/chrome_data- CHROME_PERSISTENT_SESSION=${CHROME_PERSISTENT_SESSION:-false}- DISPLAY=:99- PLAYWRIGHT_BROWSERS_PATH=/ms-playwright- RESOLUTION=${RESOLUTION:-1920x1080x24}- RESOLUTION_WIDTH=${RESOLUTION_WIDTH:-1920}- RESOLUTION_HEIGHT=${RESOLUTION_HEIGHT:-1080}- VNC_PASSWORD=${VNC_PASSWORD:-vncpassword}- CHROME_DEBUGGING_PORT=9222- CHROME_DEBUGGING_HOST=localhostvolumes:- /tmp/.X11-unix:/tmp/.X11-unixrestart: unless-stoppedshm_size: '2gb'cap_add:- SYS_ADMINsecurity_opt:- seccomp=unconfinedtmpfs:- /tmphealthcheck:test: ["CMD", "nc", "-z", "localhost", "5900"]interval: 10stimeout: 5sretries: 3
在yaml中的 - DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY:- }中增加对应的api-key

启动Browser Use WebUI
WEL@WEL-PC:~/Downloads/web-ui-1.6/web-ui-1.6$ sudo docker-compose up -d
如果要重新拉取执行命令:
WEL@WEL-PC:~/Downloads/web-ui-1.6/web-ui-1.6$ sudo docker-compose down
Stopping web-ui-16_browser-use-webui_1 ... done
Removing web-ui-16_browser-use-webui_1 ... done
Removing network web-ui-16_default
WEL@WEL-PC:~/Downloads/web-ui-1.6/web-ui-1.6$ sudo docker-compose up -d
Creating network "web-ui-16_default" with the default driver
Creating web-ui-16_browser-use-webui_1 ... done
WEL@WEL-PC:~/Downloads/web-ui-1.6/web-ui-1.6$

执行如下命令查看日志:
WEL@WEL-PC:~/Downloads/web-ui-1.6/web-ui-1.6$ sudo docker logs -f web-ui-16_browser-use-webui_1
2025-03-06 03:28:31,329 DEBG 'x11vnc_log' stdout output:
06/03/2025 03:28:30 Got connection from client 127.0.0.1
06/03/2025 03:28:30 0 other clients
06/03/2025 03:28:30 webSocketsHandshake: unknown connection error
06/03/2025 03:28:30 Client 127.0.0.1 gone
06/03/2025 03:28:30 Statistics events Transmit/ RawEquiv ( saved)
06/03/2025 03:28:30 TOTALS : 0 | 0/ 0 ( 0.0%)
06/03/2025 03:28:30 Statistics events Received/ RawEquiv ( saved)
06/03/2025 03:28:30 TOTALS : 0 | 0/ 0 ( 0.0%)
成功之后在界面输入:http://localhost:7788/

-
⚙️ Agent Settings

-
🔧 LLM Configuration
下面为deepseek页面,如果没有充值会提示如下
["Error code: 402 - {'error': {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}}", "Error code: 402 - {'error': {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}}", "Error code: 402 - {'error': {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}}", "Error code: 402 - {'error': {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}}", "Error code: 402 - {'error': {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}}"]
- 🌐 Browser Settings
依据机器i配置修改分辨率,使用默认选项,如果g使用自己浏览器需要参考官网增加浏览器配置
- 🤖 Run Agent
在该模块增加认为描述,类似与BDD,行为驱动操作点击运行:
打开页面,访问'https://www.baidu.com',查询`WELI测试`,搜返回结果第一条

- 📊 Results
在该模块可以看执行结果:




感受
总体有以下几点感受:
- 部署较为快捷、简便,就是构建镜像时耗时比较就,建议一次构建多次使用
- 对设备要求可能较高,在当前配置,整体响应较慢
- 整体界面识别精确,数据结构清晰
- 界面没有保存功能,刷新,界面配置信息需要重新填写
- 可以与之前BDD测试方法结合,能无代码进行测试
相关文章:
颠覆传统软件测试!Browser Use WebUI+DeepSeek:软件测试行业的革命性突破
前置信息 硬件配置 处理器 : Intel(R) Core(TM) i5-8265U CPU 1.60GHz (四核 / 八逻辑处理器) 主板 : 20N8002UCD 内存 : 8GB(RMSA3260ME78HAF-2666 DDR4 2667 MT/s) 显示适配器 : Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X]/WhiskeyLake-U GT2 [UHD Graphics…...
中学学习难点管理思维魔方
中学学习难点管理思维魔方 点:识别难点 预习难点学习难点考试错漏 线 难题整理 导图笔记 集中训练 各个突破询问老师同学个人深入思考反复阅读练习 题目改型 举一反三一题多问一题多解 面:定期确认 导出难题,重新完成 体…...
静态成员不依赖于特定对象的内容
静态成员不依赖于特定对象的内容这一概念主要涉及到面向对象编程中的静态成员(包括静态变量和静态方法)。为了详细解释这一点,我们需要从以下几个方面来理解: 1. 面向对象编程基础 在面向对象编程中,类是对象的蓝图&…...
使用开放数据、ArcGIS 和 Sklearn 测量洛杉矶的城市相似性
城市规划人员希望找到具有相似城市结构(街道网络、建筑结构、土地使用类型、人口密度)和人口统计数据(收入、文化、年龄)的地方。在本文中,我将介绍我为量化邻里相似性而确定的方法和决策,并展示数据科学方…...
线上虚拟展厅有哪些应用场景?
虚拟展厅利用数字技术和三维建模技术创建一个虚拟的展览环境,使参观者可以通过计算机、智能手机、平板电脑等设备远程参观展览。其应用场景十分广泛,具体来说包括以下几个方面: 艺术展览: 通过线上虚拟展厅,人们可以…...
[MySQL初阶]MySQL(5)内置函数详解
标题:[MySQL初阶]MySQL(5)内置函数详解 水墨不写bug 文章目录 一、日期函数1. current_date()2. current_time()3. current_timestamp()4. date(datetime)5. date_add(date, interval expr unit)6. date_sub(date, interval expr unit)7. dat…...
EasyDSS视频推拉流/直播点播平台:Mysql数据库接口报错502处理方法
视频推拉流/视频直播点播EasyDSS互联网直播平台支持一站式的上传、转码、直播、回放、嵌入、分享功能,具有多屏播放、自由组合、接口丰富等特点。平台可以为用户提供专业、稳定的直播推流、转码、分发和播放服务,全面满足超低延迟、超高画质、超大并发访…...
Ruoyi+uniapp+websocket点对点和广播通知消息
前端参考文章:https://zhuanlan.zhihu.com/p/677296938 后端参考文章:ruoyi-vue websocket实现聊天功能_若依聊天系统-CSDN博客...
Linux常用命令(详细解析)
一、文件操作命令 1. ls - 列出目录内容 功能:列出指定目录中的文件和子目录。 常用选项: -l:以长格式显示文件信息,包括文件类型、权限、所有者、大小和修改日期。 -a:显示包括隐藏文件(以点开头的文件…...
Flask项目框架
文章目录 引言一、Flask基本概念定义特点 二、Flask项目结构简单项目结构中型项目结构复杂项目结构 三、Flask常用组件路由和视图函数模板引擎扩展 四、Flask特性蓝图(Blueprints)中间件异步视图 五、Flask项目示例六、总结与建议 引言 Flask是一个轻量…...
.NET 10首个预览版发布:重大改进与新特性概览!
前言 .NET 团队于2025年2月25日发布博文,宣布推出 .NET 10 首个预览版更新,重点改进.NET Runtime、SDK、Libraries 、C#、ASP.NET Core、Blazor 和.NET MAUI 等。 .NET 10介绍 .NET 10 是 .NET 9 的后继版本,将作为长期支持维护 ÿ…...
git-filter-repo 清除大文件教程
git filter-repo 是一个用于过滤和清理 Git 仓库历史的工具,它可以高效地批量修改提交历史中的文件内容、删除文件、重命名文件以及进行其他历史重构操作。相较于 git filter-branch,它通常更快且更易于使用。 以下是一个基本示例,说明如何使…...
【python】gunicorn配置
起因:因为cpu利用率低导致我去缩容,虽然缩容之后cpu利用率上升维持在60%左右,但是程序响应耗时增加了。 解释:因为cpu干这件活本身不累,但在干这件活的时候不能去干其他事情,导致并发的请求不能及时响应&am…...
基于WebAssembly的云原生运行时:重新定义轻量化微服务架构
引言:颠覆性的运行时革命 Fastly边缘计算平台每天处理2000亿次Wasm请求,冷启动时间低于1ms。字节跳动采用Wasm实现广告算法热更新,发布耗时从分钟级降至秒级。CNCF 2024调研显示Wasm在边缘计算场景渗透率达42%,单实例内存开销仅为…...
25年社工考试报名时间⏰附报名全流程✅
目前,湖北、重庆、云南、天津、山西、内蒙、四川、北京八地已发布考务通知。 1、湖北:3月11日9:00—3月26日20:00 2、重庆:3月13日9:00—3月24日17:00 3️⃣云南:3月10日09:00—3月20日17:00 4、天津:3月10日0:00至…...
鸿蒙全栈开发 D2
课程目标 掌握ArkTS基础语法与核心概念理解声明式UI开发范式能独立开发简单鸿蒙应用组件建立规范的代码编写习惯 第一部分:初识ArkTS 1.1 语言全景认知 #mermaid-svg-V5mnjQN3DAHkfoBo {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size…...
下载PyCharm 2024.3.4 (Community Edition)来开发测试python
1、下载PyCharm 2024.3.4 (Community Edition) 如果你使用的是联想电脑,可以直接在联想应用商店里下载,这样比较省事。 如果你使用的不是联想电脑,当然也可能是别的应用商店里下载。 也可以直接在官网下载: 下载 PyCharm&…...
C#调用Ni板卡进行实现采集任务(模拟量输入输出)示例2
C#调用Ni板卡进行实现采集任务(模拟量输入输出)示例2 本文介绍如何使用C#控制Ni的USB-6008板卡进行模拟量输入、模拟量输出、输出量输入、数字量输出。本例通过新建一个类USB_6008的类进行功能封装:即把模拟量的读取以及模拟量的输出进行了封装。代码详见: https://download…...
01-二分-查找(洛谷)
链接: P2249 【深基13.例1】查找 - 洛谷 题目 思路 没啥好说的,就是二分的模板要熟练掌握;详细参考代码随想录 本道题要注意的就是不能直接套模板,因为有重复元素,所以要单独处理一下边界。 代码 #include<bi…...
linux发送邮件结合cron
Linux发送邮件结合cron定时任务 配置邮件发送(以QQ邮箱为例,其他同理) 一、获取qq邮箱授权码 登录qq邮箱 进行手机验证或者令牌啥的会获取到一个授权码 二、使用mailx发邮件 安装软件 yum -y install mailx编辑配置文件 vim /etc/mail…...
C语言基础2
一、变量的作用域 局部变量的作用域是变量所在的局部范围,全局变量的作用域是整个工程。 int main() { { int a 10; printf("a %d\n", a); } printf("a %d\n", a); //报错位置 return 0; } 这里会发生报错: “a”: 未声明的…...
Linux系统上安装kafka
目录 1. 安装Java环境 2. 下载和解压Kafka 3. 配置Kafka 4. 启动ZooKeeper和Kafka 5. 测试Kafka 6. 停止服务 7.常见问题 1. 安装Java环境 Kafka依赖Java运行环境(JDK 8或更高版本): # 安装OpenJDK(推荐) yum…...
09 HarmonyOS NEXT 仿uv-ui Tag组件开发教程系列(三)
温馨提示:本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦! 文章目录 Tag组件实战应用与最佳实践1. 复杂场景应用1.1 标签筛选系统 2. 性能优化实践2.1 状态管理优化2.2 渲染性能优化 3. 实用功能扩展3.1 拖拽…...
【每日学点HarmonyOS Next知识】网页Scheme拉起应用、列表刷新、Web下载文件、根据子元素
1、HarmonyOS 目前 app 中是否支持网页Scheme拉起应用? 支持deeplink的,网页中添加按钮引导用户拉起应用。网页端直接提示打开应用按钮绑定点击事件window.open(tzptest://www.xxxxx.com?urlXXX)>,点击该按钮,打开网页web端收到的url为t…...
如何排查MySQL是否走索引
博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…...
AF3 curry1函数解读
AlphaFold3 data_transforms 模块的 curry1 函数实现了一个经典的柯里化 (currying) 技术,具体是固定函数 f 的所有参数,除了第一个参数。换句话说,curry1 允许你在调用函数时,先提供除了第一个参数之外的所有参数,然后返回一个新的函数,这个新函数只等待第一个参数。 …...
摄像头应用编程(三):多平面视频采集
文章目录 1、前言2、环境介绍3、步骤4、应用程序编写5、测试5.1、编译应用程序5.2、运行应用程序 6、总结 1、前言 在查看摄像头类型时,大致可以分为两类:Video Capture 和 Video Capture Multiplanar。 本次应用程序主要针对类型为Video Capture Multi…...
【GoTeams】-2:项目基础搭建(下)
本文目录 1. 回顾2. Zap日志3. 配置4. 引入gprc梳理gRPC思路优雅关闭gRPC 1. 回顾 上篇文章我们进行了路由搭建,引入了redis,现在来看看对应的效果。 首先先把前端跑起来,然后点击注册获取验证码。 再看看控制台输出和redis是否已经有记录&…...
02-双指针-A-B 数对
题目 链接:P1102 A-B 数对 - 洛谷 思路 问题场景想象 我们可以把这个问题想象成在一个排队的队伍里找符合特定身高差的人对。给定的数列里的每个数就好比队伍里每个人的身高,而差值 C 就是我们要找的身高差。我们的目标是找出队伍里所有身高差恰好是 …...
2025年Cursor最新安装使用教程
Cursor安装教程 一、Cursor下载二、Cursor安装三、Cursor编辑器快捷键(1) 基础编辑快捷键(2) 导航快捷键(3) 其他常用快捷键 一、Cursor下载 Cursor官方网站(https://www.cursor.com/ ) 根据自己电脑操作系统选择对应安装包 二、Cursor安装 下载完成后…...
