Ranorex WebDriver API for desktop automation?

Class library usage, coding and language questions.

WebDriver API for Ranorex desktop automation?

Yes
1
50%
No
0
No votes
Who cares
1
50%
I need more info
0
No votes
 
Total votes: 2

daluu
Posts: 26
Joined: Tue Jun 12, 2007 9:03 pm

Ranorex WebDriver API for desktop automation?

Post by daluu » Mon Nov 22, 2021 8:27 pm

I made a post a long time ago that has since been locked: thoughts-on-a-ranorex-webdriver-t7423.html, or else I could resume discussion there.

I see since my post, Ranorex has added support for Selenium/Webdriver integration, but only for web UI automation (from using Selenium Webdriver via Ranorex Studio, etc.). Has there been any thought to exposing a WebDriver API as a wrapper to the native Ranorex API for desktop UI automation, maybe controlled via a Webdriver server component for Ranorex?

Something to which I can applaud MicroFocus for offering: https://github.com/MicroFocus/SilkAppDriver. I wish more commercial vendors had something similar.

I do however understand this may not be a priority for Ranorex's roadmap. The post doesn't have to be targetted to Ranorex the vendor itself though, it would be nice if the (developer-ish) Ranorex user community could build an unofficial Webdriver API wrapper around Ranorex API to offer an alternative way to use Ranorex.

User avatar
odklizec
Ranorex Guru
Ranorex Guru
Posts: 7470
Joined: Mon Aug 13, 2012 9:54 am
Location: Zilina, Slovakia

Re: Ranorex WebDriver API for desktop automation?

Post by odklizec » Tue Nov 23, 2021 7:42 am

Hi,

What would be an advantage of such possibility? In my opinion, Ranorex itself offers a very robust solution for automating desktop apps, which, in fact, works also with web and mobile apps. It's all-in-one solution. Selenium integration makes sense only for a very small portion of web apps and for remote execution on by-default unsupported systems (typically headless testing and testing on Mac or Linux). I mean, I see no real advantage of integrating less efficient Selenium for desktop apps, which is not intended to be used with desktop apps at all?
Pavel Kudrys
Ranorex explorer at Descartes Systems

Please add these details to your questions:
  • Ranorex Snapshot. Learn how to create one >here<
  • Ranorex xPath of problematic element(s)
  • Ranorex version
  • OS version
  • HW configuration

daluu
Posts: 26
Joined: Tue Jun 12, 2007 9:03 pm

Re: Ranorex WebDriver API for desktop automation?

Post by daluu » Sat Nov 27, 2021 6:06 am

The point of this discussion is not merging 2 tools together (whether one is the dominant tool vs the other or not), but rather giving automators more choice/options in how they automate.

One thing I dislike for automation tools in general is each has their own custom API and maybe object identification scheme. Selenium WebDriver via their WebDriver/JSONWireProtocol specification that was adopted by the W3C has provided a more standardized API and object identification schema. It started with web automation yes, but has since been adopted for mobile app automation in tools like Appium, and adopted for desktop automation with tools like WinAppDriver and SilkAppDriver.

If there was a WebDriver API interface for Ranorex (desktop automation), an automator not familiar with the details of Ranorex would be able to use it with the well known WebDriver API rather than learn a custom API. It would also allow the ability in a single codebase (and single API but with 2 or more instances of a WebDriver) to invoke both desktop automation and web and/or mobile automation for an integration/system level test. For example, make change on desktop version of an app and see it reflected in the mobile app version and vice versa. If not using a WebDriver API only setup, you'd then have to use 2 different APIs to orchestrate this kind of test, and in some cases where APIs are available only in certain languages, you might then have to have multiple languages involved, whereas WebDriver API gives more flexibility because there are many numerous client language interfaces to it.

So this thread is just about building WebDriver protocol support for Ranorex as an alternate API for users to use. I prefer not to learn yet another API if I don't have to.

User avatar
odklizec
Ranorex Guru
Ranorex Guru
Posts: 7470
Joined: Mon Aug 13, 2012 9:54 am
Location: Zilina, Slovakia

Re: Ranorex WebDriver API for desktop automation?

Post by odklizec » Sat Nov 27, 2021 8:21 am

Hi,

I understand your point. However, what would be the point of using Ranorex if there would be two completely different APIs? I mean, that Ranorex is trying to unify mobile, desktop and web automation with comprehensive set of tools and single API. Now what would be a point of having TWO completely different APIs? It may probably help someone coming from another tool, like webdriver. But what would make him to learn a new tool? And I think it would be a nightmare to keep both APIs and set of tools at the same level? There would be required compromises in design, because what may be possible in one API, may not be possible with other one. So certain tools would be either limited (to keep them compatible with both APIs) or there would be required separate tools for each API ;) Do you see the problem? In my personal opinion, too many choices are not good for anyone.
Pavel Kudrys
Ranorex explorer at Descartes Systems

Please add these details to your questions:
  • Ranorex Snapshot. Learn how to create one >here<
  • Ranorex xPath of problematic element(s)
  • Ranorex version
  • OS version
  • HW configuration

daluu
Posts: 26
Joined: Tue Jun 12, 2007 9:03 pm

Re: Ranorex WebDriver API for desktop automation?

Post by daluu » Sun Nov 28, 2021 9:15 pm

Your point is well taken. In my opinion, life is not perfect, there is no perfect solution, and in that aspect, there is still room for a good enough solution that compromises between our two points. It wouldn't be perfect nor satisfy everyone, but I think it can be good enough to be useful to a subset of users.

And I didn't say this was something for just Ranorex the vendor to do, sometimes creative solutions come from the (open source) community (as a 3rd party). I wouldn't mind looking into it if/when I had the time. Just sharing ideas here for now. I did similar 3rd party external contribution work for other automation tools before (e.g. AutoIt), and some users did find it useful.

At the very least, one could think of it this way, if one had time to kill and wanted to work on a software development project that could benefit users, and/or learn something along the way, or want to make an open source contribution. This topic could be one such project to consider.