automatictester

my thoughts on test automation

Selenium WebDriver and Opera browser

Do you think WebDriver and Opera are going to work together? Of course they are, there is OperaDriver! Really? No, not really… Things are quite complex and there is a lot of miscommunication with regards to WebDriver support for Opera in test automation community. To get better understanding why things got so complex, I’d suggest to get familiar with Opera version history, in particular version 12 and 15. Opera browser was based on Presto engine up to version 12. With next version (not 13, but 15!), Opera switched to Blink engine.

OK, but how does it relate to WebDriver? Well known OperaDriver supports only browser versions 12 and older. You can read more about this OperaDriver (which was renamed to OperaPrestoDriver less than 2 weeks ago) on GitHub. I don’t like making up new names for software which is effectively being discontinued, as this can cause massive information chaos. Anyway, with current Opera version being 25, there is a massive gap!

Less than month ago, OperaChromiumDriver kicked off, which promises hassle-free WebDriver support for Opera 26 and above. This is a brand new project so I’d say it is very important to be realistic about expectations. I wish them best of luck and hope to see Selenium WebDriver & Opera working together soon!

In the meantime, if you try to run your Selenium tests using most recent Opera version and old OperaDriver (aka OperaPrestoDriver), expect  Invalid service list received  error. Don’t go this way, those two are incompatible.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: