其他测试框架 X-automation 我想要的框架系列!立帖开坑!

虎卧荒丘 · 2014年12月21日 · 最后由 moer 回复于 2017年06月09日 · 1321 次阅读

框架的意义

我想开发一个易于被拿来扩展下就能用的自动化测试框架,面向 IT 企业测试组织的入门级框架,也可以在框架的基础上做深层次的扩展,让不同需求的组织可以开发出适合本地需求的框架。也正如帖子标题上那样,这些都是我想要的,一厢情愿,闭门造车,好吧这都是我,但没办法,业余搞这个也只能这样了,若以后有朋友使用了本框架,能提点意见,那就再好不过了。

为什么测试组织需要自动化框架?

  • 让组织中各成员开发的环境和自动化脚本标准化
  • 集中力量于业务,而不必花大量时间维护脚本
  • 让自动化测试流程规范化,使输入 - 执行 - 输出易分析,可视。

这个框架的名字我暂时命名为X-automation,简称xamX代表未知,因为我并不知道也不想定义它最终的形态,也不想为它打上一个特别的标记,就像数学中X一样,希望使用它的人能够自由灵活的改造它。

框架的思路

我想要的框架从以下几方面作为向导:

  • 面向高级测试开发,可简易的、自由的扩展框架的功能,专注于框架的稳定、易用。
  • 面向初级测试开发,脚本简洁、易懂、规范且统一、易管理。(意味着要开发前台页面,脚本的开发和管理最终可能不在开发工具中编写)
  • 输出结果可定制化。
  • 易于集成于持续交付平台。

暂时就想到这么多,用上面这些思路来做指导。

自动化范围包括

  • 接口测试
  • WebUI 自动化测试
  • 移动端自动化测试

现有特性

代表未来想要开发的功能

  1. 自动化脚本的标准化
  2. 进一步集成 webdriver、appium 的各种 driver、自开发的 flexdriver(普适性不强)、接口 driver(还木有思路)
  3. 数据输入源:excel,数据库
  4. 自动装备数据输入到案例
  5. 多线程、多环境运行
  6. html 格式报告输出(未来支持定制)
  7. 脚本开发与管理页面
  8. REST API 供外部系统访问与调用

基于的技术

  • 开发语言:java
  • 涉及到的技术:js+css+html,actionscript,android,ios,测试基础,通信技术等
  • 涉及到的开源工具:selenium,junit,appium,flex,maven,apache poi,dom4j

现有框架的类图

框架引擎作为一个包,被测试项目依赖。
测试项目则有多个。具体的使用将在【一个实战】中讲述。

获取-GitHub

预计 1 月底放到 github(最近出差在外带项目,没啥时间整理,悲催啊~)

一个实战

在放出 github 的同时,一并讲述。

近期的规划

  • 开源于 Github
  • 在我公司项目中实践,反馈,调整
  • 重构报告生成功能,可定制化
  • 重构数据驱动

最后,技术是无止境,我可能不适合于对某项技术钻的非常深,那么就只能从广度上找出路了。框架其实更多的代表了测试管理的思想,各家有各家的思想,但有些本质的东西大家都一样,我希望能将本质的东西做到极致,剩下则由各家本地化实现。同时也是对自己的一个鞭策吧,既然走了这条路,那就要走好,要走下去~不然回家种地去吧......提前祝各位新年快乐!
PS:话说第一次在上海过圣诞呢,感觉上海果然是国际化都市,圣诞节前就如此有气氛。

共收到 11 条回复 时间 点赞

写的大气磅礴.

重新做一套框架有助于提升你对其他框架的理解能力. 并提升你们对测试的把握度.
不过我仍然劝你慎重的做这件事情.

开源不只是开放源代码. 他代表一种产品, 服务和协作方式.

当你信心百倍的去打算创造新事物的时候, 你得自己想好如下可能面临的坑

  1. 你的项目是否比别的同类型项目优秀, 根据你目前列举的点, 已经有框架比你的还优秀了.
  2. 你的产品解决了一些问题是不是会带来更多问题.
  3. 你是否有足够的资源, 精力和坚持去做要做的事情
  4. 创造一个东西很容易, 但是打磨好它, 做好支持却是最重的工作量
  5. 产品不是理论, 他需要细节的 feature 来支撑, 如果你不能在细节上具备钻研的能力, 你的产品必然会遇到问题. 就算是较高级别的抽象层也是有很多细节需要完善的.

我估计从业的年龄不超过 5 年吧.

#1 楼 @seveniruby 感谢如此诚意的回复,这件事我琢磨了好久,前后有一年了吧,您说得这些都有考虑过,最终我想通了,虽然说是重复造轮子,但以前的轮子都不太合适,总是受制于他们,所以产生了这个想法。之所以开源也是为了能收集些意见,坦白的说我根本没想过会有很多人用,因为优秀的框架有很多,那么我写出来就是想把自己做这件事的过程和结果有个记录,拿出来分享,提高自己,至于能不能为大家带来好处,这个我不敢说,理想是远大的,到现阶段肯定是以我能看到的,以及在公司中的实践来指导我开发,至于产品,服务这个东西我还没想也尚不够资格来考虑,还是十分感谢你的建议,所以说还是开源好,万一有同学用了之后来吐槽,也就达到了不闭门造车的目的了

@umbrella1978 现有框架的类图 这个图片没有了。

#3 楼 @lihuazhang 我这里可以看到... ...

从思路、范围、特性上看,感觉都跟我们现在用的基本差不多。
想知道楼主想解决的痛点是啥,而这个痛点一定是要自己去造差不多的轮子?
不过造轮子也是打磨技术的一条路吧...加油

匿名 #6 · 2014年12月22日

框架图看不见。。这图是外链,拒绝访问了

真的没有图片啊,楼主

已上传到 testerhome,崩溃啊,poco 坑爹

大家对你的行为还是支持的, 只是表示下担心和忧虑.

楼主来汇报进展啦 @umbrella1978

楼主怎么样了?上 github 吧,大家都可以学习 和 添砖加瓦

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册