29

Details

One of our customers uses a rather old software solution, and this is still based (yes, it's unbelievable!) on Internet Explorer 5, and the customer still uses IE 11 in compatibility mode.

We are currently using a virtual environment to test IE 5, but only manually, not automated.

I do not want to ask for frameworks, but would be absolutely grateful for any other conceivable solution!

Compatibility mode does not provide a solution to problems that can only be emulated in IE 5. So is it absolutely impossible to test this automatically nowadays?

Question Is there a solution, a procedure that allows testing IE 5 from today's point of view?

  • 20
    browserstack and sauce labs support versions 6+ and 8+ but not 5. In other words IE5 is twenty two+ years old. The time the company will spend on this issue will likely outweigh the time to just use a modern browser. What problems or issues exist, they should be the focus. "We just want to keep using a horse-cart, where do I get oats and who cleans the streets" is one analogy of being stubborn in the face of overwhelming change. – Michael Durrant Jan 9 at 12:43
  • 4
    Fair enough. I suspect you will spend a huge amount for little return. As long as you are being reimbursed that is fine. Otherwise effort might be better put into attracting other clients. – Michael Durrant Jan 9 at 12:54
  • 3
    Note: rewrite the whole application should not be necessary. You are talking about web pages in a browser. What might be very hard is the current process which exploits an old insecure browser to get the job done. If the company has money or customers on the line (most do), letting the company know those risks is important. I would do that and move on. – Michael Durrant Jan 9 at 12:57
  • 5
    Simply put- When you run it in a modern browser What problems are you encountering. If none, then the push to upgrade clients becomes stronger because it is easier. Also recommend 'chrome install' over 'IE upgrade' it will be an easier path. – Michael Durrant Jan 9 at 13:18
  • 41
    If the customer is using IE 11 in compatibility mode, why not test the same? – Roddy Jan 10 at 1:39
18

Given that the customer insists, I'd recommend using a virtual environment with IE5 installed, and then search for automation solutions that can work in that environment. This will be a challenge: you will need something that can operate on the elderly operating system (I think XP can run IE5, but I'm not sure about anything newer) and preferably something open source since I don't see your employer wanting to spend anything on an antique OS and an antique browser solution for one customer.

You probably can't use Selenium - as far as I can tell, the oldest version of IE they ever supported was IE6. You may be able to find a way to use some of the oldest version of the older test automation tools without having to pay a lot.

Good luck.

  • 1
    Thanks Kate. I researched Browserstack, Sauce Labs and other sites and none of them supported an IE5 virtual environment. – Michael Durrant Jan 9 at 13:15
  • @MichaelDurrant - this does not surprise me. Sadly, there were features in IE5 that were discarded and never used in later versions or in other browsers, which led to a lot of corporate consolidation on IE5. It was convenient, but the security aspect was... less than ideal. – Kate Paulk Jan 9 at 14:46
  • 1
    This is far from an ideal solution, but the Visual Basic 6 WebBrowser component can be set to use IE5. This can then be reasonably controlled from within a Visual Basic script. – Yonatan N Jan 10 at 1:18
  • 2
    Good luck getting IE5 on XP; it shipped with IE6, and MSFT doesn't offer IE5 as a download anywhere. You'll need to ship ME (or 2000) instead, which comes with IE5 included. – TylerH Jan 10 at 15:26
  • My bad... I'd thought IE6 came out soon after XP. – Kate Paulk Jan 10 at 15:49
29

Why test in IE5 if the customer isn't using it?

It doesn't sound like they actually want IE5 support. They just want it to work. Test in IE11 Compatibility mode, as that's what they use.

  • 2
    +1 Yeah, probably they do not have Win98SE kiosk terminals, or maybe they do and it runs the local ATM ;-) – Niels van Reijmersdal Jan 10 at 11:43
  • 1
    @NielsvanReijmersdal If you want to go there - OS/2 was (and still is?) used for ATMs - and Microsoft released Internet Explorer 3 for OS/2 - so I'd love (er... hate) to see some have to test for that today. (UPDATE: Wikipedia lists IE3 for OS/2, but I can't find any authoritative sources, hmm). – Dai Jan 11 at 14:41
  • This is the truly correct answer – LBg Jan 12 at 20:14
17

Another approach (or part of one).

Before proceeding ask for a sign-off on a document that clearly states the security risk this presents to the organization and its customers and that they acknowledge that risk. This might get more attention, though it is obviously a little aggressive (or may be perceived to be that way). Adjust approach as needed for the nuances and politics of your organization.

  • 2
    Well I don't want to do any penetration test, probably OWASP will kill me :) – Mornon Jan 9 at 13:31
  • 4
    Your attackers will enjoy that approach :) – Michael Durrant Jan 9 at 13:45
14

Look around on the internet, e.g. ebay, for Windows machines that are 15-20 years old.

I don't like this answer but given the crazy situation I am suggesting it.

  • Seriously, we have at least thought about it. But you're gonna have to make room for some stuff. – Mornon Jan 9 at 13:07
  • 2
    What does 'make room for some stuff' mean ? – Michael Durrant Jan 9 at 13:14
  • 2
    Do you particularly need an old machine? Why not just an older OS? Is newer hardware incapable of running old OSes? – Flater Jan 9 at 22:17
  • 5
    @Flater - older OSs don't have the drivers you need for modern equipment. It might work but device manager is going to have a flag fest that you can do nothing about. Prob need a PCI network card at the very least that either 98 (or XP?) has drivers for. Is this stuff old enough yet to ask this on Retro Computing? – Mazura Jan 10 at 1:59
  • 4
    A couple of years ago I dug out my old Win98 SE install disk and key and installed a VM for gaming use (works great - Perfect General 2 and Terra Nova run in it). The default browser after install is indeed IE5. – Skrrp Jan 10 at 3:22
5

There is no way to automate this in a way comparable to your current method. This is due to the lack of comparable automation APIs and basic action feedback.

It is possible to manually test this by setting up virtual machines, this can still be done, even for Windows 95, etc. This will not work on public clouds or popular commercial hypervisors but can be done fairly consistently using qemu.

On the automation customisation part, there are a very small number of things you can do; a generic method that simply sends serial mouse data and ps/2 keyboard interrupts to the VM, has no feedback but with correct timing, you can automate the basics of launching and navigating. You’d end up with a script that starts qemu, waits for a minute, then clicks IE, waits a minute, clicks address bar, waits a few seconds, types address and presses enter, waits a few seconds, takes a screenshot of the virtual video output... you get the list. This doesn’t allow for aborts if the browser fails for whatever reason but it is repeatable and safe (just use a shadow disk to ignore the writes).

5

Here's an idea: Install Linux.

I recommend using a virtual machine such as VirtualBox, which can run on a normal Windows box, to install a popular, well-maintained and lightweight system such as Lubuntu or Bodhi. Using a virtual machine means that you can run it as an app on your Windows computer; and this method will shield both the host and guest machines from malware that the ancient IE5 might pick up.

On the Linux machine, install PlayOnLinux (from the standard repositories — for full compatibility, don't download it from the website). PlayOnLinux has a built-in method to install legacy Internet Explorer 5 or 5.5. If there is data that IE5 needs to share with the host machine, you can set up a shared folder on the host machine for this.

Once set up, you can save the virtual machine and then copy it to other Windows boxes as required, without having to set up each machine individually.

Although it takes more initial setup (it shouldn't take an experienced Linux user more than a couple of hours on a modern Windows box), it's a safe and portable solution.

4

There are solutions for IE6 and higher, but great scott - IE5 is out of reach, for sure for automated tests.

I've found something like this: https://netrenderer.com/ but it doesn't even support https.

1

To add for what others wrote, it is REALLY POSSIBLE to automate tests for IE5. When you run inside VM, you can automate it outside of the VM.

I will explain, think about automation that moves the mouse, clicks on specific items on the screen, and compare the screenshot image to the expected results. It should work.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.