RobotFramework Browser库默认启动无痕模式,如何切换为普通模式运行?
问题1:默认启动无痕模式是不是异常行为?
默认启动无痕模式是Robot Framework Browser库的标准行为,其底层基于Playwright实现,设计上默认每次启动的浏览器会话都是独立的无痕隔离环境,所有运行数据会在测试结束后自动清除,不属于环境配置异常。
问题2:如何启动非无痕模式的浏览器?
你之前的配置不生效的核心原因是仅指定了profile目录名称,没有配置对应的持久化用户数据根路径:Browser库默认使用临时目录作为用户数据存储路径,每次运行结束后临时目录会被销毁,自然找不到你配置的Persoon 1配置文件。
正确实现非无痕模式启动的方法如下:
- 若只需要本次运行的浏览器数据可留存、下次启动复用,在新建上下文时指定
userDataDir参数即可,参数值为本地自定义的文件夹路径(空文件夹也可,启动时会自动生成配置文件),示例写法:
New Browser chromium headless=false # 指定本地路径作为持久化用户数据目录,即可关闭无痕模式 New Context userDataDir=C:/Users/xxx/Documents/chrome-test-profile New Page https://example.com
- 若需要复用本地已有的Chrome浏览器配置(比如已登录的账号、已安装的扩展等),先关闭所有正在运行的Chrome实例(避免进程锁导致启动失败),再补充profile目录参数即可,示例写法:
New Browser chromium headless=false # Windows系统下Chrome默认用户数据根路径为C:/Users/xxx/AppData/Local/Google/Chrome/User Data New Context userDataDir=C:/Users/xxx/AppData/Local/Google/Chrome/User Data args=["--profile-directory=Persoon 1"] New Page https://example.com
注意:使用持久化用户数据目录后,不同测试运行之间的浏览器数据会互相保留,测试独立性会受影响,需要根据场景手动清理缓存、Cookie等数据避免用例互相干扰。
内容的提问来源于stack exchange,提问作者tijnn
相关产品推荐
相关产品推荐

