Gitee 官方博客
  • 产品动态
  • 企业案例
  • 项目推荐
  • 关于开源
  • 发现更多
  • 回到 Gitee
  • 产品动态
  • 企业案例
  • 项目推荐
  • 关于开源
  • 发现更多
  • 回到 Gitee

当测试拿起自动化测试工具,开发仿佛看见一场悲剧正在上演 | 码云周刊第 4 期

Gitee
7 年前发布在 项目推荐

虽然之前做过几年开发,但当时对于在公司兴起的自动化测试概念还不是很清楚,觉得是一种很神秘的东西,后来通过向业内资深的测试工程师朋友咨询才恍然大悟。其实自动化测试从广义上来讲,即通过各种工具(程序)的方式来代替或辅助手工测试的行为都可以认为是自动化;从狭义上来说,即通过工具记录或编写脚本的方式模拟手工测试的过程,通过回放或运行脚本来执行测试用例,从而代替人工对系统各种功能进行验证。同时,也了解到目前自动化测试大致分为以下几类:

  1. 对Web UI 的自动化测试程序
  2. 对Windows 窗体UI的自动化测试程序
  3. API测试, 比如(测试WCF service, Web API 等)
  4. 数据库测试, 比如测试存储过程
  5. 接口测试 (这种只能用自动化测)
  6. 单元测试
  7. 性能测试, 性能测试都需要用到自动化

今天为大家带来了各种开源的自动化测试工具,希望能够帮助小伙伴们快速的完成各种测试,在未来的职业道路一帆风顺!

 

1、项目名称:基于selenium webdriver 自动化测试框架

当测试拿起自动化测试工具,开发仿佛看见一场悲剧正在上演 | 码云周刊第 4 期-Gitee 官方博客

邮件展示如下:

当测试拿起自动化测试工具,开发仿佛看见一场悲剧正在上演 | 码云周刊第 4 期-Gitee 官方博客

日志文件展示如下:

当测试拿起自动化测试工具,开发仿佛看见一场悲剧正在上演 | 码云周刊第 4 期-Gitee 官方博客

项目简介:这是一个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. 用例串行一次性执行多个浏览器,可用于兼容性测试;

项目地址:zhengshuheng/PatatiumWebUi

 

2、项目名称:maven 自动化集成测试

当测试拿起自动化测试工具,开发仿佛看见一场悲剧正在上演 | 码云周刊第 4 期-Gitee 官方博客

项目简介:本项目是参考国外文章来编写的 Maven 自动化集成测试工具,可测试 Spring+SpringMVC+Hibernate 技术,也可使用 HttpClient 测试 SpringMVC 中 Action,同时增加统一验证功能,且数据可使用 hibernate 的自动导入数据功能。

项目地址:huanghuanlai/maven-integrated

 

3、项目名称:基于python 实现的自动化接口测试

当测试拿起自动化测试工具,开发仿佛看见一场悲剧正在上演 | 码云周刊第 4 期-Gitee 官方博客

项目简介:本项目是基于 python3 实现的 http 接口自动化测试,支持常见的 HTTP 中的 post 和 get 方法;测试案例驱动用 excel 管理,注意的地方是为每个案例新增自定义检查函数(更新为了生成器为 xml 管理);根据需要配置,可以运行部分用例,全部用例;测试结合最后生成了 html 文件,方便查看。

开发环境:

  • Win7 64,python 3,Pycharm. unittest
  • 读取配置文件–读取测试用例–执行测试用例–记录测试结果–生成html结果文件

模块类的设计说明:

  • Httpbase.py 读取http的域名和端口
  • Config.py http方法的封装,可以支持多协议扩展,get,post
  • Runner_m.py 核心代码。run_case是程序的入口
  • Htmlreport.py 结果生成html文件

项目地址:ytbkun/auto_http_api

 

4、项目名称:Phoenix Framework 自动化测试平台

当测试拿起自动化测试工具,开发仿佛看见一场悲剧正在上演 | 码云周刊第 4 期-Gitee 官方博客

当测试拿起自动化测试工具,开发仿佛看见一场悲剧正在上演 | 码云周刊第 4 期-Gitee 官方博客

项目简介:集代码托管, 分机(node节点)管理,定时任务, 分布式或并发等方式执行通过 phoenix_develop 模块调试好的用例。 平台使用 SSH4 开发,覆盖了 webgui,接口,移动 mobile 等终端的测试与监控。 webGUI 模块兼容 chrome,Firefox,IE,httpunit 以及 phantomjs 驱动。原生支持对 FTPServer,svn,SocketServer,图片文字识别的操作, 深度集成了 Jmeter,支持 Web 性能测试。 平台通过 phoenix_develop 模块在客户端开发及调试代码, 然后通过将代码托管到 phoenix_web 控制端, 控制端通过指派多个 phoenix_node 端方式执行测试用例。 通过使用phoenix_develop 开发用例代码的示例, 用例如果在本地调试时没有问题,那么就可以放到控制端进行执行了。

项目地址:phoenixframework/phoenixframework

 

5、项目名称:restful 接口的测试工具

当测试拿起自动化测试工具,开发仿佛看见一场悲剧正在上演 | 码云周刊第 4 期-Gitee 官方博客

项目简介:目前大部分的 restful 接口测试工具,仅仅停留在验证接口响应是否正常,具体的业务是否正确需要靠人工来分析。人工分析势必比较耗时,而且随着项目的迭代,重复工作量的浪费比较严重。因此,考虑到接口的变动会较少,自动化接口测试将很有必要。

项目技术实现:

  • 采用 HttpClient 实现接口的调用,支持 GET/PUT/POST/DELETE 方式,支持目前 Restful 接口规范常用的 Http 方法;
  • 自动化脚本的编写采用 Cucumber 来实现,脚本编写的时候分为 Feature、Scenario 以及 Step。每个 Feature 下可以包含 N 个场景,每个场景下有 M 个步骤,和实际测试中的测试用例场景贴近;
  • 结果验证采用 Javascript Engine,由于 Javascript 支持弱语言,因此在处理上兼容性会更好。

项目地址:hzzq0324/restful-tester

 

6、项目名称:基于 Android 的测试常用脚本

当测试拿起自动化测试工具,开发仿佛看见一场悲剧正在上演 | 码云周刊第 4 期-Gitee 官方博客

项目简介:批量安装应用(支持以中文命名的 apk)、批量卸载、截屏、录制视频、获取当前应用的 apk 文件、包名、Activity 以及当前运行的应用的 cpu、memory 信息,默认 top times 取值为20次,可自己修改脚本中的该参数。

项目地址:AndroidTestScripts

 

7、项目名称:基于 Android 的自动化测试工具 MonkeyRunner

项目简介:MonkeyRunner 是 Google Android SDK 下的一个工具,用于自动化测试 Android 程序。Monkeyrunner 工具提供了一套 API,使用这些api 写出的 Python 程序可以在黑盒地控制 Android 设置和模拟器。有了 Monkeyrunner,我们可以通过 python 语句控制 apk 包的安装和卸载、启动 app、向 app 发送各种动作指令、截取图片并保存。

Monkeyrunner 和 Monkey 不同,Monkey 是直接运行在 adb shell 中的命令,它随机的生成用户或者系统的各种随机事件,而 MonkeyRunner 则可以通过 api 来产生特定命令和事件来控制设备和模拟器。

MonkeyRunner 在 android 测试中有下面特点:

  • 支持多设备: API 可以跨多个设备或模拟器实施测试套件。您可以在同一时间接上所有的设备或一次启动全部模拟器(或统统一起),依据程序依次连接到每一个,然后运行一个或多个测试。您也可以用程序启动一个配置好的模拟器,运行一个或多个测试,然后关闭模拟器。
  • 功能测试: monkeyrunner 可以为一个应用自动贯彻一次功能测试。您提供按键或触摸事件的输入数值,然后观察输出结果的截屏。
  • 回归测试:monkeyrunner 可以运行某个应用,并将其结果截屏与既定已知正确的结果截屏相比较,以此测试应用的稳定性。
  • 可扩展的自动化:由于 monkeyrunner 是一个 API 工具包,您可以基于 Python 模块和程序开发一整套系统,以此来控制 Android 设备。除了使用monkeyrunner API 之外,您还可以使用标准的 Python os 和 subprocess 模块来调用如 adb 这样的 Android 工具。您还可以向 monkeyrunner API 中添加您自己的类。我们将在使用插件扩展 monkeyrunner 一节中对此进行详细讨论。

monkeyrunner 工具使用 Jython(使用 Java 编程语言的一种 Python 实现)。Jython 允许 monkeyrunnerAPI 与 Android 框架轻松的进行交互。使用 Jython,您可以使用 Python 语法来获取 API 中的常量、类以及方法。

项目地址:monkeyrunner

 

Copyright@OSChina.NET

制版编辑:Zico丨

本页刊发内容未经书面许可禁止转载及使用

公众号、报刊等转载请联系授权

欢迎转发朋友圈,投稿:chenyang@oschina.cn

关注码云官方微信公众号:码云Gitee

查看更多有趣的开源项目资讯,请前往:码云开源项目广场

来自国内开发者的实战项目,开源让通讯从未如此简单 | 码云周刊第 3 期
上一篇
厉害了 word 的代码,程序“猿”的 AI 进化史 | 码云周刊第 5 期
下一篇
近期文章
  • 启航 AI 新航道!Gitee 双十一与你共享智能新未来
  • 《中国DevOps现状调查报告(2023)》发布,Gitee 领跑国产平台
  • 研运一体化之下,Gitee 如何精准赋能银行实施大规模敏捷
  • 对数字「祛魅」,中大型规模企业如何进行有效的研发效能度量?
  • 从混乱到卓越,Gitee Code 如何治好 IT 部门的精神内耗
  • 科技赋能,Gitee 助力国家海关总署实现重大业务改革
  • 科大讯飞选择Gitee旗舰版,完成研发协作平台国产化替代
  • 用脑图做测试用例,高效到家了!
  • 信创驶入快车道,中国赛宝实验室选择 Gitee 搭建高效研发协作平台
  • 金融人怎么写出安全可靠的代码?知名证券企业这样做
相关文章
我们让 ChatGPT 写了一篇开源项目推荐
从 DevOps 到 XOps 的优质开源项目精选
优秀PHP开源项目集合
热门开源Web开发框架推荐
关于我们

Gitee(gitee.com)是 OSCHINA.NET 推出的代码托管·协作开发平台,支持 Git 和 SVN,提供免费的私有仓库托管。目前已有超过 1200 万的开发者选择 Gitee。

品牌内容
开源软件 GVP计划 Gitee 封面人物 CopyCat 代码克隆检测
友情链接
开源中国 Gitee Gitee 高校版 Gitee 企业版
Copyright © 2013-2025 Gitee 官方博客. Designed by nicetheme.
  • 产品动态
  • 企业案例
  • 项目推荐
  • 关于开源
  • 发现更多
  • 回到 Gitee
热门搜索
  • Gitee
  • gitee 企业版
  • 码云
  • 开源项目
  • 码云Gitee
  • GVP
  • Git
  • 开源
  • 码云企业版
  • 码云周刊
  • 码云 gitee
  • DevOps
  • gitee企业版
  • 内源
  • 内部开源
  • innersource
  • 小程序
  • 企业版
Gitee
安全、稳定、高效的云端软件开发协作平台。
Top