Skip to content

Platforms supported

fred-wang edited this page Apr 14, 2012 · 5 revisions

Platforms supported

Overview

The combination of Selenium 1 and Webdriver APIs should provide 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.

Note that MathJax support for STIX fonts is disabled for that browser, so you can only use TeX fonts. On Windows, use Opera >= 11.60 to avoid issues with the program files directory being unwritable. Otherwise it is one of the fastest driver and one of the most convenient to use.

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.

However, the Chrome driver on Linux has a serious limitation at the moment: it is not possible to take screenshots. Hence, when you execute a set of tests that includes visual reftests, you must use the Selenium 1 API instead, which seems two to three times slower that the Webdriver API. Otherwise, the speed should be comparable to Firefox or Opera.

An additional configuration is required to use the Webdriver API: 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.

However it does not have all the benefits of other drivers. For example, 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. Also this driver is a bit slower and only one instance at once can be executed on a given machine.

To use Webdriver, you may need to do some specific configurations.

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