Skip to content

Platforms supported

fred-wang edited this page Aug 20, 2012 · 5 revisions

Platforms supported

Overview

The Webdriver API (with the help of the legacy Selenium 1 API) provides the testing support below. See the next sections for details specific to each browser and possible limitations.

  • MathJax outputs:

    • HTML-CSS using STIX, TeX or ImageTeX fonts.
    • NativeMML, including the case of MSIE + MathPlayer.
    • SVG using TeX fonts.
  • Selenium Drivers:

    • Firefox on Linux/Windows/Mac.
    • Opera on Linux/Windows/Mac.
    • Chrome on Linux/Windows/Mac.
    • Internet Explorer on Windows in document modes Quirks, IE7, IE8, IE9.
    • Safari on Windows ; Mac not tested yet.
    • Konqueror on Linux.
    • Android.
    • iOS ; not tested yet.
    • HTMLUnit on Linux/Windows/Mac.

Firefox

Automated testing works with Firefox on Linux, Windows and Mac using Webdriver. It is currently the fastest driver, the most convenient to use and it requires no specific configurations or workarounds.

For details, see http://code.google.com/p/selenium/wiki/FirefoxDriver.

Opera

Automated testing works with Opera on Linux, Windows and Mac using Webdriver. It is one of the fastest driver, one of the most convenient to use and requires no specific configurations or workarounds. One of the issue I noticed: when you run several testing instances on the same machine, the Opera instances may become unresponsive and stop.

Note that MathJax support for STIX fonts is disabled for that browser, so you can only use TeX fonts.

For details, see http://code.google.com/p/selenium/wiki/OperaDriver and https://github.com/operasoftware/operadriver#readme.

Chrome

Automated testing works with Chrome on Linux, Windows and Mac, using Webdriver. The speed should be comparable to the Firefox and Opera driver. You must install the ChromeDriver server on each test machine.

For details, see http://code.google.com/p/selenium/wiki/ChromeDriver.

Internet Explorer

Automated testing works with Internet Explorer on Windows, using Webdriver. Compared to other drivers, the execution of the tests is very slow. You must install the Internet Explorer server on each test machine. Other configurations may be necessary because of some Internet Explorer's security restrictions.

The selection of the document mode is currently implemented using the Selenium 1 API and Java keyboard events. This is not really reliable but is the best we can do until issue 2564 is fixed. If you execute several instances on the same machine, be careful that they do not start simultaneously for otherwise there may be conflicts between the keyboard events during the selection of the document mode.

For details, see http://code.google.com/p/selenium/wiki/InternetExplorerDriver.

Safari

Automated testing works with Safari on Windows, using Selenium 1. I got a proxy issue on the DSI machine that prevented to test it on Mac, so I can't say anything in that case.

However Selenium 1 is slow. An experimental driver exists but seems to have strong inconveniences like the need to register to Apple's developer program to generate a signature for the driver extension. Apparently, a Mac platform is needed to do so. I have not tested this driver yet.

Note that MathJax support for STIX fonts is disabled for that browser, so you can only use TeX fonts.

For details, see http://code.google.com/p/selenium/wiki/SafariDriver

Konqueror

Automated testing may work with Konqueror on Linux, using Selenium 1. However this support seems broken with recent versions of Selenium. Also, Webdriver does not provide a driver for Konqueror.

Android

Automated testing works with Android, using Webdriver. I have only tested it using an emulator on Linux, not a real Device.

The documentation says to setup port forwarding to make the android server available at http://localhost:8080/wd/hub. However, this address seems to be only reachable from the machine on which the emulator is running. Consequently, I've only been able to make it work when the test runner and Android emulator are on the same machine.

Similarly, the address http://localhost/ does not seem reachable from the emulator, so I've used http://devel.mathjax.org instead to get the test suite pages and MathJax scripts.

Obviously, the screen resolution is lower on a mobile, so that may be problematic for some visual reftests. Android can however be used with larger resolutions.

For details, see http://code.google.com/p/selenium/wiki/AndroidDriver

iOS

Automated testing may work with iOS, using Webdriver. It seems to require a Mac and possibly a iOS device. I have not tested it yet.

For details, see http://code.google.com/p/selenium/wiki/IPhoneDriver

HTMLUnit

Automated testing works on Linux/Windows/Mac using Webdriver.

HTMLUnit is a GUI-less browser which uses the Rhino JavaScript engine. The Selenium documentation recommends it for fast testing. Obviously, visual reftest are not relevant for this configuration and thus are skipped. MathJax also uses features specific to real browsers and so even non-visual tests may fail or be irrelevant. Hence this driver does not seem really useful for our purpose.

For details, see http://code.google.com/p/selenium/wiki/HtmlUnitDriver

Clone this wiki locally