Hacker News new | past | comments | ask | show | jobs | submit login
Windows Desktop Application Automation Using AutoIt (teemya.com)
50 points by r0ash on June 16, 2018 | hide | past | favorite | 25 comments

I've been using AutoHotkey as well as AutoIt in the past. If I need keyboard macro, I use AHK. But if I need automation that interacts with other apps, I use AutoIt. It's fairly easy to get started writing scripts, but I've never liked the language/syntax of either AHK or AutoIt. One thing I wish I could do this is to write everything in Python, Lua, etc...

http://www.sikuli.org/ is a crossplatform Python equivalent (and IDE with built-in UI capturing).

There's also https://github.com/go-vgo/robotgo for the Go world.

Work on modernizing AutoHotkey's syntax has been ongoing for years, and the v2 alpha makes huge (backwards-incompatible) steps to make the syntax simpler and more consistent.


I wish NSIS would do this too.

You can use AutoIt's Python wrapper, its somewhat reliable and I use it in automation in production.

This? https://pypi.org/project/PyAutoIt/

Curious if you have tried the other method (I have not): https://stackoverflow.com/a/9371563

No, I've used just first method and it was working fine. Btw second one seems more easier to transfer pure AutoIt code to Python due to same function names.

Strangely enough, from reading the forums, it seems that AHK's syntax makes sense for non-programmers, while programmers seem to dislike it.

We do a lot of UI automation for testing. I have played with AutoIt quite a but I found it pretty difficult to get scripts to run reliably on different machines. It's get for one offs though. It wouldn't hurt if you could use it as a library from C# code. Or is that possible? The built in language is not that great.

Have a look at https://github.com/MerlijnWajer/Simba/. It uses uses a dialect of Object Pascal for scripting and some core functions are available in a library.

There are other projects which attempt to do similar things but I sincerely believe Simba is the best program for desktop automation to date.

I helped write it.

Seems to have no usable documentation and the github repo has basically no activity in a long time

Don't confuse "lack of activity" with "broken." The program is considered complete. I recently moved everything to FPC 3.0, see https://github.com/MerlijnWajer/Simba/tree/fpc-3.0. The other work going on is language features for the scripting engine.

Most functionality is documented at http://docs.villavu.com/simba/.

I don't confuse these things. I just stated that there isn't much activity. But thanks to your answer I took a second look. My problem was that the first impression of the documentation site wasn't/isn't that good IMO. I skimmed the first (quite a few) pages of the documentation and didn't find anything that gave me a first impression what this program/language looks like. You know some kind of small (or not so small) sample code. Then I skipped to the "Tutorial" section which consists of empty pages. Discouraged by that I missed the much better "Scripting Reference" section. So I suggest to at least remove the empty Tutorial section until there is actual content and/or simply link to the examples in the repository

I'm not sure why you'd mention it otherwise.

We were considering moving the documentation to GitHub so people were more likely to contribute. There is a function viewer and many of the functions are documented in the source. The autogeneration was abandoned before it was set up because the program does what it was built to do.

Part of it is you need to have some idea what you want to do with the program before you start. Most of the tutorials exist on villavu.com's forums with the goal of automating gameplay.

I have looked at that but it needs Win10 and doesn't do WPF. Right now we a mix between Ranorex, UI Automation and Selenium. They all have their strengths and often one library can support certain elements that others can't.

What about other automation solutions, like UIPath Studio (which has a free community edition)?

AutoIT can connect to the ActiveScripting (Windows Script Host) environment, which is great!

Does anyone know how this compares to Sikuli(x)?

I used Sikuli couple of years ago, that time, it was not able to work if computer is locked (I used image hooks). However I am satisfied enough with AutoIt that, I might not look at other tools in couple of next few years, it has helpful community at forums and stackoverflow.

How does this compare with AHK (AutoHotKey)?

AHK is good for hotkeys and keyboard/mouse overrides. And maybe some mini window automation.

If the logic grows and automation becomes complex, AutoIt is more suitable.

So far, I've used it to connect with remote mySQL/mariaDb and SQLite. In my opinion its pretty reliable, a lot than Sikuli.

ahk was forked from the last open source version of autoit. I like ahk. Never needed to use autoit.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact