Just to give you a context on why I am asking this question.

Actually I wanted to integrate AutoIT in my selenium test script. My search led me to autoitx4java. When I was going through the README.md it said

AutoItX4Java uses JACOB to access AutoItX through COM and strives to provide a native Java interface while maintaining the simplicity of AutoIt.

Then I searched for JACOB and so on and so forth which ultimately led me to the question of what is Component Object Model. I have gone through definition and the explanation on the internet but I am still not able to wrap my head around what is JACOB or COM.

Any help would be appreciated. Thanks in advance.

  • stackoverflow.com/questions/455687/…
    – Alexey R.
    Commented Dec 15, 2017 at 13:53
  • What original problem are you actually trying to solve. Currently as the one answer indicates, this sounds like a classic XY problem
    – c32hedge
    Commented Dec 15, 2017 at 21:46
  • @c32hedge Hi, This is not a XY problem because I already got a solution on how to integrate AutoIT with selenium(java) in eclipse. My only question what is JACOB and COM. I just gave the context to my question to help the other users.
    – Alok
    Commented Dec 17, 2017 at 4:52

1 Answer 1


Why do you want to integrate AutoIT into selenium? If it would be more correct to say why would you want to integrate Java with AutoIT? There are much simpler ways to do the stuff. Java definitely has its own ways to interact with win32api but that is not what it was intended to do. If you want to automate some native windows activities - use AutoIT. If you need selenium and Java then you probably are doing something with a browser and http and autoit is not the best choice here. If you require both, python would have worked better for you. Do not use tools for something that those were not intended to do especially if you already have a more versatile tool for that.

COM object is a way to serialise object in so that it can be used regardless of environment or programming language. The developer should implement it according to a template that will allow any language to use this object through some OS interfaces.

  • Thanks, I need autoIT along with a selenium because I am doing some non-browser actions inbetween my selenium test case.
    – Alok
    Commented Dec 17, 2017 at 5:12
  • @Alok can you do system actions with batch files or CMD commands? It would be would not add more complexity to tests and Java still can call those natively. Commented Dec 17, 2017 at 11:06
  • No, that will not be possible because I have some scenarios where I need to open,update,close an excel file.
    – Alok
    Commented Dec 18, 2017 at 7:10
  • Then you don't need autoit. Java has its own drivers for that: stackoverflow.com/questions/1516144/… Commented Dec 19, 2017 at 10:07
  • I am aware that apache poi library can be used for ms-excel but this excel opens in a browser similar to the google sheets in the google driver.
    – Alok
    Commented Dec 19, 2017 at 10:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.