Image CAPTCHA
Enter the characters shown in the image.

You are here

Making Selenium to Work on IE

It seems that Selenium and IE are not really targeted to work together, some reliability issues, some synchronization issues, some performance issues, making the effort much higher than working with other browsers, maybe it is best is not to use them together, but in some occasions it is not a matter of choice, and you must make it work.

Here are some tricks that can help you solve this riddle and give you a safe passage to good automation frameworks.   

 

Synchronization Issues

Sometimes thing that run find on Chrome or Firefox, not really run on IE, me call it Synchronization.

Let us say for example that you are looking for specific element in your web under test, scripts run fast against Chrome and Firefox, and find it easily in the DOM presented, on the other hand on IE, it is return too slow than Selenium operation. The result is test failure, while the problem is really IE response.

To handle this situation, we recommend using one of the WebDriver wait methods, which means that you provide the wait with a condition that you check for to be true, and the driver will poll that condition to be true before continuing. So it checks for the condition for a very short time. If it finds the element it continues, or it will continue to poll for the element every few seconds until finding the element, or it reaches the timeout limit you set it to wait.

This is superior to a Thread.Sleep-type wait, because rather than wait the full time specified regardless of whether the element appears quicker, then the wait is set.

This makes your tests more reliable and saves your run time execution.

Use Thread.Sleep only if you are debugging and want to check if adding a wait helps your script. If it does, that means that you should replace the Thread.Sleep with a more efficient wait method.

On case, you need to wait for specific period than Thread.Sleep can also be used.

 

CSS and JavaScript

Occasionally you may have to support running your test against an older version of Internet Explorer. There are some things you’ll want to be aware of in these situations.

First, the IE driver is version-agnostic, but you might have an issue with older IE versions and CSS locators. Current versions of IE have support for CSS 3 selectors, like last-of-type or first-of-type. Older versions of IE do not support those selectors. So if you know you’re going to be testing an older version of IE you may want to use a different locator. To see which versions support the CSS3 selector, the Can I use website is a great resource.

 

IE Performance Issues

Some other challenges are JavaScript-heavy test suites; there are some issues with the 64-bit version of the Internet Explorer JavaScript engine in certain version of IE that cause them to be much slower than the one used in the 32-bit version of IE.

You don’t need to do anything; just be aware that you may have performance issues with 64-bit IE. You could also get around this by using parallelism to run your test suite across multiple machines.

 

IE Configurations for Selenium

Some other common IE things to look for are configuration issues, and properly configuring Internet Explorer to work the IE driver.

In particular, there’s a requirement that you must set your protected mode for the browser to function correctly.

This is actually a well-documented issue, but in my experience, it is what causes the majority of issues, my team encounters. I have actually created a video for the top three IE issue and configurations how to resolve them.

 

Browser vendors own Selenium Driver implementations

In the near future, browser vendors will be responsible for maintaining their own driver implementations of Selenium WebDriver.

There is currently a W3C draft specification for WebDriver, and once it is approved it will become a W3C standard.

Once it is a standard, it will give browser vendors a specification they can use to implement as part of their browser delivery — giving them a web driver that is part of their browser!

Chrome is already doing this by with Chromium.

Mozilla is working on their version of the driver, which they are calling Marionette. Microsoft implementation is available for IE11, but it’s still in the experimental stages — the W3C standard is still in an early editor draft version — so it may not include all the Selenium functionality as of yet.

 

Summary

  • Some issues with IE 64bit javascript engine
  • Biggest issue with running against IE tend to by synchronization issues
  • Is CSS or XPATH slower against IE?
  • IE does not have a native XPath engine
  • Microsoft is in the process of developing a native XPath DOM engine
  • Selenium WebDriver specification becoming a W3C standard and the browsers vendors will be responsible for maintaining in the future
  • Microsoft already working on provided a vendor based WebDriver implementation for Internet Explorer
  • Webdriver 3.0 release info
  • Learn how to contribute to the Selenium project
  • Learn what the IE configurations settings should be before you run your tests
  • How to better maintain out Selenium Test Suites
  • Why the Watir API is cool
  • And much much more!
About The Author: 

 


 

Displaying 1 - 15 of 123
Title Company Scope Application Rights User Interface Available Supported Technologies Maturity
JMeter Apache Test Automation Framework; Testing Tool Free Use; Opensource Batch Mode; Plugin; Stand Alone application JDBC Driver; JMS; LDAP CORBA; IMAP; POP3; SMTP; SOAP; Web; HTTP; HTTPS 1,999
QA Wizard Pro Seapine Software Testing Tool Commercial; Demo; Floating license; Static license; Trial; User license GUI usability; Remote Control; Remote Execution Adobe Flash; Adobe Flex; AJAX; Dot.NET; Java; Qt; Silverlight; VB App; Web; HTML; HTML5; JavaScript; Windows GUI/Forms; Win32 2,007
JSystem Top-Q Test Automation Framework; Testing Tool Free Use; Opensource Ant Integration; Batch Mode; GUI usability; Integrated into ALM; Integrated into IDE; Maven Integration; Plugin; Stand Alone application Web 2,011
Jelly Apache Test Automation Framework; Testing Tool Free Use; Opensource Batch Mode; JRE UI 2,010
Watir Watir.com Test Automation Framework; Testing Tool Free Use; Opensource Batch Mode; Command Line; GUI usability; Tool Extension RubyOnRails; Web 2,011
FitNesse GitHub project Test Automation Framework; Testing Tool Free Use; Opensource Batch Mode; Integrated into IDE; Plugin; Web based Database; MS SQL; MySQL; Oracle; SOAP; Swing; Web; HTML 2,009
Automation Anywhere Enterprise Automation Anywhere Testing Tool; Testing Utility; Automate Gui Commercial; Demo; Trial GUI usability; Stand Alone application 2,008
Unified Functional Testing Hewlett Packard Enterprise Test Automation Framework; Testing Tool Commercial; Demo; Free Use; Trial Batch Mode; COM API; GUI usability; Integrated into ALM; Remote Execution; Stand Alone application Adobe Flex; OCR; SAP; SAP Gui; Siebel; HTML; Windows GUI/Forms; Win32 2,000
eggPlant Functional TestPlant Monitoring Tool; Testing Tool; Emulator Commercial; Demo; Floating license; Static license; Subscription; Trial GUI usability; Integrated into ALM; Plugin; Remote Execution; Stand Alone application Adobe Flash; Adobe Flex; AJAX; Dot.NET; Java App; Java GUI; Image Verification; Mobile Applications; Android apps; Blackberry apps; Hybrid Apps; iPhone apps; Native Apps; Symbian apps; Web Apps; Windows Mobile apps; Mobile Features; RIA; Silverlight; Swing; Web; DHTML; HTML; SWT; Windows GUI/Forms 2,008
TestComplete SmartBear Software Test Automation Framework; Testing Tool Commercial; Floating license; Trial; User license COM API; Stand Alone application Adobe Air; Adobe Flash; Adobe Flex; C/C++; Dot.NET; Java; Java App; JavaFX; Delphi App; Microsoft Visual FoxPro; PowerBuilder; NTLM; Qt; RIA; Silverlight; VB App; Web; ASP; HTML; Windows GUI/Forms; Win32; WPF/XAML; XBAP 1,999
Tellurium (aost) Google Code Projects Test Automation Framework; Testing Tool Free Use; Opensource Ant Integration; Direct UI; Maven Integration; Plugin JavaScript; jQuery; Xpath 2,007
LDTP GitHub project Test Automation Framework; Testing Tool Free Use; Opensource GUI usability; Stand Alone application Java; Perl App; RubyOnRails 2,004
Ranorex Integrated Test Automation Tools Ranorex Test Automation Framework; Testing Tool; Testing Utility Commercial; Demo; Floating license; Static license; Trial Command Line; GUI usability; Integrated into IDE; Stand Alone application Adobe Air; Adobe Flash; Adobe Flex; AJAX; Dot.NET; Java; Java App; Java GUI; Java SWT; JavaFX; ComponentOne controls; Delphi App; Echo; Ext.Net; GWT; Image Verification; Infragistics; JSON; Microsoft Visual FoxPro; Mobile Applications; Android apps; Hybrid Apps; iPhone apps; Native Apps; Web Apps; Windows Mobile apps; Mobile Features; GPS testing; Mobile Bluetooth; Android; IOS; MochiKit; PowerBuilder; Qt; RIA; SAP; Sencha Touch; Silverlight; SmartClient; VB App; Web; DHTML; DHTMLX; HTML; HTML5; JavaScript; jQuery; Web2.0; Xpath; Windows GUI/Forms; ActiveX; MFC; Win32; Windows 10 Apps; WPF/XAML; YUI; ZK 2,007
Rational Functional Tester [RFT] IBM Rational Test Automation Framework; Testing Tool Commercial; Demo; Static license; Trial GUI usability; Integrated into ALM; Integrated into IDE; Stand Alone application Adobe Flex; AJAX; Code Testing; Dot.NET; Java; Java App; Java GUI; PowerBuilder; SAP; Siebel; Terminal Emulator 3270; Terminal Emulator 5250; VB App; Web; HTML; Windows GUI/Forms; MFC; MSExcel; MSOutlook; Windows 10 Apps 2,001
IQ Bot Automation Anywhere Testing Tool Commercial; Demo; Trial; User license Command Line; GUI usability Adobe Flex; AJAX; C/C++; Dot.NET; Java; Java App; Delphi App; Perl App; PHP; Silverlight; Web; HTML; Windows GUI/Forms; Win32; WPF/XAML 2,012

Pages

MANUFACTURERS Wallboard

Testing tool manufacturers world-wide list
10Levels ABID CONSULTING AccelQ Accord Software ActiMind AdaCore
AdaLog AgileLoad AgileWay Agitar Algorismi ALL4TEC
Andreas Kleffel Android Apache Apica Apollo Systems AppAssist.mobi
Applitools AppPerfect Appsee ApTest Assertible Assure
Atlassian AutoIt Consulti .. Automation Anyw .. Automation Cons .. Axosoft Aztaz Software
Backtrace I/O Badboy BlazeMeter Borvid BrowserStack BSQUARE
BStriker Intern .. CA Technologies Canonical Canoo Engineeri .. Catch Software CelestialTeapot
Chris Mallett Cleanscape ClicTest CloudQA Codeborne CodeCentrix
CodePlex projec .. Codoid Cogitek Compuware Configure IT Conflair
ConSol Core Services Coronys Ltd Countersoft CresTech Softwa .. CrossBrowserTes ..
Crosscheck Netw .. Crowdsourced Te .. Cucumber Ltd Cyara Cygnet Infotech DareBoost
Databene Datamatics Glob .. DevExpress DTM soft Dynatrace LLC EasyQA
Eclipse EkaTechserv Elvior Emmanuel Jorge Empirix EPAM Systems
Equafy Esterel Technol .. eXept Software .. Experitest Finaris Froglogic
FrontEndART Ltd GeneXus GitHub project gnoso Google Code Pro .. GrammaTech
Gurock Software HelpSystems HENIX Hewlett Packard .. Hexawise High-Tech Bridg ..
Hiptest Hitex IBM Rational imbus Shanghai Impetus Inflectra
informUp InTENSO - IT Ex .. Ipswitch Jamo Solutions Janova JAR Technologie ..
JBoss Developer jClarity Jellly.io JetBrains Jively jQuery foundati ..
JS Foundation Jspresso Kanoah KMS Technology Kualitee LDRA Limited
Litmus LoadFocus Loadster Perfor .. MarathonITE Marketcircle Marketcircle
Maveryx Meliora Ltd Micro Focus Sof .. Microsoft Mobile Labs Mobile1st
Mockaroo, LLC Monkop Mozila MSys Technologi .. Navicat NeoTys
Neowise Softwar .. NetCart NORIZZK.COM Novosync Mobili .. NRG Global NTT Resonant
OC Systems Odin Technology OpCord Oracle Orcanos Original Softwa ..
OW2 PANAYA Parasoft PassMark Patterson Consu .. Perfecto Mobile
Pivotal, Inc. Plutora Postman (API To .. PractiTest PrimaTest Process One
Programming Res .. Psoda PureLoad PushToTest Python Q-Assurance
QA Systems QACube QASymphony QAWorks QMetry Quali
Qualitia Softwa .. Quality First S .. Quotium RadView Softwar .. Ranorex RedLine13
Reflective Solu .. ReQtest RevDeBug Robotium Tech Rogue Wave Soft .. Rommana Softwar ..
RTTS ruby-doc.org Runscope Sandklef GNU La .. Sauce Labs Seapine Softwar ..
SeleniumHQ Sencha Sensiple Siemens PLM Sof .. SmartBear Softw .. SmarteSoft
SOASTA SoftLogica Softomotive Softsmith Solution-Soft SonarSource
Sourceforge Spirent Technol .. SQS Software Qu .. Square Stimulus Techno .. Swifting AB
Synopsys T-komp T-Plan TechExcel TechTalk Telerik By Prog ..
Tellurium Test Collab Test Goat Test Recon TestCaseLab testCloud.de Gm ..
TestCraft Techn .. Testenium Testim.io TestingBot TestLodge Testmunk
Testomato TestOptimal TestPlant TestPro Testsigma Techn .. Testuff
The Core Bankin .. The MathWorks The Open Group thePHP.cc Thoughtbot Thoughtworks
Tigris.org Time Simulator Top-Q Trace Technolog .. TrendIC TRICENTIS
Tritusa Pty Ltd TWD Solutions P .. TypeMock Tyto Software Ubertesters UniTESK
Universal Test .. Usetrace Ltd Utrecht Univers .. Validata Group Vanamco AG Vector Software
Veracode Verifaya Corpor .. Verit VersionOne Viewlike.us Vornex Inc.
Watir.com WcfStorm Soluti .. We Are Mammoth Web Performance .. Wintask Wireshark Found ..
Worksoft Xceptance XK72 Xpand IT XQual ZAPTEST
Zeenyx Software .. Zephyr Zeta Software zutubi pty

Selenium Youtube Playlist

Theme by Danetsoft and Danang Probo Sayekti