你好,我是刚哥。
背景:公司计划开展接口自动化测试,接口工具Postman、JMeter等不好管理用例,资源有限也一时半会搭不了测试平台,先用测试框架把自动化测试搞起来。
选择技术栈。Python、Java、Go三选一。能选Python就选Python。只会Java或只会Go才选Java Go。Python语法简单,上手容易,有一整套成熟的接口自动化测试方案,社区完善且持续迭代更新。
选择编写方式。Python代码、Robot、YAML、Excel、JSON五选一。尽量选择Python代码或Robot,可选YAML,不要选择Excel、JSON。不管选择哪种都需要学习语法,学习Python语法是最通用的,Python学起来很快,代码写起来也简单。Robot是RobotFramework的源文件格式,自带解释器,关键字驱动写法。YAML是HttpRuner的源文件格式,优点是不需要懂代码,缺点也很明显,功能受限和难以调试。Excel在自动化早期流传甚广,也许只有培训机构还在教。JSON冗余内容太多,不适合直接拿来写用例。
选择框架。pytest、RobotFramework、HttpRunner三选一。优先pytest,其次RobotFramework,最后HttpRunner。网上能搜到很多基于pytest搭建的接口自动化测试框架,学习资料丰富,无需多言,使用pytest是绝对正确的。RobotFramework是关键字驱动框架,很成熟,在特定领域适用比如硬件,设计框架多看看。如果完全不想接触代码,倒也可以试试HttpRuner,源码易懂,可以二次开发。
还有2个隐藏因素,一是测试人员能力,作为发起者,要有觉悟,这个框架80%都需要你来搭建和维护,其他测试人员能力可以考虑,但不是重点,最重要的还是你用起来顺手。选好框架后立刻动手,做出一定成果后找机会汇报,至于能不能推广,心态随缘,效果好加上领导支持,星星之火可以燎原。二是个人成长,把“独立搭建接口自动化测试框架”或“基于开源框架二次开发”作为目标,以终为始,熟悉成熟框架,学习他人框架,设计实用框架。