首先可参考wiki此文,非常详尽:https://en.wikipedia.org/wiki/List_of_GUI_testing_tools
以下是我调研并实验过的(实验环境ubuntu 16.04):
xdotool(命令行方式调用)
未找到操作控件的方法,只有操作窗体相关
官网:
http://www.semicomplete.com/projects/xdotool/xdotool.xhtml
Dogtail(python)
可用于补齐xdotool控件操作部分,是通过ATK/AT-SPI实现的,还支持录制回放(旧版才支持,新版已经没这功能了。。。),而且还自带一个很不错的查看工具AT-SPI Browser(在ubuntu软件中心即可安装),但是文档比较一般,而且里面很多FIXME和疑问句,估计开发功能时也没想清楚。。。
官网与介绍:
https://fedorahosted.org/dogtail/
https://wiki.ubuntu.com/Testing/Automation/DogtailTutorial
ldtp(python/java/C#/ruby等)
支持多种计算机语言,而且支持linux、windows还有mac等多个系统,但是ubuntu(或所有linux)上不支持中文字符串,查找对话框时只要有中文就不找到了。。。而且此项目的代码中很多try-except都是直接return 0或pass,连print都没有,这样如果出现了预期之外的异常很难定位,对此项目的代码质量不敢恭维,不支持中文的问题可能就与此类异常处理不当有关。
官网:
https://ldtp.freedesktop.org/wiki/
以下只了解一下,并未使用:
sikuli(图形脚本语言)
就是用控件的图片来定位,并实现点击等各种操作的自动化框架。没试过,因为不适合我们的需求,但看其他人的评价不错。
官网:
http://www.sikuli.org/
IronAHK(mono)
类似xdotool,文档较少且停止维护,暂不确定查找窗体是否和xdotool一样强大
官网:
https://github.com/polyethene/IronAHK
Accessibility Tool Kit
dogtail就是使用这个技术实现的,但直接用ATK的话估计开发成本会比较高
官网:
https://developer.gnome.org/atk/
Xnee
可能还需二次开发一下
官网:
https://xnee.wordpress.com/documentation/
actionz
应该也不能点击控件
官网:
https://wiki.actiona.tools/doku.php?id=en:start