• home > webfront > browser > webkit >

    chrome多用户测试时如何隔离数据?弃用无痕模式与多个浏览

    Author:zhoulujun Date:

    有时候 需要同时测试后台数据与 用户前台数据,需要不停地请cookies、localstorage等,非常麻烦,一般的做法就是在微软的Adge或苹果的Safari 浏览器、QQ浏览器、FireFox等测试

    目前公司的开发环境都是微软授权登录,比如你登录微软的一个账号,那么个人github账号就下线

    有时候 需要同时测试后台数据与 用户前台数据,需要不停地请cookies、localstorage等,非常麻烦

    为什么不用无恒模式

    刷新问题

    使用无痕模式,需要刷新的时候,需要重新登录。

    所以对于我来说,该缓存的没有缓存,不该缓存的,却缓存了!

    缓存问题

    Chrome的无痕模式旨在提供一种不保留浏览记录的浏览方式,但即使在这种模式下,Chrome仍然会进行某些程度的缓存,以确保网站的加载速度和性能!

    • 缓存实现方式:在无痕模式下,Chrome使用的缓存是内存实现,而不是磁盘实现。这意味着所有数据都存储在内存中,而不是写入磁盘,从而在关闭无痕窗口时可以更快地清除这些数据。

    • 退出无痕模式时的清除机制:当用户退出无痕模式,即关闭所有无痕窗口时,Chrome会自动清除该模式下产生的临时文件和Cookies。这种清除操作通常是即时的,但根据系统和浏览器的具体实现,可能会有短暂的延迟。

    理论上,用户新开的无痕浏览器,应该全部为空,但是实际并不如此

    缓存的延迟清除:

    虽然Chrome设计为在退出无痕模式时立即清除缓存,但在某些情况下,可能存在延迟。

    这个我就遇到过,但是,还没意去细查问题!

    为什么弃用多浏览器方案

    一般的做法就是在微软的Adge或苹果的Safari 浏览器、QQ浏览器、FireFox等测试

    但是,因为密码与表单数据都记在 chrome 的google账号,用其他浏览器导入导出麻烦,第二个,我也非常讨厌国内的UC、QQ等浏览器,因为之前的黑历史:全家桶下载!

    然后,我想到chrome不是有不同版本吗?可以下载6个版本的chrome用来测试呀! chrome Stable/Dev/Beta/Canary区别在哪?在哪里下载?

    但是,翻开chrome developer 文档,有更好的方案!

    具体查看:https://chromium.googlesource.com/chromium/src.git/+/HEAD/docs/user_data_dir.md

    --user-data-dir

    在 Chrome 浏览器的目标(target)后面加上 --user-data-dir=C:\MyChromeDevUserData 是一个命令行参数,它的作用是指定 Chrome 浏览器使用一个特定的用户数据目录来存储其数据,如缓存、Cookie、扩展程序等。这样做的主要目的是为了隔离 Chrome 浏览器的用户数据,以便在不影响其他 Chrome 浏览器实例的情况下进行开发、测试或调试。

    --user-data-dir 参数允许你指定一个自定义的用户数据目录,而不是 Chrome 默认的用户数据目录。这在以下情况下非常有用:

    • 开发和调试:当你开发 Chrome 扩展程序或其他与浏览器相关的项目时,使用自定义的用户数据目录可以确保你的更改不会影响到其他用户的 Chrome 浏览器实例。这样,你可以在不影响其他用户的情况下进行实验和调试。

    • 多实例测试:如果你需要在同一台计算机上运行多个 Chrome 浏览器实例,并且希望它们之间相互隔离,那么可以为每个实例指定一个不同的用户数据目录。

    • 清理数据:如果你想要创建一个全新的 Chrome 浏览器环境,可以使用 --user-data-dir 参数指定一个新的用户数据目录。这样,Chrome 浏览器将在启动时创建一个新的用户数据目录,并且不会加载任何现有的用户数据。

    那么具体如何复制多个浏览器?

    复制桌面的chrome图标,右键属性-》快捷方式,在 target选项加上:--user-data-dir=C:\MyChromeDevUserData ,需改不同的目录,复制多少,就有多个浏览器。

    image.png

    也可以在命令行中输入以下命令:

    chrome --user-data-dir=C:\MyChromeDevUserData

    这个方案太棒了!

    chrome参数

    除了常用的

    • –single-process 单进程运行Google Chrome

    • –start-maximized 启动Google Chrome就最大化

    • –disable-java 禁止Java

    • –no-sandbox 非沙盒模式运行

    • --user-data-dir 用户目录

    还有这些

    • –disk-cache-dir=”[PATH]“ 指定缓存Cache路径

    • –disk-cache-size= 指定Cache大小,单位Byte

    • –first run 重置到初始状态,第一次运行

    • –incognito 隐身模式启动

    • –disable-javascript 禁用Javascript

    • –omnibox-popup-count=”num” 将地址栏弹出的提示菜单数量改为num个。我都改为15个了。

    • –user-agent=”xxxxxxxx” 修改HTTP请求头部的Agent字符串,可以通过about:version页面查看修改效果

    • –disable-plugins 禁止加载所有插件,可以增加速度。可以通过about:plugins页面查看效果

    • –disable-javascript 禁用JavaScript,如果觉得速度慢在加上这个

    • –disable-java 禁用java

    • –start-maximized 启动就最大化

    • –no-sandbox 取消沙盒模式

    • –single-process 单进程运行

    • –process-per-tab 每个标签使用单独进程

    • –process-per-site 每个站点使用单独进程

    • –in-process-plugins 插件不启用单独进程

    • –disable-popup-blocking 禁用弹出拦截

    • –disable-plugins 禁用插件

    • –disable-images 禁用图像

    • –incognito 启动进入隐身模式

    • –enable-udd-profiles 启用账户切换菜单

    • –proxy-pac-url 使用pac代理 [via 1/2]

    • –lang=zh-CN 设置语言为简体中文

    • –disk-cache-dir 自定义缓存目录

    • –disk-cache-size 自定义缓存最大值(单位byte)

    • –media-cache-size 自定义多媒体缓存最大值(单位byte)

    • –bookmark-menu 在工具 栏增加一个书签按钮

    • –enable-sync 启用书签同步

    • –single-process 单进程运行Google Chrome

    • –start-maximized 启动Google Chrome就最大化

    • –disable-java 禁止Java

    • –no-sandbox 非沙盒模式运行




    转载本站文章《chrome多用户测试时如何隔离数据?弃用无痕模式与多个浏览》,
    请注明出处:https://www.zhoulujun.cn/html/webfront/browser/webkit/2024_1211_9368.html