【接口自动化】2.快速搭建接口自动化框架

接口自动化框架要搭成什么,里面的内容究竟应该有多少?
这个问题没有标准答案,由于这要取决于你的项目,以及你想要用框架来解决什么问题等多种因素。html

固然了,这里也就不展开讨论了,仍是回到接口自动化这个点,来讲一说你至少改具有的东西。java

1、编程语言的选择

若是有特殊要求用某种语言的话,你没什么好选。若是没有特殊要求,我我的偏向于使用python语言。python

笔者以前也曾参与过基于java语言的接口自动化开发跟维护,框架用的是testng,虽然组内大佬已经尽力
将框架维护的比较好用,可是用起来始终不如python爽。或许这也是习惯的缘由吧,谁叫我是先学python,
后学的java呢。mysql

我记得当时领导说是为了让测试的开发语言与开发同步,因此就让咱们转用java来开发了。可是我仍是那句话,
若是没有特殊要求,我仍是果断拥抱pythonsql

这里要再加个题外话,那是否是以为会用python就足够了?搁之前或许是吧,可是如今确定不是了。java仍是
要学的,你看看大多数公司开发用的什么语言,就是java。反正多掌握几个主流的开发语言确定不会亏。数据库

2、单元测试框架的选用

既然语言定了,单元测试框架也就好选了。笔者是基于python进行分享,那么就不得不提unittest个pytest了。
unittest是python自带的单元测试框架,而pytest则是一个第三方的测试框架。直接给结论,用pytest,优势
多多,插件生态丰富,谁用谁知道。附上pytest的官方文档,不过是英文的。
可是仍是推荐多去看看,多写写,多体会。
编程

笔者在陆续写一个【解读pytest官方文档】系列,已经写了一些,有兴趣的能够翻一下。框架

3、善于优秀的第三方库

框架定了pytest,那么就能够用它结合着众多优秀的开源库去实现本身的需求啦,这里写几个经常使用的:编程语言

  1. requests:接口自动化必备神器,请求接口、代理等等应有尽有,官方文档在这,有中文版的哦。
  2. pymysql:操做mysql利器,接口测试少不了要跟数据库打交道,有了它你会更加驾轻就熟。
  3. allure:这是个测试报告,其实没有它你依然能够进行接口测试,若是你想要一份漂亮的测试报告,就选它吧。
    ... ...
    第三方库真的不少,就不一一列举了,要善于搜索。

4、接口自动化框架的基本结构

上面说的都齐了,框架也就有了。至于结构到底怎么样,仍是因人、项目而已,怎么适合怎么来。单元测试

图里的这个结构,并非我目前项目在用的,可是这几个东西是基本结构,用处分别是:

  • conf:这里能够放一些配置文件啥的,好比数据库连接信息,接口域名等等。
  • interface: 这里就是放测试用例的地方了,下面能够根据项目须要进一步拆分模块
  • report:无关紧要吧,有的话你能够把生成的报告放这里
  • util:这里能够写一些公共方法

这里仅仅做示意,名字随便起,只要合适就行。

目前项目里在跑的框架内容就比这多了很多了,毕竟里面是好几个业务都在一块儿,而后就有了各类各样的问题,
须要框架去兼容解决,天然而然东西就会变多。

本文中只提供思路,供想要搭建接口自动化框架的伙伴参考,有问题能够留言或者私信我,固然了推荐最直接的就是
去搜索了,毕竟这是写代码的一项重要技能!!!

接下来会分享编写接口自动化case须要注意的那些点。

相关文章
相关标签/搜索