深入理解基于Selenium的二次开发

发表于:2014-8-18 10:21

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:木小懒的木屋    来源:51Testing软件测试网采编

  其他类:
  通过这些层次的分析我们已经出现一个框架的雏形了,然后我们剩下的设计就是基于完善和优化了。在一个自动化过程中case类是非常重要的,我们需要知道 case类运行结束的结果报告和分析,所以case类的运行等等一系列的东西我们都得有统计,这些东西必须要我们提供一些类来实现,不过所幸的是,强大的 junit或者testng完全可以取代我们要去做的工作,他们可以很完美的提供这些功能,我们只需要介入这些开源包就可以了。我们使用QTP的过程中我 们经常会用到参数化,我们自动化的设计都有了,但是没有参数化的功能怎么办?我们应该先想象一下数据提供的方式。testng提供了一种参数化的形式,但 是它是需要在xml里面配置或者硬编码的形式来进行编写。不过它提供了一种dataprovider的方式来进行参数化,它传递参数的形式是 Object[][],我们可能希望使用参数的时候通过excel表格来完成,这些都是可以实现的,poi包提供了解析excel的功能,非常的强大。我 们可以自己编写解析类来进行参数化的功能编写,具体实现不再过多去说。调用的方式就简单多了,硬性的记住几个注解就可以了。case类的各种运行我们都有 了,还需要一些什么扩展呢?很显然就是日志的扩展。日志的设计也是很有技巧的。我们需要用日志监控某一些方法的话,如果前期没有直接加入日志功能,我们可 以通过spring的方式来进行日志切入操作。但是我们在观察日志的时候我们通常会希望知道到底运行到哪一步了,我们可以想一想,所有的操作都是基于 element或者window的,page的只是一个抽象出来的概念,所以我们只需要把日志加入到每一个element的方法和window的主要方法 里面就可以监控到整个运行的过程,毕竟我们不能够去亲自盯着屏幕一直。这样没个方法不外乎就是运行成功和失败,所以我们可以通过这种方式来进行编码。日志 的实现我们可以通过通过的log4j或者自己编写一个小的日志系统。都是可行的方案。
  扩展类:
  也许我们需要这些系统能够有良好的可移植性,我们可以自己编写类加载器,为以后做整个自动化的测试平台做准备。最主要都是我们做的这些操作可能需要越来简 单,所以我们可能会因为引入注解的方式来提供编码效率,所以我们还需要为注解类做一些辅助的工作。当然这些注解的开发需要我们做足足够的需求研究,并不是 无谓的去开发各种注解。这些注解的应用应该说很广泛,不再多说注解的好处。并且注解还有一点可应用的地方就是放在数据库的操作中,在自动化测试中,其实数 据库的测试也是一个大的难点。在这里我们只讨论前端自动化的设计,不过多的讨论别的东西。
  前面讲到的这些类的存在形式其实就是在框架里面的一种层次,我们谈论的这些都是基于webdriver的,并且主要基于前端自动化测试的,当然自动化测试 不只包括这些,还包括服务器端,接口自动化,单元自动化等等。我个人的能力水平也是很有限,可能很多地方说到的不是很到位,希望能够通过这篇文章能够给那些希望学习自动化,希望编写小测试框架的童鞋,一点点的启发。
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号