近来,自动化测试被业界炒得很热,最近在上海刚举行的chinatest测试大会中,自动化测试也是核心主题之一。不过比较遗憾的是,各位专家理论方面讲得多了些。真正涉及到自动化测试技术落地的技术讲座少了些。唯一听到的一个还是基于selemiun基础上完善的一个web测试框架的介绍,颇给人一些思路和启示。
最近一年来因为项目需要,我也带领一个团队在进行GUI方面的自动化测试的尝试。经过一段时间的积淀,先后尝试了testcomplete,robotframework,uswc,autoit,marathon,sikuli等多种自动化测试工具。由于这个项目涉及的GUI比较复杂,而且是多种语言开发的,还需要多机环境的测试,最终选定了sikuli+autoit的组合,作为自动化测试框架的基本工具。
在此基础上,完成了用例执行选择,参数配置化,自动化构建,执行日志和测试结果输出,错误截屏输出这些自动化测试的基本功能。
sikuli这个是mit的一个台湾工程师开发的基于图像识别的自动化框架,用在GUI界面的测试上最合适不过了。同时它也是免费。但是它因为是用的jython的语言,而jython只支持utf-8,而GUI经常碰到的是ansi的编码方式,这样的话,就会在界面中文输入,控制台文字输出和文件读写中出现乱码。这个时候可以利用autoit在不同字符集有比较好的兼容作用的优势。用autoIt编写相关的api接口,并定义好输入输出,通过sikuli进行调用能够很好的解决乱码问题。
另一方面,sikuli在windows非GUI操作方面使用也不是太方便,同样也可以用autoit来实现。
特别要一提的,因为autoit对编写一个gui界面的程序也非常方便,所以我们的用例执行选择的GUi界面就是用autoit编写的。
同志们不妨也尝试一下这样组合的自动化测试解决方案,会给大家带来节省成本而又意外好用的惊喜
分享到:
相关推荐
这里采取一种GUI界面录制策略让你的测试用例轻松在Squish软件上实现,通过导入你的软件程序,建立多个test cases,然后录制每个case的方案,当执行完毕后,它可自动化生成你的测试报告。 部分目录: 1.下载Squish ...
Sweetest是一种小而美的自动化测试解决方案,同时支持Web UI,Http接口,DB操作测试,Android / iOS App测试,小程序测试,Windows GUI测试,文件操作;由于开始只支持Web UI测试,名字取自Selenium,Web UI,...
Free EXE Lock 中文版是一种易于使用的软件实用程序,可用于通过密码保护他人的可执行文件来防止其他人访问特定应用...归根结底,Free EXE Lock 提供了一种简单的密码保护其他应用程序解决方案,任何人都可以使用它。
注:F2e测试=前端到后端测试=前端测试最新文档:,浏览器云在之前,多浏览器兼容性人肉测试,我们一般有三种解决方案:本机安装大量的虚拟机,一个浏览器一个虚拟机,优点:真实,缺点:消耗硬盘资源,消耗CPU资源,...
这是现已大大增强的企业解决方案的开源... T-Plan Robot利用远程桌面技术以及基于图像的测试原理,从最终用户GUI角度提供了一种类似于人的方法来进行软件测试。 网站:www.t-plan.com或通过sales@t-plan.com与我们联系
同时,提出了一种基于FDTD算法的仿真软件FDTD解决方案,作为一种新工具,可以帮助初学者建立光学模型并分析光学问题。 FDTD算法的核心是将与时间相关的麦克斯韦方程组离散为空间和时间偏导数,然后模拟电子脉冲与...
本书详细介绍如何在个人电脑上安装配置Caldera和Red Hat两种发行版本的Linux操作系统,并能帮助用户解决安装和配置过程中出现的各种问题。本书既能指导你进行基本的安装步骤,也能指导你定制独具特色的Linux 操作...
是否存在一种将图像处理功能与编程技术相结合的优秀软件呢?那么这款优秀的软件就是MATLAB了。MATLAB是一款能够提供高级编程语言、众多专业工具库以及易于实现图形用户界面的强大软件。 本文介绍了关于计算机...
本书详细介绍如何在个人电脑上安装配置Caldera和Red Hat两种发行版本的Linux操作系统,并能帮助用户解决安装和配置过程中出现的各种问题。本书既能指导你进行基本的安装步骤,也能指导你定制独具特色的Linux 操作...
无线传感器网络(WSN)应用程序及其约束解决方案的研究工作遍及全球,吸引了许多研究人员。 在本文中,提出了一种重要的环境WSN应用程序,即水监控应用程序。 利用WSN和设计的简单工作站之间的合并,实现了一种实时...
NoShitEmpornium 功能强大的Empornium过滤解决方案。 隐藏基于标签,标题,上传者,是否曾经下载过的种子以及更多内容的种子!特征维护要自动隐藏的标签,标题和上传者的黑名单白名单忽略上述黑名单规则通过单击旁边...
解决此问题的方法可能是 RunJS,它是一种极简主义的 JavaScript 暂存器,它提供了一种直接从您的计算机桌面编写和测试 JavaScript 代码的可访问且无畏的方式。 简单的 JS 编辑器,可供初学者和专家使用 如前所述,...
本文能够在读者需要使用RAD建立Java代码覆盖率测试解决方案时提供足够的帮助,同时为希望深入了解RAD功能的读者提供了代码覆盖率方面的详细资料。覆盖率分析介绍覆盖率是用来度量测试完整性的一个手段。软件的覆盖率...
该项目实现了一种基于人工智能启发式搜索方法的自动化解决方案生成器,以解决填字游戏约束满足问题。 这个自动生成器的单词搜索组件由一个MySQL数据库支持,该数据库中填充了来自各种American Crossword Puzzles的...
1.4.1 解决方案(或至少是正确方向上的一大步) 1.4.2 从我的组织汲取的教训 1.4.3 更多信息 1.5 不要忘记运行机制 1.5.1 有关何时需要运行机制的一个例子 1.5.2 运行机制的一些例子 1.5.3 它不仅仅是我们的过错 1.6...
SE WS 2012/2013:比萨饼订购系统的示例解决方案此示例解决方案比解决任务所需的更广泛,以说明各种示例的实际使用。 主要方法位于。GUI的命令和双重调度应用程序使用的存储在软件包中。 这些命令遵循行为模式命令。...
由于延迟,必须解决另一种解决方案。 一些想法:a)实现node-canvas npm包,以在服务器上完成所有画布操作的100%,然后通过节点数据流将结果传回给客户端。 b)尝试使用Paint API,但是这可能不允许像素操作。 c...
国内外主流量化投资网站大多支持Python语言,其在量化投资领域有一种逐渐淘汰其他语言,一统“江湖”之势。 对数据的分析离不开数据的可视化,相对于Python在数据分析、人工智能、量化投资等领域中的发展,在数据...