So, I'm developing my rails applications on my mac, thro WEBrick at 0.0.0.0:3000 and I need to test how the layout are showing on PC running Windows with Internet Explorer 7 and IE8.
I have tried to test it thro Wine + Wine Bottler, but I can't access that point.
And now I'm thinking to install VirtualBox to give a try, but before doing this, it will be good to know from others if it will or not work for me in this case.
Any advice?
Thanks!
I use VirtualBox for interface testing. I've had no problems with it at all. I have an external drive with various disk images for firing up various versions of Windows and thus various versions of IE as well as Firefox and Chrome. Works a treat and no complaints.
We have used VirtualBox and a program called IETester:
http://www.my-debugbar.com/wiki/IETester/HomePage
It works well, even for IE6 although there are some very minor differences for IE6.
Makes it very quick to test in all versions of IE as you can have a tab for each.
Give it a go.
This fabulous answer suggests there’s no way to run multiple versions of Google Chrome on one machine.
Every now and then you’ll get a website user stuck on an old version of Chrome (no idea how, but it happens — maybe they installed the standalone version?) with an issue, and you need to be able to verify it. Bit difficult to do that without their browser version around.
Does anyone know if there’s actually a way to do this? I.e.
Obtain an installer for an older version of Google Chrome (Google seems to keep very quiet about versions, which is great for users, less great for developers trying to support old versions)
Run two versions of Google Chrome on one machine
In the comments, I mentioned a step-by-step method to easily install multiple Chrome versions, side-by-side. This answer quotes my original answer, and includes a script which does the job for you.
Quoted from: section 7 of Cross-browser testing: All major browsers on ONE machine:
Chrome: Stand-alone installers can be downloaded from File Hippo. It is also possible to run multiple Chrome versions
side-by-side.
Although Sandboxie can be used, it's
recommended to use the next native method in order to run multiple
versions side-by-side.
Download the desired version(s) from File Hippo.
Create a main directory, e.g. C:\Chrome\.
Extract the installer (=without installing), using 7-Zip for example. After extracting, a chrome.7z archive is
created. Also extract this file, and descend the created Chrome-bin
directory. Now, you see chrome.exe and a dir like 18.0.1025.45.
Move chrome.exe to 18.0.1025.45, then move this directory to
C:\Chrome. The remaining files in Chrome-bin can safely be
deleted.
Create a shortcut for each version:
"C:\Chrome\18.0.1024.45\chrome.exe" --user-data-dir="..\User Data\18" --chrome-version=18.0.1025.45
Explanation of this shortcut:
"C:\Chrome\18.0.1024.45\chrome.exe" • This is the
launcher
--user-data-dir="..\User Data\18" • User profile, relative to the location of chrome.exe. You could also have
used --user-data-dir="C:\Chrome\User Data\18" for the same effect.
Set your preferences for the lowest Chrome version, and duplicate the User profile for each Chrome version. Older Chrome versions
refuse to use User profiles from new versions.
--chrome-version=18.0.1025.45 • Location of binaries:
* The location (eg `18.0.1025.45`) must be the name of the directory:
* Must start and end with a number. A dot may appear in between.
* The numbers do not necessarily have to match the real version number (though it's convenient to use real version numbers...).
Regarding configuration: All preferences can be set at
chrome://settings/. I usually change the home page and "Under the
hood" settings.
Disable auto-updates: http://dev.chromium.org/administrators/turning-off-auto-updates
(the old version of this answer referred to Old Apps for old Chrome versions, but they do not offer direct download links any more through the UI. The files do still exist, I've created a shell script (bash) to ease the creation of a local repository of Chrome versions - see https://gist.github.com/Rob--W/8577499)
##VBScript which automates install, config & launch
I've created a VBScript which installs and configures Chrome (tested in XP and Windows 7). Launch the script, and a file dialog appears (or: Drag & drop the chrome installer on the VBS). Select the destination of the Chrome installer, and the script automatically unpacks the files and duplicates the profile from a pre-configured base directory.
By default:
The Chrome binaries are placed in subfolders of C:\Chrome\.
The User profiles are created in C:\Chrome\User Data\.
The user profiles will be duplicated from the directory as specified in the sFolderChromeUserDataDefault variable, which is C:\Chrome\User Data\2\ by default.
After the first Chrome installation, set your preferences (Home page, bookmarks, ..). Then modify the variable (see 3.) in the source code. After that, installing and configuring Chrome is as easy as pie.
The only dependency is 7-zip, expected to be located at C:\Program Files\7-zip\7z.exe.
I adopted #RobW's nice answer to get it working on Mac OS X 10.8. Other versions of Mac OS X may probably work too.
The little extra work is actually only needed to keep your original Google Chrome user settings and the old version separated.
Download another version of Google Chrome, like the Dev channel and extract the .app file
(optional) Rename it to Google Chrome X.app – if not already different from Google Chrome.app
(Be sure to replace X for all following steps with the actual version of Chrome you just downloaded)
Move Google Chrome X.app to /Applications without overwritting your current Chrome
Open the Terminal, create a shell script and make your script executable:
cd /Applications
touch google-chrome-version-start.sh
chmod +x google-chrome-version-start.sh
nano google-chrome-version-start.sh
Modify the following code according to the version you downloaded and paste it into the script
#!/usr/bin/env bash
/Applications/Google\ Chrome\ X.app/Contents/MacOS/Google\ Chrome\ X --user-data-dir="tmp/Google Chrome/X/" & disown
For example for Dev Channel:
#!/usr/bin/env bash
/Applications/Google\ Chrome\ Dev.app/Contents/MacOS/Google\ Chrome\ Dev --user-data-dir="tmp/Google Chrome Dev/" & disown
(This will store Chrome's data at ~/tmp/Google Chrome/VERSION/. For more explanations see the original answer.)
Now execute the script and be happy!
/Application/google-chrome-version-start.sh
Tested it with Google Chrome 88 on a Mac running OS X 10.15 Catalina
Your mileage may vary (mine sure did), but here's what worked for me (current version of Chrome as of this post is 33.x, and I was interested in 24.x)
Visit the Chromium repo proxy lookup site: http://omahaproxy.appspot.com/
In the little box called "Revision Lookup" type in the version number. This will translate it to a Subversion revision number. Keep that number in mind.
Visit the build repository: http://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html
Select the folder corresponding to the OS you're interested in (I have Win x64, but had to use Win,because there was no x64 build corresponding to the version I was looking for).
If you select Win, you could be in for a wait - as some of the pages have a lot of entries. Once the page loads, scroll to the folder containing the revision number you identified in an earlier step. If you don't find one, choose the next one up. This is a bit of trial and error to be honest - I had to back up about 50 revisions until I found a version close to the one I was looking for
Drill into that folder and download (on the Win version) chrome-win32.zip. That's all you need.
Unzip that file and then run chrome.exe
This worked for me and I'm running the latest Chrome alongside version 25, without problems (some profile issues on the older version, but that's neither here nor there). Didn't need to do anything else.
Again, YMMV, but try this solution first since it requires the least amount of tomfoolery.
For those who don't care if it's "Google Chrome", I suggest using "Chromium" instead.
See: Download Chromium
Look in http://googlechromereleases.blogspot.com/search/label/Stable%20updates for the last time "44." was mentioned.
Loop up that version history ("44.0.2403.157") in the Position Lookup
In this case it returns a base position of "330231". This is the commit of where the 44 release was branched, back in May 2015.*
Open the continuous builds archive
Click through on your platform (Linux/Mac/Win)
Paste "330231" into the filter field at the top and wait for all the results to XHR in.
Eventually I get a perfect hit: https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Mac/330231/
Sometimes you may have to decrement the commit number until you find one.
Download and run!
Though this seems to be an old question with many answers I'm posting another one, because it provides information about another approaches (looking more convenient than already mentioned), and the question itself remains actual.
First, there is a blogpost Running multiple versions of Google Chrome on Windows. It describes a method which works, but has 2 drawbacks:
you can't run Chrome instances of different versions simultaneously;
from time to time, Chrome changes format of its profile, and as long as
2 versions installed by this method share the same directory with
profiles, this may produce a problem if it's happened to test 2 versions
with incompatible profile formats;
Second method is a preferred one, which I'm currently using. It relies on portable versions of Chrome, which become available for every stable release at the portableapps.com.
The only requirement of this method is that existing Chrome version should not run during installation of a next version. Of course, each version must be installed in a separate directory. This way, after installation, you can run Chromes of different versions in parallel. Of course, there is a drawback in this method as well:
profiles in all versions live separately, so if you need to setup a profile in a specific way, you should do it twice or more times, according to the number of different Chrome versions you have installed.
A small virtual machine maybe?
Try VirtualBox a freeware program to install virtual machines (a lot of work for what you want to do, but it'll work)
I think I might have figured this out on Windows. You can run different versions of Chrome at the same time!
Do the following:
Copy over the version number directory into the usual c:\users\yourUser\appdata\local\google\chrome\application directory (I am assuming you had a backup of the older chrome version directory before the update occurred)
Copy over the chrome.exe from the older version as a new name such as chrome_custom.exe
Run chrome as chrome_custom.exe --chrome-version=olderVersion --user-data-dir=newDir
That's it! I use this method to run automated test on Chrome with Selenium, until selenium catches up and works well with the latest Chrome.
As professional testers, my friends use Spoon.net browsers section to test compatibility of site in various browsers. Hope this should help you.
I have done the following on a Citrix XenDesktop VM, however you could just do this on your local PC:
Microsoft Virtual PC
If you are running Windows 7, you can download Microsoft virtual PC and create as many copies of Virtual PC as you need for testing without any licensing issues:
http://www.microsoft.com/windows/virtual-pc/default.aspx
This requires no additional Windows licenses; you simply set up multiple machines with different browsers on them. You can run the browsers out of the window by following the tutorial available here:
http://ieblog.members.winisp.net/images/InstallingXPMode.htm
Installing Browsers
You will need to create at least 3 virtual PC's (tip: keep the memory down to 256mb for each virtual PC to avoid wasting memory on the virtual desktops).
On the first VPC I installed this:
http://tredosoft.com/Multiple_IE
along with Chrome 1, Safari 3.1, Opera 8.
On the second I installed Internet Explorer 7, Chrome 3, Safari 3.2.1, Opera 9.
On the third I installed Internet Explorer 8, Chrome 8. Safari 4.0.5, Opera 10.
On Windows 7 (native machine) I had Internet Explorer 9, Chrome 11, Safari 5, Opera 11 and for Firefox I install the following app natively too:
http://utilu.com/UtiluMFC/
Personally I would not go back further than 5 years with compatibility (other than IE for government networks) unless you have a specific requirement (I split Chrome & Opera across years as I decided there were just to many releases). However, if you find that someone has a specific issue with a site using a specific version of the browser it becomes very easy to install additional virtual machines to run additional browser versions.
Obtaining Older Browsers
You can download older versions of Chrome from here:
http://www.oldapps.com/google_chrome.php
and Opera here:
http://www.oldapps.com/opera.php
Virtualizing The Test Platform (Optional)
I use Xen Desktop to virtualize the testing platform so that I can use it anywhere and have included my favorite development tools on there as well:
http://deliver.citrix.com/go/citrix/XenDesktop
The express edition is available for free.
A Good Commercial Alternative
Another great product I recently came accross is Stylizer which is a CSS editor that installs multiple versions of browsers for testing purposes, however this is a commercial paid for product but is very good and worth the small fee they require to run it.
I've recently stumbled upon the following solution to this problem:
Source: Multiple versions of Chrome
...this is registry data problem: How to do it then (this is an example for 2.0.172.39 and 3.0.197.11, I'll try it with next versions as they will come, let's assume I've started with Chrome 2):
Install Chrome 2, you'll find it Application Data folder, since I'm from Czech Republic and my name is Bronislav Klučka the path looks like this:
C:\Documents and Settings\Bronislav Klučka\Local Settings\Data aplikací\Google\Chrome
and run Chrome
Open registry and save
[HKEY_CURRENT_USER\Software\Google\Update\Clients\{8A69D345-D564-463c-AFF1-A69D9E530F96}]
[HKEY_CURRENT_USER\Software\Google\Update\ClientState\{8A69D345-D564-463c-AFF1-A69D9E530F96}]
keys, put them into one chrome2.reg file and copy this file next to chrome.exe (ChromeDir\Application)
Rename Chrome folder to something else (e.g. Chrome2)
Install Chrome 3, it will install to Chrome folder again and run Chrome
Save the same keys (there are changes due to different version) and save it to the chrome3.reg file next to chrome.exe file of this new version again
Rename the folder again (e.g. Chrome3)
the result would be that there is no Chrome dir (only Chrome2 and Chrome3)
Go to the Application folder of Chrome2, create chrome.bat file with this content:
#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"
the first line is generic batch command, the second line will update registry with the content of chrome2.reg file, the third lines starts Chrome pointing to passed directory, the 4th line is commented and will not be run.
Notice short name format passed as -user-data-dir parameter (the full path is at the 4th line), the problem is that Chrome using this parameter has a problem with diacritics (Czech characters)
Do 7. again for Chrome 3, update paths and reg file name in bat file for Chrome 3
Try running both bat files, seems to be working, both versions of Chrome are running simultaneously.
Updating:
Running "About" dialog displays correct version, but an error while checking for new one. To correct that do (I'll explain form Chrome2 folder):
1. rename Chrome2 to Chrome
2. Go to Chrome/Application folder
3. run chrome2.reg file
4. run chrome.exe
(works the same for Chrome3)
now the version checking works. There has been no new version of Chrome since I've find this whole solution up. But I assume that update will be downloaded to this folder so all you need to do is to update reg file after update and rename Chrome folder back to Chrome2. I'll update this post after successful Chrome update.
Bronislav Klucka
I have tried the various way to test one of a scenario which was chrome browser specific issue.
Best Solution a/c to me: Use Portable Versions
Step-0: Uninstall your currently installed Google Chrome
Go to Control Panel > Uninstall a program > Click Google Chrome > Uninstall
Step-1: Download the portable chrome version & Rename
Download the portable version of your choice from Portable Older Chrome Versions and save it instead of running it directly.
Go to downloaded file location and Rename the file to end with _online.paf.exe. Example:
Rename from google-chrome-portable-96-0-4664-93.exe to google-chrome-portable-96-0-4664-93_online.paf.exe
Step-2: Install the portable version
Click on the renamed exe file to continue with the installation.
When asked for Destination Folder path -> Rename it to match version (just to avoid conflict with other versions and identify) as shown below.
Step-3: Finally Run the downloaded version:
Go inside the portable installed folder and from there run GoogleChromePortable.exe like below.
Whoa!! This works. Thanks a lot to the creators of Portable Chrome Versions.
Rob W answer works if you can extract chrome.7z from the installer file, Unfortunately, the installer file is not extractable anymore, but you can find chrome.7z file in this address if you have installed chrome and it updated itself:
C:\Program Files (x86)\Google\Chrome\Application\95.0.4638.54\Installer
Or search your hard disk for chrome.7z file to find where Google stores update files for your OS.
After extraction as Rob W mentioned go to extracted folder and run new chrome with command:
.\chrome.exe --user-data-dir=".\User Data" --chrome-version=95.0.4638.54
Oldapps.com has old versions of Chrome available for download, and they’re the standalone versions, so combined with #SamMeiers’ answer, these work a treat.
The Google Chrome support forum has some good discussion of getting old versions of Chrome.
I'm running selenium-rc 1.0.3 on a Mac OS X & Windows 7 and both seem to be giving my the annoying accept cert error in firefox. In reading the docs they say I should be able to just use the *firefox run mode and rc should take care of it for me via a proxy or something, but this appears to not work. The only solution that I was able to find on the internet was to create a skeleton profile and pass the path into the rc startup, but thats not a real option. As that doesn't solve problems of testing in IE/Chrome/Safari. Does any know of any other solution that will work.
Selenium-RC docs on HTTPS - http://seleniumhq.org/docs/05_selenium_rc.html#handling-https-and-security-popups
I have tried the solution given by this article (Thanks elliot) and it works well for me! Basically
1. Create a firefox profile:
a. Starting your firefox -ProfileManager (or firefox -P) in cmd.exe (make sure the firefox installation folder path is in your path environment variable, by default it should be just created when you installed firefox) and create a new profile.
b. Select this new profile to browse to the HTTPS URL and accept the self-signed certificate when prompted.
c. Go to the Firefox profile directory.
d. Delete everything in the directory except for the cert_override.txt and cert8.db files.
2. Run your selenium RC server using this profile:
such as java -jar selenium-server.jar -firefoxProfileTemplate c:/Firefox_Profile
If this is an issue with self-signed certificates, you could try using the RCE plugin for Firefox in a custom profile: http://sejq.blogspot.com/2009/01/remember-certificate-exception.html
Internet Explorer's warnings can be disabled through the advanced settings (specifics depend on the version of IE). Worth Googling around for a solution.
For Google Chrome I believe this is an unresolved issue related to: http://code.google.com/p/chromium/issues/detail?id=2010&can=5&colspec=ID%20Stars%20Pri%20Area%20Feature%20Type%20Status%20Summary%20Modified%20Owner%20Mstone%20OS
I am using selenium-server , selenium rc for UI testing in my application . My dev box is Windows with FireFox 3.5 and every thing is running fine and cool. But when i try to run selenium tests on my build server which is a linux box , i get this error
Caution: '/usr/bin/firefox': file is a script file, not a real executable. The browser environment is no longer fully under RC control
basically the selenium-rc is not able to find the firefox executable on linux(actually its a .sh file here), which is present in the case of Windows .
Has anyone faced this error before. Please let me know for any pointers.
Thanks for any help
~Pratik
Thanks!
Pratik
This is occurring because Selenium wants to start the FireFox binary directly, rather than delegate to the normal launch script. Before checking for "firefox" (which is a script on many installations), it checks for "firefox-bin". You can circumvent this problem by creating a link named "firefox-bin" that points directly at your desired version of the firefox binary.
This is described under "Ubuntu fix" (though it actually applies to other Linux'es as well) in the Cucumber Wiki at:
https://github.com/cucumber/cucumber/wiki/Setting-up-Selenium/612fae3f39528be39594d145ec12a4747855e030
Hey, I have Selenium running on Karmic with no issues. I can't quite remember how I did it, but I think it was a case of grabbing a more recent version ot the selenium-rc-serve.jar.
I also remember looking at this post: http://tero.tilus.net/rutinat/2009/08/18/cucumber-running-selenium-on-debian-lenny/
Hope something there points you in the right direction!