可能有很多自动化测试的初学者认为学习了selenium自动化测试,可以简单的完成自动化测试脚本设计,甚至可以实现jenkins的持续集成,就算作学会了自动化测试,掌握了如何去进行自动化测试的方法。真的是这样么?答案肯定是否定的。
回归我们做自动化的初心:我们为什么要做自动化?自动化不仅仅是编码、是工具,更重要的是为了提升我们的测试效率。那么如何提升测试效率呢?
一个好的自动化测试框架,不仅仅要能让用户方便使用,还需要符合一些基本原则。这些原则包括:可复用、易维护、定时处理、持续集成、可调试、测试结果自动通知等等。框架的概念是一系列的被事先定义好的标准和规范。在自动化测试中我们经常提到的对测试需求的解析、脚本设计、测试执行、测试报告、维护管理等等,通过框架将它们串联并封装起来,从而使框架的终端用户能够更方便地使用。
由此,我们将自动化测试拆分为两部分,我称之为外部框架与内部框架。
外部框架,主要是以WebDriver为核心,辅以外部第三方框架和工具,用以实现持续集成、自动部署、脚本执行、远程调用、报告优化、邮件发送等功能性框架。当前比较流行的上游框架模式为Jenkins+Maven+TestNG+WebDriver的模式。这样可以完整的执行我们的自动化测试。那么下游报告部分呢?通用的默认测试结果是TestNG的,样子比较丑,我们可以看一下
比较丑同时不便于展示,交互性也比较差。所以在这里我们用ReportNG进行下优化,优化后报告如下:
同时我们可以讲上面的html测试结果通过邮件发送出去,更加便于我们去监控测试结果,同时,领导们看到我们比较赏心悦目的邮件也会比较开心哈~!
上门是我们的外部功能性框架,除此之外,我们也需要构建一套易维护、可复用的内部框架。内部框架又称为分层框架,目的在于更好的优化和管理测试用例、更便捷的进行数据、元素、脚本的维护和更快速的创建新脚本。所以我们考虑如下分层模式来进行。
到此,我们才算搭建出一套通用性较强的自动化测试框架。再辅以大数据思维来统计,综合测试结果(这里我们可以应用sails+mongoDB),这样我们的框架就更加全面了。
在上面基础之上,我们才真正做到了自动化测试的“初心”,不再仅仅是为自动化而自动化,而是真正让你的效率提升起来!
就上述思路,我发布了一个课程Java+Selenium3.0深度解析自动化测试框架设计与开发,希望能对大家有所帮助!!
共同学习,写下你的评论
评论加载中...
作者其他优质文章