Могу ли я запустить несколько версий Google Chrome на одном компьютере? (Mac или Windows)

111

Этот потрясающий ответ предполагает, что невозможно запустить несколько версий Google Chrome на одном компьютере.

Время от времени вы сталкиваетесь с проблемой, когда пользователь веб-сайта застревает в старой версии Chrome (не знаю, как, но это случается - может быть, они установили автономную версию ?), И вам нужно иметь возможность проверить это. Немного сложно сделать это без версии браузера.

Кто-нибудь знает, есть ли способ сделать это? Т.е.

  1. Получите установщик для более старой версии Google Chrome (Google, кажется, очень тихо хранит информацию о версиях, что отлично подходит для пользователей, но не так хорошо для разработчиков, пытающихся поддерживать старые версии)
  2. Запустите две версии Google Chrome на одном компьютере
Пол Д. Уэйт
источник
6
Это скорее вопрос для SuperUser, поскольку на самом деле он не о программировании.
dreamlax
13
@dreamlax: Значит, сайты не программируют? Я хочу запустить несколько Chromes для тестирования написанных мной веб-сайтов. Это очень узкое определение программирования, которое не охватывает этого.
Пол Д. Уэйт,
5
Ваш вопрос касается установки и / или настройки программного обеспечения, а не разработки программного обеспечения.
dreamlax
2
@dreamlax: программное обеспечение, которое я устанавливаю и настраиваю для тестирования программного обеспечения, которое я разработал. Вам нужно делать это только при разработке программного обеспечения.
Пол Д. Уэйт,
7
По умолчанию поддерживается запуск нескольких браузеров Chrome . Пошаговое руководство содержится в разделе Кроссбраузерное тестирование: все основные браузеры на ОДНОЙ машине; 7. Хром . Краткое описание: Загрузите 7-zip , старые версии из старых приложений . Затем используйте 7-zip, чтобы дважды извлечь установщик. (...) Создайте ярлык для пусковой установки Chrome со следующими флагами --user-data-dir=..., --chrome-version=....
Rob W

Ответы:

103

В комментариях я упомянул пошаговый метод простой установки нескольких версий Chrome бок о бок. Этот ответ цитирует мой первоначальный ответ и включает сценарий, который выполняет эту работу за вас.

Цитата из: раздел 7 кросс-браузерного тестирования: Все основные браузеры на ОДНОЙ машине :

Chrome : автономные установщики можно загрузить с File Hippo . Также можно запускать несколько версий Chrome бок о бок.

Хотя Sandboxie можно использовать, рекомендуется использовать следующий собственный метод, чтобы запускать несколько версий параллельно.

  1. Загрузите нужные версии из File Hippo .
  2. Создайте основной каталог, например C:\Chrome\.
  3. Распакуйте установщик (= без установки ), например , с помощью 7-Zip . После распаковки создается chrome.7zархив. Также извлеките этот файл и перейдите в созданный Chrome-bin каталог. Вот видите, chrome.exeи такой режиссёр 18.0.1025.45. Переместите chrome.exeв 18.0.1025.45, затем переместите этот каталог в C:\Chrome. Остальные файлы Chrome-binможно безопасно удалить.
  4. Создайте ярлык для каждой версии :

    "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" • Профиль пользователя относительно местонахождения chrome.exe. Вы также могли использовать --user-data-dir="C:\Chrome\User Data\18"для того же эффекта. Установите свои предпочтения для самой низкой версии Chrome и продублируйте профиль пользователя для каждой версии Chrome. Старые версии Chrome отказываются использовать профили пользователей из новых версий.
    • --chrome-version=18.0.1025.45Расположение двоичных файлов:
      • Местоположение (например 18.0.1025.45) должно быть именем каталога:
      • Должен начинаться и заканчиваться числом. Между ними может появиться точка.
      • Номера не обязательно должны совпадать с реальным номером версии (хотя удобно использовать реальные номера версий ...).

Что касается конфигурации: Все настройки можно установить на chrome://settings/. Я обычно меняю домашнюю страницу и настройки «Под капотом».

(старая версия этого ответа относилась к старым приложениям для старых версий Chrome, но они больше не предлагают прямые ссылки для загрузки через пользовательский интерфейс. Файлы все еще существуют, я создал сценарий оболочки (bash), чтобы облегчить создание локального репозитория версий Chrome - см. https://gist.github.com/Rob--W/8577499 )

VB Script, который автоматизирует установку, настройку и запуск

Я создал сценарий VB, который устанавливает и настраивает Chrome (протестирован в XP и Win 7). Запустите сценарий, и появится диалоговое окно с файлом (или: перетащите установщик Chrome на VBS). Выберите место назначения установщика Chrome, и сценарий автоматически распакует файлы и скопирует профиль из предварительно настроенного базового каталога.

По умолчанию:

  1. Бинарные файлы Chrome помещаются в подпапки C:\Chrome\.
  2. Профили пользователей создаются в формате C:\Chrome\User Data\.
  3. Профили пользователей будут скопированы из каталога, указанного в sFolderChromeUserDataDefaultпеременной, которая C:\Chrome\User Data\2\по умолчанию.
    После первой установки Chrome задайте свои предпочтения (Домашняя страница, закладки, ..). Затем измените переменную (см. 3.) в исходном коде. После этого установить и настроить Chrome проще простого.

Единственная зависимость - это 7-zip , который должен находиться по адресу C:\Program Files\7-zip\7z.exe.

Роб В
источник
4
Это больше не работает. Ссылка на старые приложения гласит: «Google Chrome больше не доступен для загрузки в OldApps»
Сараф
6
К сожалению, попытка распаковать Chrome 24 с помощью 7Zip НЕ приводит к архиву chrome.7z, а к двоичному файлу 102 ~, с которым ничего нельзя сделать. Интересно, работал ли ваш метод только для старых версий? - похоже, что Google изменил способ работы своего установщика / загрузчика.
Tom Auger
2
@Tom Поищите в связанной статье Github известные пути к автономным установщикам. Совсем недавно использовал Chrome 33.
Роб В.
8
Каждый раз, когда я пытаюсь загрузить из File Hippo, меня перенаправляют, и устанавливается текущая версия Chrome. Разочарование.
Джей Бланшар
3
@JayBlanchard Используйте Github gist по адресу gist.github.com/Rob--W/8577499, чтобы получить старые версии из старых приложений. Если вам нужна версия, которой нет в списке старых приложений, просто запросите конкретную версию по почте. У меня есть прямые URL-адреса для загрузки почти для всех выпусков Chrome, начиная с версии 23 (на данный момент до последней бета-версии, v36).
Rob W
33

Я принял хороший ответ @RobW, чтобы он работал в Mac OS X 10.8. Другие версии Mac OS X, вероятно, тоже могут работать.

Небольшая дополнительная работа на самом деле нужна только для того, чтобы сохранить исходную установку Google Chrome и старую версию отдельно.

  1. Загрузите старую версию Google Chrome с Slimjet.com

  2. Скопируйте Google Chrome.app в любое место вместо / Applications, чтобы не переопределять текущий Chrome.

    (Обязательно замените ВЕРСИЮ для всех следующих шагов актуальной версией Chrome, которую вы только что скачали)

  3. Переименуйте его в Google Chrome VERSION .app .

  4. Переместите Google Chrome VERSION .app в / Applications (вы можете переместить его куда хотите, но я буду ссылаться на стандартное расположение)

  5. Откройте Терминал и создайте сценарий оболочки:

    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. Вернитесь в свой терминал и введите следующую команду, чтобы сделать ваш скрипт исполняемым

    chmod +x /your/favourite/location/google-chrome-version-start.sh
    
  8. Теперь выполняйте сценарий и будьте счастливы!

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

Я тестировал его с Google Chrome 19.x на Mac под управлением OS X 10.8.5.

Ф Лекщас
источник
Спасибо! Очевидно, отключение автообновлений не требуется в Mac OS X - мне было интересно, почему этого не было в вашем ответе :)
Питер,
2
Чтобы отключить автоматические обновления на Mac, перейдите к файлу /Applications/Google\ Chrome\ VERSION.app/Contents/Info.plistи измените значение <key>KSUpdateURL</key>на <string>https://tools.google.com/abcdefg</string>. Никакой другой метод у меня не работал (включая настройку defaults write com.google.Keystone.Agent checkInterval 0).
Abhishek Divekar
21

Ваш пробег может отличаться (я уверен, что это так), но вот что сработало для меня (текущая версия Chrome на этот пост - 33.x, и меня интересовал 24.x)

  • Посетите сайт поиска прокси репозитория Chromium: http://omahaproxy.appspot.com/

  • В маленьком окошке под названием «Поиск ревизии» введите номер версии. Это переведет его в номер версии Subversion. Запомните это число.

  • Посетите репозиторий сборки: http://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html

  • Выберите папку, соответствующую интересующей вас ОС (у меня Win x64, но мне пришлось использовать Win, потому что не было сборки x64, соответствующей искомой версии).

  • Если вы выберете Win, вам придется подождать, так как на некоторых страницах много записей. После загрузки страницы прокрутите до папки, содержащей номер редакции, который вы указали на предыдущем шаге. Если вы не нашли ни одного, выберите следующий. Честно говоря, это метод проб и ошибок - мне пришлось сделать резервную копию около 50 ревизий, пока я не нашел версию, близкую к той, которую искал.

  • Просмотрите эту папку и загрузите (в версии Win) chrome-win32.zip. Это все, что вам нужно.

  • Разархивируйте этот файл и запустите chrome.exe.

Это сработало для меня, и я запускаю последний Chrome вместе с версией 25 без проблем (некоторые проблемы с профилем в более старой версии, но это ни здесь, ни там). Больше ничего делать не нужно.

Опять же, YMMV, но сначала попробуйте это решение, поскольку оно требует наименьшего количества дурачества.

Том Аугер
источник
omahaproxy.appspot.com бесполезен для определения старых номеров ревизий, но после некоторых проб и ошибок это сработало отлично! Спасибо!
Max Ch
Обратите внимание, это не поможет вам, если вы хотите запустить, скажем, 20 подключений эмуляции http-poll websocket, обработка выполняется вместе, максимум 6 браузеров вместе.
Степан Яковенко
5

Мои друзья, как профессиональные тестировщики, используют раздел браузеров Spoon.net для проверки совместимости сайта с различными браузерами. Надеюсь, это поможет вам.

TheMaskOfZero
источник
Да, я видел этот сайт, выглядит неплохо. Их страница с ошибкой «ваш браузер не поддерживается» не очень полезна, она просто говорит «попробуйте другой браузер». Он не сообщает вам, какие браузеры они действительно поддерживают.
Пол Д. Уэйт,
2
Эта услуга отлично работает в Windows и бесполезна в других ОС. И они позволяют вам настроить, зарегистрировать и загрузить всю виртуальную машину, прежде чем сообщать вам об этом.
Стив Клей,
5

Хотя это, кажется, старый вопрос с множеством ответов, я публикую еще один, потому что он предоставляет информацию о других подходах (выглядящих более удобными, чем уже упоминалось), а сам вопрос остается актуальным.

Во-первых , есть сообщение в блоге " Запуск нескольких версий Google Chrome в Windows" . В нем описан метод, который работает, но имеет 2 недостатка:

  • нельзя одновременно запускать экземпляры Chrome разных версий;
  • время от времени Chrome меняет формат своего профиля, и пока две версии, установленные этим методом, используют один и тот же каталог с профилями, это может вызвать проблемы, если случится тестировать две версии с несовместимыми форматами профилей;

Второй метод - предпочтительный, который я сейчас использую. Он основан на портативных версиях Chrome, которые доступны для каждой стабильной версии на сайте portableapps.com .

Единственное требование этого метода заключается в том, что существующая версия Chrome не должна запускаться во время установки следующей версии. Конечно, каждую версию нужно устанавливать в отдельный каталог. Таким образом, после установки вы сможете запускать Chromes разных версий параллельно. Конечно, у этого метода есть и недостаток:

  • Профили во всех версиях существуют отдельно, поэтому, если вам нужно настроить профиль определенным образом, вы должны сделать это два или более раз, в зависимости от количества различных версий Chrome, которые вы установили.
Стэн
источник
Я использовал второй метод (portableapps.com) и считаю, что он хорошо работает.
Edyn
5

Тем, кому все равно, что это "Google Chrome", я предлагаю вместо этого использовать "Chromium".

См .: Загрузить Chromium

  1. Посмотрите последний раз в http://googlechromereleases.blogspot.com/search/label/Stable%20updates "44." было упомянуто.
  2. Прокрутите историю версий («44.0.2403.157») в поиске позиции.
  3. В этом случае он возвращает базовую позицию «330231». Это коммит, в котором был разветвлен выпуск 44 еще в мае 2015 года *.
  4. Открыть архив непрерывных сборок
  5. Нажмите на своей платформе (Linux / Mac / Win)
  6. Вставьте «330231» в поле фильтра вверху и дождитесь, пока все результаты будут помещены в XHR.
  7. В конце концов я получаю отличный результат: https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Mac/330231/
    1. Иногда вам может потребоваться уменьшить номер фиксации, пока вы не найдете его.
  8. Скачивайте и запускайте!
Алекс Хоу
источник
4

Может быть, небольшая виртуальная машина?

Попробуйте VirtualBox - бесплатную программу для установки виртуальных машин (много работы для того, что вы хотите сделать, но она сработает)

In81Vad0
источник
3

Думаю, я мог понять это в Windows. Вы можете запускать разные версии Chrome одновременно!

Сделайте следующее:

  • Скопируйте каталог номеров версий в обычный каталог c: \ users \ yourUser \ appdata \ local \ google \ chrome \ application (я предполагаю, что у вас была резервная копия каталога более старой версии Chrome до того, как произошло обновление)

  • Скопируйте chrome.exe из старой версии под новым именем, например chrome_custom.exe

  • Запустить Chrome как chrome_custom.exe --chrome-version = oldVersion --user-data-dir = newDir

Это оно! Я использую этот метод для запуска автоматического теста в Chrome с Selenium, пока селен не догонит и не будет хорошо работать с последней версией Chrome.

Брюки Binod
источник
Звучит интересно и удобнее, чем одна учетная запись пользователя для каждой версии Chrome. Я попробую.
Пол Д. Уэйт
2

Я сделал следующее на виртуальной машине Citrix XenDesktop, однако вы можете просто сделать это на своем локальном ПК:

Виртуальный ПК Microsoft

Если вы используете Windows 7, вы можете загрузить виртуальный компьютер Microsoft и создать столько копий Virtual PC, сколько вам нужно для тестирования, без каких-либо проблем с лицензированием:

Для этого не требуются дополнительные лицензии Windows; вы просто настраиваете несколько компьютеров с разными браузерами. Вы можете запускать браузеры из окна, следуя инструкциям, доступным здесь:

Установка браузеров

Вам нужно будет создать как минимум 3 виртуальных компьютера (совет: уменьшите объем памяти до 256 МБ для каждого виртуального ПК, чтобы не тратить память на виртуальные рабочие столы).

На первом 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 для государственных сетей), если у вас нет особых требований (я разделил Chrome и Opera по годам, так как решил, что выпусков было всего несколько). Однако, если вы обнаружите, что у кого-то есть конкретная проблема с сайтом, использующим определенную версию браузера, становится очень легко установить дополнительные виртуальные машины для запуска дополнительных версий браузера.

Получение старых браузеров

Вы можете скачать более старые версии Chrome здесь:

и Opera здесь:

Виртуализация тестовой платформы (необязательно)

Я использую Xen Desktop для виртуализации платформы тестирования, чтобы я мог использовать ее где угодно, и также включил туда свои любимые инструменты разработки:

Экспресс-версия доступна бесплатно.

Хорошая коммерческая альтернатива

Еще один замечательный продукт, с которым я недавно познакомился, - это Stylizer, редактор CSS, который устанавливает несколько версий браузеров для целей тестирования, однако это платный коммерческий продукт, но он очень хорош и стоит небольшого вознаграждения, которое требуется для его запуска.

Дэниел Лоу
источник
Я думаю, что Stack Overflow ограничивает новые способы использования ссылок, чтобы избежать спама. Как только вы наберете несколько очков репутации, вы сможете свободно размещать ссылки; Я отредактировал ваш ответ, включив тем временем ссылки. Отличный ответ!
Пол Д. Уэйт
1

Недавно я наткнулся на следующее решение этой проблемы:

Источник: несколько версий Chrome.

... это проблема с данными реестра: как это сделать тогда (это пример для 2.0.172.39 и 3.0.197.11, я попробую его со следующими версиями, когда они появятся, допустим, я начал с Chrome 2 ):

  1. Установите Chrome 2, вы найдете его в Application Dataпапке, так как я из Чехии и меня зовут Бронислав Ключка, путь выглядит следующим образом:

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

    и запустите Chrome

  2. Откройте реестр и сохраните

    [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. Сохраните те же ключи (есть изменения из-за другой версии) и снова сохраните их в chrome3.regфайл рядом с chrome.exeфайлом этой новой версии.
  6. Снова переименуйте папку (например, Chrome3)

    результатом будет отсутствие директории Chrome (только Chrome2 и Chrome3)

  7. Перейдите в папку приложений Chrome2, создайте chrome.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файла, третья строка запускает Chrome, указывающий на переданный каталог, четвертая строка прокомментирована и не будет запущена.

    Обратите внимание на формат короткого имени, переданный в качестве -user-data-dirпараметра (полный путь находится в 4-й строке), проблема в том, что Chrome, использующий этот параметр, имеет проблему с диакритическими знаками (чешские символы)

  8. Сделайте 7. еще раз для Chrome 3, обновите пути и имя файла reg в файле bat для Chrome 3

Попробуйте запустить оба файла bat, вроде работает, обе версии Chrome работают одновременно.

Обновление: при запуске диалогового окна «О программе» отображается правильная версия, но при проверке новой версии возникает ошибка. Чтобы исправить это, сделайте (я объясню из папки Chrome2): 1. переименуйте Chrome2 в Chrome 2. Перейдите в папку Chrome / Application 3. запустите файл chrome2.reg 4. запустите chrome.exe (работает так же для Chrome3), теперь проверка версий работает. Новой версии Chrome не было с тех пор, как я нашел все это решение. Но я предполагаю, что обновление будет загружено в эту папку, поэтому все, что вам нужно сделать, это обновить файл reg после обновления и переименовать папку Chrome обратно в Chrome2. Я обновлю этот пост после успешного обновления Chrome.

Бронислав Ключка

Jayarjo
источник