我可以在同一台机器上运行多个版本的Google Chrome吗? (Mac或Windows)

这个神话般的答案表明,没有办法在一台机器上运行多个版本的Google Chrome。

有时候,你会得到一个网站用户卡在一个旧版本的Chrome(不知道如何,但它发生 – 也许他们安装了独立版本 ),并且你需要能够validation它。 如果没有他们的浏览器版本,有点难以做到。

有谁知道是否有一种方法可以做到这一点? 即

  1. 获取旧版Google Chrome的安装程序(Google似乎对版本保持非常安静,这对用户来说很好,对于试图支持旧版本的开发者来说不太好)
  2. 在一台机器上运行两个版本的Google Chrome

Chrome安装是用户特定的。 因此,您可以使用不同的Windows / Mac用户帐户进行testing,一个使用Chrome版本A,另一个使用Chrome版本B.

在评论中,我提到了一步一步的方法,可以轻松安装多个Chrome版本。 这个答案引用了我的原始答案,并包含一个脚本,为您完成这项工作。

引用来自: 跨浏览器testing的第7部分:在一台机器上的所有主stream浏览器

Chrome :可以从File Hippo下载独立安装程序。 也可以并排运行多个Chrome版本。

尽pipe可以使用Sandboxie,但build议使用下一个本地方法来并行运行多个版本。

  1. 从File Hippo下载所需的版本。
  2. 创build一个主目录,例如C:\Chrome\
  3. 解压缩安装程序(= 不安装 ),例如使用7-Zip 。 解压后,会创build一个chrome.7z压缩文件。 同时提取这个文件,并下载创build的Chrome-bin目录。 现在,您会看到chrome.exe和一个像18.0.1025.45的目录。 将chrome.exe移至18.0.1025.45 ,然后将此目录移至C:\ChromeChrome-bin的其余文件可以安全地删除。
  4. 为每个版本创build一个快捷方式:

     "C:\Chrome\18.0.1024.45\chrome.exe" --user-data-dir="..\User Data\18" --chrome-version=18.0.1025.45 

    这个捷径的解释:

    • "C:\Chrome\18.0.1024.45\chrome.exe" •这是启动器
    • --user-data-dir="..\User Data\18" •用户configuration文件,相对于chrome.exe的位置。 你也可以使用--user-data-dir="C:\Chrome\User Data\18"来达到同样的效果。 最低的 Chrome版本设置首选项,并为每个 Chrome版本复制用户个人资料。 较旧的Chrome版本拒绝使用新版本的用户configuration文件。
    • --chrome-version=18.0.1025.45 •二进制文件的位置
      • 位置(例如18.0.1025.45 )必须是目录的名称:
      • 必须以数字开头和结尾。 点之间可能会出现。
      • 这些数字不一定要与真正的版本号相匹配(尽pipe使用真正的版本号很方便…)。

关于configuration:所有首选项可以设置为chrome://settings/ 。 我通常会更改主页和“引擎盖下”设置。

  • 禁用自动更新: http : //dev.chromium.org/administrators/turning-off-auto-updates

(这个答案的旧版本提到旧的Chrome版本的老应用程序 ,但他们不提供直接下载链接通过用户界面。文件仍然存在,我创build了一个shell脚本(bash),以减轻创build本地Chrome版本库 – 请参阅https://gist.github.com/Rob–W/8577499

VB脚本,自动安装,configuration和启动

我创build了一个安装configurationChrome 的VB脚本 (在XP和Win 7中testing过)。 启动脚本,并出现一个文件对话框(或:拖放到VBS的铬安装程序)。 selectChrome安装程序的目标,脚本将自动解压缩文件,并从预configuration的基本目录中复制configuration文件。

默认:

  1. Chrome二进制文件放置在C:\Chrome\子文件夹中。
  2. 用户configuration文件在C:\Chrome\User Data\
  3. 用户configuration文件将从sFolderChromeUserDataDefaultvariables中指定的目录复制,默认为C:\Chrome\User Data\2\
    在第一次安装Chrome之后,请设置您的首选项(主页,书签,..)。 然后修改源代码中的variables(见3.)。 之后,安装和configurationChrome就像馅饼一样简单。

唯一的依赖是7-zip ,预计位于C:\Program Files\7-zip\7z.exe

你的里程可能会有所不同(我确实是这样做的),但是这里对我来说是有效的(当前版本的Chrome从这个post开始是33.x,我对24.x感兴趣)

  • 访问Chromium repo代理查询网站: http : //omahaproxy.appspot.com/

  • 在名为“Revision Lookup”的小方框中键入版本号。 这将把它翻译成一个Subversion版本号。 记住这个数字。

  • 访问构build存储库: http : //commondatastorage.googleapis.com/chromium-browser-snapshots/index.html

  • select你感兴趣的操作系统对应的文件夹(我有Win x64,但必须使用Win,因为没有对应于我正在寻找的版本的x64版本)。

  • 如果你select赢,你可能会等待 – 因为有些页面有很多条目。 加载页面后,滚动到包含您在前面的步骤中标识的修订号的文件夹。 如果你找不到,请select下一个。 这是一个试验和错误说实话 – 我不得不备份大约50修改,直到我发现一个版本接近我正在寻找

  • 钻入该文件夹并下载(在Win版本)chrome-win32.zip。 这就是你所需要的。

  • 解压该文件,然后运行chrome.exe

这工作对我来说,我正在运行最新版本的25,没有问题(旧版本的一些configuration文件的问题,但这不是在这里也没有)。 不需要做任何事情。

同样,YMMV,但首先尝试这个解决scheme,因为它需要最less的tomfoolery。

我通过@ RobW的很好的答案来使它在Mac OS X 10.8上工作。 其他版本的Mac OS X也可能工作。

实际上只需要保持原来的Google Chrome浏览器安装和旧版本的分离就可以了。

  1. 从UpToDown.com或OldApps.com下载旧版Google Chrome

  2. Google Chrome.app复制到任何地方,而不是/应用程序,以覆盖当前的Chrome浏览器

    (请确保使用您刚刚下载的实际Chrome浏览器版本replaceVERSION的所有后续步骤)

  3. 将其重命名为Google Chrome VERSION .app

  4. Google Chrome VERSION .app移动到/ Applications(您可以将它移动到任何地方,但是我会参考标准位置)

  5. 打开terminal并创build一个shell脚本:

     touch /your/favourite/location/google-chrome-version-start.sh open /your/favourite/location/google-chrome-version-start.sh 
  6. 根据您下载的版本修改以下代码并将其粘贴到脚本中

     #!/usr/bin/env bash /Applications/Google\ Chrome\ VERSION.app/Contents/MacOS/Google\ Chrome --user-data-dir="tmp/Google Chrome/VERSION/" 

    (这会将Chrome的数据存储在~/tmp/Google Chrome/VERSION/ 。更多解释请参阅原始答案 。)

  7. 返回到您的terminal并input以下命令使您的脚本可执行

     chmod +x /your/favourite/location/google-chrome-version-start.sh 
  8. 现在执行脚本,并开心!

     /your/favourite/location/google-chrome-version-start.sh 

我在运行OS X 10.8.5的Mac上使用Google Chrome 19.x进行了testing。

作为专业testing人员,我的朋友使用Spoon.net浏览器部分来testing各种浏览器中网站的兼容性。 希望这应该可以帮到你。

一个小的虚拟机可能?

尝试VirtualBox的免费软件程序来安装虚拟机(很多工作,你想要做什么,但它会工作)

虽然这似乎是一个老问题,我发布了很多答案,因为它提供了另一种方法的信息(看起来比上面提到的更方便),问题本身仍然是实际的。

首先 ,有一个博客post在Windows上运行多个版本的Google Chrome浏览器 。 它描述了一种可行的方法,但有两个缺点:

  • 您无法同时运行不同版本的Chrome实例;
  • Chrome会不时更​​改其configuration文件的格式,只要通过此方法安装的两个版本与configuration文件共享相同的目录,如果testing了不兼容的configuration文件格式的两个版本,则可能会产生问题;

第二种方法是我目前使用的首选方法。 它依赖于便携版本的Chrome,在portableapps.com的每个稳定版本中都可以使用。

这种方法的唯一要求是现有的Chrome版本在安装下一个版本的时候不应该运行。 当然,每个版本都必须安装在一个单独的目录中。 这样,在安装之后,可以并行运行不同版本的Chromes。 当然,这种方法也有一个缺点:

  • 所有版本的configuration文件都是单独运行的,因此如果您需要以特定方式设置configuration文件,则根据您安装的不同Chrome版本的数量,您应该执行两次或更多次。

我在Citrix XenDesktop VM上完成了以下操作,但是您可以在本地PC上执行以下操作:

微软虚拟PC

如果您正在运行Windows 7,则可以下载Microsoft Virtual PC,并根据需要创build尽可能多的Virtual PC副本,而无需任何授权问题:

这不需要额外的Windows许可证; 你只需设置多台具有不同浏览器的机器。 您可以按照下面的教程来运行浏览器:

安装浏览器

您至less需要创build3个虚拟PC(提示:为了避免虚拟桌面上的内存浪费,请将每个虚拟PC的内存降至256mb)。

在第一台VPC上我安装了这个:

还有Chrome 1,Safari 3.1,Opera 8。

第二,我安装了Internet Explorer 7,Chrome 3,Safari 3.2.1,Opera 9。

第三,我安装了Internet Explorer 8,Chrome 8,Safari 4.0.5,Opera 10。

在Windows 7(本地机器)上,我安装了Internet Explorer 9,Chrome 11,Safari 5,Opera 11和Firefox,我也安装了以下应用程序:

就个人而言,除非你有特定的要求,否则我不会回溯到5年以上的兼容性(除了IE以外的政府networking)(因为我决定只有很多版本,所以我多年拆分Chrome和Opera)。 但是,如果您发现某个网站使用特定版本的浏览器存在特定问题,则安装其他虚拟机以运行其他浏览器版本变得非常容易。

获取较旧的浏览器

您可以从这里下载旧版本的Chrome:

和歌剧在这里:

虚拟化testing平台(可选)

我使用Xen Desktop对testing平台进行虚拟化,以便随时随地使用它,并在其中包含我最喜欢的开发工具:

快递版本是免费的。

一个好的商业select

另外一个很好的产品是我最近推出的是Stylizer ,它是一个CSS编辑器,可以安装多个版本的浏览器进行testing,但是这是一个商业付款的产品,但是非常好,值得运行它所需的小额费用。

我想我可能已经在Windows上弄明白了。 您可以同时运行不同版本的Chrome!

执行以下操作:

  • 将版本号目录复制到通常的c:\ users \ yourUser \ appdata \ local \ google \ chrome \ application目录下(我假设在发生更新之前已经备份了较旧的chrome版本目录)

  • 将旧版本的chrome.exe复制为新名称,例如chrome_custom.exe

  • 以chrome_custom.exe运行chrome –chrome-version = olderVersion –user-data-dir = newDir

而已! 我用这种方法在Selenium的Chrome上运行自动化testing,直到selenium赶上并与最新的Chrome运行良好。

我最近偶然发现了这个问题的解决scheme:

来源: 多个版本的Chrome

…这是registry数据问题:如何做到这一点(这是一个2.0.172.39和3.0.197.11的例子,我会尝试下一个版本,因为他们会来,让我们假设我已经开始使用Chrome 2 ):

  1. 安装Chrome 2,你会发现Application Data文件夹,因为我来自捷克,我的名字是BronislavKlučka,path如下:

     C:\Documents and Settings\Bronislav Klučka\Local Settings\Data aplikací\Google\Chrome 

    并运行Chrome

  2. 打开registry并保存

     [HKEY_CURRENT_USER\Software\Google\Update\Clients\{8A69D345-D564-463c-AFF1-A69D9E530F96}] [HKEY_CURRENT_USER\Software\Google\Update\ClientState\{8A69D345-D564-463c-AFF1-A69D9E530F96}] 

    键,把它们放到一个chrome2.reg文件中,然后把这个文件复制到chrome.exe (ChromeDir \ Application)

  3. 将Chrome文件夹重命名为其他内容(例如,Chrome2)

  4. 安装Chrome 3,它会再次安装到Chrome文件夹并运行Chrome

  5. 保存相同的密钥(由于不同的版本而有所变化),并将其保存到此新版本的chrome.exe文件旁边的chrome3.reg文件
  6. 重命名文件夹(例如Chrome3)

    结果将是没有Chrome目录(只有Chrome2和Chrome3)

  7. 转到Chrome2的Application文件夹,使用以下内容创buildchrome.bat文件:

     @echo off regedit /S chrome2.reg START chrome.exe -user-data-dir="C:\Docume~1\Bronis~1\LocalS~1\Dataap~1\Google\Chrome2\User Data" rem START chrome.exe -user-data-dir="C:\Documents and Settings\Bronislav Klučka\Local Settings\Data aplikací\Google\Chrome2\User Data" 

    第一行是通用的批处理命令,第二行将用chrome2.reg文件的内容更新registry,第三行开始Chrome指向传递的目录,第四行是注释,将不会运行。

    请注意短名称格式作为-user-data-dirparameter passing(完整path在第四行),问题是使用此参数的Chrome浏览器存在变音符号(捷克语字符)问题,

  8. 对Chrome 3再次执行7.更新Chrome 3的bat文件中的path和注册文件名

尝试运行两个bat文件,似乎正在工作,两个版本的Chrome都在同时运行。

更新:运行“关于”对话框显示正确的版本,但在检查新版本时出错。 为了更正这个问题(我将解释一下Chrome2文件夹):1.将Chrome2重命名为Chrome 2.转到Chrome / Application文件夹3.运行chrome2.reg文件4.运行chrome.exe(对Chrome3的作用相同)版本检查工作。 自从我find整个解决scheme以来,就没有新的Chrome版本。 但我认为更新将被下载到这个文件夹,所以你所需要做的就是在更新后更新reg文件,并将Chrome文件夹重新命名为Chrome2。 Chrome更新成功后,我会更新此post。

Bronislav Klucka

Oldapps.com有旧版本的Chrome可供下载,并且它们是独立版本,所以与@SamMeiers的答案相结合,这些都是一种享受。

谷歌浏览器支持论坛有一些关于获取旧版Chrome的很好的讨论 。