8 Tools to Check Cross-Browser Compatibility

Hii guys, you know how is hard test cross-browsers. We have a lot of problems with versions of different browsers, different SOs and for this huge possibilities it is impossible to test your automation in every browser with all possibilities of SOs and configuration.

So, here are the list of tools that you can check cross-browser compatibility:

Ghostlab offers synchronized testing for scrolls, clicks, reloads and form input across all your connected devices, meaning you can test the entire user experience, not just a simple page.

Price: $49

BrowserStack provides live, web-based browser testing with instant access to every desktop and mobile browser (currently more than 300), with the ability to test local and internal servers, providing a secure setup. The cloud-based access means no installation is required, and the pre-installed developer tools (including Firebug Lite, Microsoft Script Debugger and many more) are useful for quick cross-browser testing and debugging.

Price: $39 per month (Solo) – $399 per month (Enterprise)

Sauce Labs allows you to run tests in the cloud on more than 260 different browser platforms and devices, providing a comprehensive test infrastructure including Selenium, JavaScript, Mobile and Manual testing facilities. There’s no VM setup or maintenance required, with access to live breakpoints while the tests are running so you can jump in and take control to investigate a problem manually.

Price: $12 per month (Manual) – $149 per month (Small Team)

Spoon.net is a browser sandbox (currently Windows-only) to test or deploy multiple versions of current, beta or legacy web browsers without maintaining cumbersome virtual machines. Just log in, install a small plugin, select the browser you want to test and it will launch instantly. Because Spoon.net runs the applications in isolated “sandboxes,” you can run multiple applications side-by-side without any conflicts or dependencies.

Price: Free – $99 per month (Team)

CrossBrowserTesting offers a live testing environment with access to more than 130 browsers across 25 different operating systems and mobile devices, so you can interactively verify your layout and test AJAX, HTML Forms, JavaScript and Flash.

Price: $29.95 per month (Basic) – $199.95 per month (Business)

Browsera tests cross-browser layout problems by automatically comparing each browser’s output and locating and reporting JavaScript errors. You can test pages behind logins, as Browsera can handle logging in prior to running each test, with no installation required (the service runs entirely in the cloud).

Price: Free – $99 per month (Premium)

IE NetRenderer allows you to check how your website performs in Internet Explorer 5.5 through 11. Just type in your URL and see how your website appears in common IE versions. Once rendered, you can choose between nine versions of IE, and you’re presented with the processing time of the request and the dimensions of your website design.

Price: Free

TestingBot provides easy cross-browser testing with Selenium, either manually or automated, with more than 100 browser and OS combinations. The live, manual testing allows you to control any browser in the cloud interactively from your own browser. You can run automated tests in the cloud by specifying which browsers you want to test, when the test should run and for how long.

Price: $40 per month (Small Team) – $250 per month (Custom)


You can filter and choose the best tool for what you need with this excellent site, just choose the options that you want to filter (Really it is very useful): http://www.qatestingtools.com/taxonomy/term/59/table

In this site below you can find 13 tools, but I just chose these 8 because I think that are the most relevant of the research.


Implementing cross-browser with Selenium

Hi guys !!

I wrote a simple example of how we can implementing cross browser code.

import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.Proxy;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;

public class CrossBrowsers {

    public WebDriver Select(WebDriver driver) throws IOException, Exception {
        try {
            //Switch browsers
            switch (driver.getBrowser()) {
                case "firefox": {
                    FirefoxProfile profile = new FirefoxProfile();
                    profile.setPreference("network.proxy.type", 0);
                    driver.setDriver(new FirefoxDriver(profile));
                case "ie": {
                    DesiredCapabilities cap = DesiredCapabilities.internetExplorer();
                    Proxy proxy = new Proxy();
                    cap.setCapability(CapabilityType.PROXY, proxy);
                            InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true); 
                    cap.setCapability("ignoreZoomSetting", true);
                    cap.setCapability("ignoreProtectedModeSettings" , true);
                    cap.setCapability("initialBrowserUrl", driver.getEnvironment());
                    File file = new File("drivers//IEDriverServer.exe");
                    System.setProperty("webdriver.ie.driver", file.getCanonicalPath());
                    driver.setDriver(new InternetExplorerDriver(cap));
                case "chrome": {
                    DesiredCapabilities cap = DesiredCapabilities.chrome();
                    Proxy proxy = new Proxy();
                    cap.setCapability(CapabilityType.PROXY, proxy);
                    cap.setCapability("chrome.switches", Arrays.asList("--disable-web-security"));
                    cap.setCapability("chrome.switches", Arrays.asList("--safebrowsing-disable-download-protection"));
                    cap.setCapability("chrome.switches", Arrays.asList("--ignore-certificate-errors"));
                    File file = new File("drivers//chromedriver.exe");
                    System.setProperty("webdriver.chrome.driver", file.getCanonicalPath());
                    driver.setDriver(new ChromeDriver(cap));
        } catch (IOException ex) {
        return driver;

If you have any question or suggestion, please just write below on the comments.

Have a nice week everyone, Bye !!