# Automating Desktop Application by using Robot Framework

**URL:** <https://forum.robotframework.org/t/automating-desktop-application-by-using-robot-framework/421>\
**Category:** RPA\
**Created:** [2 July 2020 10:04 UTC](https://forum.robotframework.org/t/automating-desktop-application-by-using-robot-framework/421 "2020-07-02T10:04:10Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Robotuser](https://avatars.discourse-cdn.com/v4/letter/r/e5b9ba/32.png) [@Robotuser](https://forum.robotframework.org/u/Robotuser)\
**Post date:** [2 July 2020 10:04 UTC](https://forum.robotframework.org/t/automating-desktop-application-by-using-robot-framework/421/1 "2020-07-02T10:04:10Z")

</div>

I am New to Automation testing and trying to automate a desktop application by using Robot framework /Keywords/SeleniumLibrary/Eclipse IDE.  
Which libraries i required to include other than SeleniumLibrary or any suggestions which is the best way to automate Desktop application by using Robot framework by using Keywords ?

---

<div class="post-metadata">

**Author:** ![aaltat](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.robotframework.org/aaltat/32/15_2.png) [@aaltat](https://forum.robotframework.org/u/aaltat)\
**Post date:** [2 July 2020 10:10 UTC](https://forum.robotframework.org/t/automating-desktop-application-by-using-robot-framework/421/2 "2020-07-02T10:10:38Z")

</div>

SeleniumLibrary can be used only for automating applications that runs in a modern browsers and nothing else. If you application is not running on browser, then answer depends in which operating system (Windows, Linux, Mac) your application is using and what kind of technology is used to build your application.

---

<div class="post-metadata">

**Author:** ![Robotuser](https://avatars.discourse-cdn.com/v4/letter/r/e5b9ba/32.png) [@Robotuser](https://forum.robotframework.org/u/Robotuser)\
**Post date:** [2 July 2020 10:50 UTC](https://forum.robotframework.org/t/automating-desktop-application-by-using-robot-framework/421/3 "2020-07-02T10:50:05Z")

</div>

Thank you for your Response  
I am using windows Operation System and my application build by using Java Technology.

---

<div class="post-metadata">

**Author:** ![aaltat](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.robotframework.org/aaltat/32/15_2.png) [@aaltat](https://forum.robotframework.org/u/aaltat)\
**Post date:** [2 July 2020 10:59 UTC](https://forum.robotframework.org/t/automating-desktop-application-by-using-robot-framework/421/4 "2020-07-02T10:59:54Z")

</div>

Well, I have not used Java for long time and therefore do not know is there a Java specific library available (Other than the [SwingLibrary](https://github.com/robotframework/SwingLibrary)) but there are generic windows UI libraries available, like [WhiteLibrary](https://github.com/Omenia/robotframework-whitelibrary).

---

<div class="post-metadata">

**Author:** ![Robotuser](https://avatars.discourse-cdn.com/v4/letter/r/e5b9ba/32.png) [@Robotuser](https://forum.robotframework.org/u/Robotuser)\
**Post date:** [2 July 2020 12:50 UTC](https://forum.robotframework.org/t/automating-desktop-application-by-using-robot-framework/421/5 "2020-07-02T12:50:45Z")

</div>

Thank you very much for your quick response .  
Has anyone used AUTOITLIBRARY as part of Automating Windows application ?

---

<div class="post-metadata">

**Author:** ![aaltat](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.robotframework.org/aaltat/32/15_2.png) [@aaltat](https://forum.robotframework.org/u/aaltat)\
**Post date:** [2 July 2020 13:02 UTC](https://forum.robotframework.org/t/automating-desktop-application-by-using-robot-framework/421/6 "2020-07-02T13:02:32Z")

</div>

In my current job, I have built Windows UI automation on top of the pywinauto. But that is all custom stuff and can not be released as open source.

---

<div class="post-metadata">

**Author:** ![Nuit](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.robotframework.org/nuit/32/125_2.png) [@Nuit](https://forum.robotframework.org/u/Nuit)\
**Post date:** [2 July 2020 14:47 UTC](https://forum.robotframework.org/t/automating-desktop-application-by-using-robot-framework/421/7 "2020-07-02T14:47:45Z")

</div>

I use AutoItLibrary to detect the position of windows and ImageHorizonLibrary for image comparison as well as interaction (clicks, typing). I tried to install WhiteLibrary a few weeks ago but it didn’t seem to be usable. Many of my colleagues use the Sikuli library instead of ImageHorizonLibrary but I’ve had better results with the former.

---

<div class="post-metadata">

**Author:** ![Robotuser](https://avatars.discourse-cdn.com/v4/letter/r/e5b9ba/32.png) [@Robotuser](https://forum.robotframework.org/u/Robotuser)\
**Post date:** [2 July 2020 15:23 UTC](https://forum.robotframework.org/t/automating-desktop-application-by-using-robot-framework/421/8 "2020-07-02T15:23:41Z")

</div>

Thanks for your Response , could you please help me on following issue

To Launch the Windows application , i have used following keywords and tried with 2 different libraries

1. **SikuliLibrary**

Open Application [Path - i have given application path here]

After running the script , Test result showing passed  
But on the desktop , error showing as ‘Unexpected Error has Occurred’. Object Reference not set to an instance of an object.

2) **AutoITLibraray**

The following is the actual Syntax for the Keyword

Run [Filename , workingDir= , Flag=]

But i have given as follows

Run [filename - i have given application path and i have not mentioned any Working Dir and Flag]

After running the script , Test result showing passed  
But on desktop error showing as ‘Unexpected Error has Occured’. Object Reference not set to an instance of an object.

---

<div class="post-metadata">

**Author:** ![Nuit](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.robotframework.org/nuit/32/125_2.png) [@Nuit](https://forum.robotframework.org/u/Nuit)\
**Post date:** [2 July 2020 17:03 UTC](https://forum.robotframework.org/t/automating-desktop-application-by-using-robot-framework/421/9 "2020-07-02T17:03:00Z")

</div>

I actually just use the stock process library to start and close the process. Example:

```
Run Process ${ExeName} ${Arguments}
... shell=True
... timeout=${Timeout} 
... on_timeout=terminate
... cwd=${AppRoot}
```

---

<div class="post-metadata">

**Author:** ![rasjani](https://avatars.discourse-cdn.com/v4/letter/r/858c86/32.png) [@rasjani](https://forum.robotframework.org/u/rasjani)\
**Post date:** [3 July 2020 08:30 UTC](https://forum.robotframework.org/t/automating-desktop-application-by-using-robot-framework/421/10 "2020-07-03T08:30:36Z")

</div>

> but there are generic windows UI libraries available, like [WhiteLibrary](https://github.com/Omenia/robotframework-whitelibrary).

Afaik, there is nobody maintaining WhiteLibrary anymore and then there is this pull request: [Add deprecation notice by tfrisk · Pull Request #174 · Omenia/robotframework-whitelibrary · GitHub](https://github.com/Omenia/robotframework-whitelibrary/pull/174)

> TestStack.White has deprecated and that means our maintenance will also stop.

---

<div class="post-metadata">

**Author:** ![Robotuser](https://avatars.discourse-cdn.com/v4/letter/r/e5b9ba/32.png) [@Robotuser](https://forum.robotframework.org/u/Robotuser)\
**Post date:** [6 July 2020 13:38 UTC](https://forum.robotframework.org/t/automating-desktop-application-by-using-robot-framework/421/11 "2020-07-06T13:38:32Z")

</div>

Does anyone automated Windows Application with the combination of Winium/Robot Framework / Keywords ?

---

<div class="post-metadata">

**Author:** ![Roemer](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.robotframework.org/roemer/32/353_2.png) [@Roemer](https://forum.robotframework.org/u/Roemer)\
**Post date:** [24 July 2020 05:54 UTC](https://forum.robotframework.org/t/automating-desktop-application-by-using-robot-framework/421/13 "2020-07-24T05:54:53Z")

</div>

Hello all  
I am the author and maintainer of FlaUI (and previous maintainer of White) and I just got notified about someone who started a FlaUI wrapper for robot framework. See [https://github.com/GDATASoftwareAG/robotframework-flaui](https://github.com/GDATASoftwareAG/robotframework-flaui)  
Give it a go and return feedback if you have any.  
Regards  
Roman

---

<div class="post-metadata">

**Author:** ![Asha](https://avatars.discourse-cdn.com/v4/letter/a/7ba0ec/32.png) [@Asha](https://forum.robotframework.org/u/Asha)\
**Post date:** [11 September 2020 07:48 UTC](https://forum.robotframework.org/t/automating-desktop-application-by-using-robot-framework/421/14 "2020-09-11T07:48:00Z")

</div>

Hi All,

I am started working on desktop automation using robotframework\RIDE\White Library.

I was stuck on reading row value from grid for a week.

please let me know can we do the automation for .net winforms grid using white library … please suggest your inputs or help to get out of the issue

---

<div class="post-metadata">

**Author:** ![gabko](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.robotframework.org/gabko/32/628_2.png) [@gabko](https://forum.robotframework.org/u/gabko)\
**Post date:** [9 February 2021 01:54 UTC](https://forum.robotframework.org/t/automating-desktop-application-by-using-robot-framework/421/15 "2021-02-09T01:54:16Z")

</div>

Hi there, not sure if this comes late or not. I have been battling this situation for the past month but I seemed to make this work finally:  
Robot Framework + Zoomba Library + WinAppDriver! That’s all you need!

---

<div class="post-metadata">

**Author:** ![Many](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.robotframework.org/many/32/658_2.png) [@Many](https://forum.robotframework.org/u/Many)\
**Post date:** [27 February 2021 15:47 UTC](https://forum.robotframework.org/t/automating-desktop-application-by-using-robot-framework/421/16 "2021-02-27T15:47:51Z")

</div>

Do you only use an US keyboard layout in your tests and your development machine? As far as I know, WinAppDriver has this strange limitation that ‘send keys’ only works properly with an us qwerty keyboard (i.e. it might send a ‘z’ instead of a ‘y’)  
Or do you have a good workaround?  
I would really like to use zoomba and WinAppDriver, but this limitation seems like a blocker for me.

---

<div class="post-metadata">

**Author:** ![gabko](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.robotframework.org/gabko/32/628_2.png) [@gabko](https://forum.robotframework.org/u/gabko)\
**Post date:** [28 February 2021 19:17 UTC](https://forum.robotframework.org/t/automating-desktop-application-by-using-robot-framework/421/19 "2021-02-28T19:17:24Z")

</div>

Hi Many, when I am not able to get it right I just go straight on to Pyautogui lib. If you feel comfortable with python, this is the way to go. Yes, another dependency for your project, but I find this library very useful overall. You’d need to write a wrapper to set your customized keywords for integration with Robot Framework.

Library documentation:  
[https://pyautogui.readthedocs.io/en/latest/quickstart.html#keyboard-functions](https://pyautogui.readthedocs.io/en/latest/quickstart.html#keyboard-functions)

Presentation of the project (min 10:54):

[![](https://europe1.discourse-cdn.com/flex005/uploads/robotframework1/original/1X/edbeac10d4c4f34d669975b09b69bbf37358ad3c.jpeg "Al Sweigart, "Automating Your Browser and Desktop Apps", PyBay2016") ](https://www.youtube.com/watch?v=dZLyfbSQPXI)

---

<div class="post-metadata">

**Author:** ![Many](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.robotframework.org/many/32/658_2.png) [@Many](https://forum.robotframework.org/u/Many)\
**Post date:** [28 February 2021 20:23 UTC](https://forum.robotframework.org/t/automating-desktop-application-by-using-robot-framework/421/20 "2021-02-28T20:23:18Z")

</div>

Thanks a lot for the idea !  
So it means, instead of using the zoomba keywords  
‘input text’ or ‘wait for and input text’ (which I believe both use ‘send keys’ from WinAppDriver) I only click into the text fields with Zoomba library and afterwards input the text via pywinauto?  
Might be a possible workaround.

---

<div class="post-metadata">

**Author:** ![Many](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.robotframework.org/many/32/658_2.png) [@Many](https://forum.robotframework.org/u/Many)\
**Post date:** [28 February 2021 22:24 UTC](https://forum.robotframework.org/t/automating-desktop-application-by-using-robot-framework/421/21 "2021-02-28T22:24:15Z")

</div>

Ok, just did my first experiments with flaui.

> **[GDATASoftwareAG/robotframework-flaui](https://github.com/GDATASoftwareAG/robotframework-flaui)**
>
> Windows user interface automation library for Robot-Framework. FlaUILibrary is a wrapper for the FlaUI automation library.

So far, I’m pretty happy with it

---

<div class="post-metadata">

**Author:** ![gabko](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.robotframework.org/gabko/32/628_2.png) [@gabko](https://forum.robotframework.org/u/gabko)\
**Post date:** [1 March 2021 20:10 UTC](https://forum.robotframework.org/t/automating-desktop-application-by-using-robot-framework/421/22 "2021-03-01T20:10:05Z")

</div>

Hi Many, did not know about this library, thanks for sharing.  
Regarding Pyautogui, that is absolutely it!

I am glad the workaround worked out. 🙂

---

<div class="post-metadata">

**Author:** ![nithin](https://avatars.discourse-cdn.com/v4/letter/n/919ad9/32.png) [@nithin](https://forum.robotframework.org/u/nithin)\
**Post date:** [16 April 2021 07:13 UTC](https://forum.robotframework.org/t/automating-desktop-application-by-using-robot-framework/421/23 "2021-04-16T07:13:16Z")

</div>

Hello.

We were trying the library to get things done. We have a third-party desktop application and we were trying to enter some values once the application is opened. Tried many times and its not working.

 ![Robot-Error](https://europe1.discourse-cdn.com/flex005/uploads/robotframework1/original/1X/ea4afc0cc9efed80f993a1cd4d757e76861bdc17.png)

[Next page](https://forum.robotframework.org/t/automating-desktop-application-by-using-robot-framework/421.md?page=2)
