views:

408

answers:

5

I've got my Rails application on Mac OS X and it's ready for IE compatibility testing. I've tried running the server and booting up VMware and pulling up the localhost:3000 with no luck.

How can I test my Rails application on IE6-8 and Chrome without deploying it somewhere?

+5  A: 

All you need is the correct IP address that VMWare uses to access your mac, then you can access it like this:

http://192.168.1.2:3000

And test it just fine. I would tell you how to find it but I have more experience with Parallels.

EDIT Ok, it seems you need to open your network connection information in the guest operating system (Windows) and grab the "Gateway" address which should be the IP address that VMWare is using to connect to your Mac. Simply add :3000 to the end of it and you should be able to access your Rails site from Internet Explorer (be sure to put the http:// on as well).

Doug Neiner
+1, but any better ip address example than 123.456.123.456?, because it is invalid :D
S.Mark
@S.Mark LOL... duly noted, look better now? :)
Doug Neiner
Sure ............
S.Mark
+1  A: 

You can't use localhost from within VmWare (unless the rails app is running inside the VmWare image). You need the ip address or hostname of the host machine, the mac in this case!

code-zoop
A: 

Find the IP address that Windows is using by typing ipconfig from within a Command Prompt in VMware (the number you're looking for is labelled IP Address). Then replace the last number with a 1 or a 2.

For example, if the IP address that Windows is using within VMware is 192.168.78.0 then your Rails application will be available at:

http://192.168.78.1:3000/
John Topley
+2  A: 

VMWare has three different networking modes:

  • NAT - The image is run in an isolated network that is routed through the host computer.
  • Bridged - The image is run on the same network as the host computer as an independent device.
  • Host Only - The image is run in an isolated network that is not routed.

In NAT mode you need to check the gateway IP and use that as you would localhost. Since this number appears to be arbitrary, yet unchanging for any given image, it may be more convenient to make an entry in your HOSTS file to save it for posterity.

In bridged mode, you simply use the IP address of the host machine, not the special VMWare one.

Using NAT is the most straightforward, as you simply have to check the output of ROUTE PRINT and look for the default gateway:

Network Destination        Netmask          Gateway       Interface  Metric
      0.0.0.0          0.0.0.0     172.16.153.2  172.16.153.130       10

Usually this is the first line, but it is the one identified by destination 0.0.0.0.

Add this entry to your hosts file at c:\windows\system32\drivers\etc on XP:

172.16.153.2    localhost.local

Then you can use the address http://localhost.local:3000/ instead of the arbitrary IP address. If you're using Passenger to run your applications, you can add additional lines for each entry defined by Passenger.

tadman
A: 

there is of course also the possibility to check for valid rendering via webapplications - see:

  1. http://browsershots.org (free!)
  2. http://www.browsercam.com/ (they have a demo)
  3. http://litmusapp.com/ (paid)
z3cko