现状
在日常工作中通常需要使用多个用户登录到系统中,事实上,如果在同一个Google Chrome实例中登录多个用户,这几乎是不可能的,(虽然使用隐身方式可以打开两个独立的Google Chrome实例,但是如何才能打开两个以上的实例呢?)因为同一个Google Chrome实例中,后登录的用户的Cookie等信息会覆盖前一登录用户的信息。
解决方法
Google Chrome默认的working directory是“${user.dir}/Library/Application Support/Google/Chrome/Default
”(For windows: “C:\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data\Default
”)里面记录了session,cookie等诸多信息。
了解到Google Chrome保存Cookie等信息是在一个working directory这一点,解决上述问题就不在困难。
实际操作
通过指定工作目录来确保用户状态不会被替换,通过参数“--user-data-dir="/path/to/real/directory/"
”
类UNIX系统
可以使用如下命令:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --user-data-dir="/Users/CentLui/temp/Google/Chrome/SystemA/dev
Windows系统
可以使用如下的命令:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir="C:\Users\Administrator\Google\SystemA\dev"
收益
多个独立的实例能够帮你把环境区分开来,比如你可以分为daily、pre、online分别对应日常、预发和线上环境,这样验证起来,也不用担心上一个环境的残留或cache。