I have read and heard from many peple that Selenium is used by many people.
Do you know if there is a better tool than Selenium in relation to open source?
Selenium is an industry standard for web GUI. But desktop GUI automation is almost an untilled field. There are several disparate tools that are able to deal with few types of GUI. I know only one cross-platform open source project for GUI testing based on accessibility technologies (therefore text-based): it's LDTP. But in my mind the interface is really ugly. That's why LDTP is not so popular.
Really nice tools are not cross-platform. One of the docs point to some of them.
- pywinauto (https://github.com/pywinauto/pywinauto) is a very pythonic tool but it can manipulate only native GUIs on Windows (UI Automation API support is on the way)
- PyAutoGui (https://github.com/asweigart/pyautogui) - it’s a cross-platform but there is no windows/controls manipulation at all.
- AXUI (https://github.com/xcgspring/AXUI) - this is one of the wrappers around UI Automation API.
winGuiAuto (http://www.brunningonline.net/simon/blog/archives/winGuiAuto.py.html) another module using Win32 API.
Other scripting language tools
Perl Win32::GuiTest (http://winguitest.sourceforge.net/)
- Ruby Win32-Autogui (https://github.com/robertwahler/win32-autogui)
- Ruby RAutomation (https://github.com/jarmo/RAutomation) - there are 3 adapters: Win32 API, UIA, AutoIt.
- C# Winium.Desktop (https://github.com/2gis/Winium.Desktop)
Other free tools
- See collection at: https://github.com/atinfo/awesome-test-automation
Some tools use Machine Learning algorithms to find the elements on the screen by gold picture matching (Sikuli, PyAutoGUI), but they are still not reliable enough and can be chosen if you really need cross-platform solution or in some complicated cases where accessibility technologies are not available (GTK apps on Windows, for example).
P.S. I'm trying to keep some tools rating up-to-date if a popularity on GitHub/SO matters to you.