虽然之前小一做过几年开发,但当时对于在公司兴起的自动化测试概念还不是很清楚,觉得是一种很神秘的东西,后来通过向业内资深的测试工程师朋友咨询才恍然大悟。其实自动化测试从广义上来讲,即通过各种工具(程序)的方式来代替或辅助手工测试的行为都可以认为是自动化;从狭义上来说,即通过工具记录或编写脚本的方式模拟手工测试的过程,通过回放或运行脚本来执行测试用例,从而代替人工对系统各种功能进行验证。同时,小一也了解到目前自动化测试大致分为以下几类:
1、对Web UI 的自动化测试程序
2、对Windows 窗体UI的自动化测试程序
3、API测试, 比如(测试WCF service, Web API 等)
4、数据库测试, 比如测试存储过程
5、接口测试 (这种只能用自动化测)
6、单元测试
7、性能测试, 性能测试都需要用到自动化
今天小一为大家带来了各种开源的自动化测试工具,希望能够帮助小伙伴们快速的完成各种测试,在未来的职业道路一帆风顺!
一、项目名称:基于selenium webdriver 自动化测试框架
邮件展示如下:
日志文件展示如下:
**项目简介:**这是一个WebUI自动化测试框架,由webdriver中文社区创办人土豆(本人技术笔名)所创建,该web自动化测试框架是用java语言编写的,基于selenium webdriver 的开源自动化测试框架,该框架结合了testng,selenium,webdriver,jxl,jodd-http 等工具。该框架基于页面对象模型(POM)架构,实现了关键字驱动技术,数据驱动,无需掌握多少编程知识即可编写脚本,同时实现了数据与代码分离的功能:
1、元素定位信息保存在对象库文件中 ;
2、测试用例数据可以存储在excel中。从而实现,页面元素位置变化,无需改动脚本,只需修改对应的元素定位信息即可。
该框架实现了检查点及用例失败自动截图功能,自动生成html测试报告及自动发送html邮件测试报告功能。
目前框架还不是特别完善,还需要写一些脚本实现自动化;学习该框架需要熟悉一定的HTML 和java基础,后续可以考虑自动编码的实现。
实现的功能:
1、XML管理元素对象信息;
2、统一的操作API风格,action.操作(某个页面.某个元素());
3、数据驱动;
4、关键字驱动;
5、用例失败自动截图并展示到报表中;
6、自动生成html报表,自动发送html邮件报告;
7、用例串行一次性执行多个浏览器,可用于兼容性测试;
**项目地址:**http://git.oschina.net/zhengshuheng/PatatiumWebUi
二、项目名称:maven 自动化集成测试
**项目简介:**本项目是参考国外文章来编写的 Maven 自动化集成测试工具,可测试 Spring+SpringMVC+Hibernate 技术,也可使用 HttpClient 测试 SpringMVC 中 Action,同时增加统一验证功能,且数据可使用 hibernate 的自动导入数据功能。
**项目地址:**http://git.oschina.net/huanghuanlai/maven-integrated
三、项目名称:基于python 实现的自动化接口测试
**项目简介:**本项目是基于 python3 实现的 http 接口自动化测试,支持常见的 HTTP 中的 post 和 get 方法;测试案例驱动用 excel 管理,注意的地方是为每个案例新增自定义检查函数(更新为了生成器为 xml 管理);根据需要配置,可以运行部分用例,全部用例;测试结合最后生成了 html 文件,方便查看。