-
Notifications
You must be signed in to change notification settings - Fork 8
Why use AutoItDriverServer
Some of you might think why use AutoItDriverServer, when there's already several existing solutions to integrate AutoIt with Selenium WebDriver in tests, etc.?
That is true, but:
(1) the other solutions require you to write AutoIt code in native AutoIt language, then compile to executable, then execute that from Selenium test code via a shell/process execute. Or execute AutoIt tool with specified au3 script if not compiling to executable. Or you can write in your preferred language, but then you have to add in code specific to COM or DLLs when it would be nicer not to have to do so (unless you like COM, DLLs, or already use such in test code). With AutoItDriverServer, it's just using another instance of remote web driver that is linked to AutoIt instead of a browser, no dealing with COM, DLL, or executables directly within your test script/code.
(2) few solutions (specifically/clearly) describe how you can deploy the test in Selenium Grid or SauceLabs. They are mostly localhost execution based examples. And to deploy it in Grid or even RemoteWebDriver with those solutions would be a bit of a pain, and you have to be creative, using winexe, PSExec.exe, telnet, SSH, a custom XML-RPC/SOAP/web service server, or some other equivalent to be invoked from Selenium code. With AutoItDriverServer, it's just an/another instance of RemoteWebDriver, which is "remote" already.
With AutoItDriverServer, it's simpler using the same WebDriver API to handle both AutoIt and Selenium in your language of choice. And simply run a server (or another server if including Selenium server JAR for Grid/RemoteWebDriver) on the target host machine (i.e. AutoItDriverServer) to be able to remotely handle AutoIt requests.
Currently AutoItDriverServer is not built for Selenium Grid support so only runs standalone mode, but in the future, perhaps with help from others, it could be Grid compatible for easier deployment in Grid for tests that involve both AutoIt and Selenium.
AutoItDriverServer is the product of an initial idea I had in an old blog post: https://autumnator.wordpress.com/2011/12/22/autoit-sikuli-and-other-tools-with-selenium-grid/
Alternative options for integrating Selenium with AutoIt (typically not Grid supported by default):
http://www.toolsqa.com/selenium-webdriver/autoit-selenium-webdriver/
http://www.testingexcellence.com/how-to-upload-files-using-selenium-and-autoit/
http://qtp-help.blogspot.com/2009/07/selenium-handle-dialogs.html