一直想找个Web形式的API自动化测试平台,但一直没找到满意的。 当偶然间发现Lazybug时,有种这不就我想要的平台么!!!尽管平台还有很多需要完善的功能,但它已经是目前找这么多平台中最接近心里期望。下面就简单介绍下Lazybug和使用。
什么是Lazybug
Lazybug 是一个开源的API 测试管理系统,可以用于测试API和API 自动化测试。
官网: http://www.lazybug.cn/
github: https://github.com/hanviseas/lazybug-for-api
分析(居于2.0版本已有功能)
优势
- web 平台一人搭建全team 受用,无需额外任何安装和配置
- 上手相对还是容易,官方也提供了较为详细的操作手册
- 支持数据库查询
- 支持不同接口间数据传递
- 提供了单个API测试和多个API自动执行
- 提供了执行结果邮件发送功能
- 提供全局变量
- 支持HTTP 和 HTTPS
- 可以对case 分等级
- 等等
功能缺失
- 无接口版本管理
- 无mock数据
平台搭建
安装jdk 1.7+
安装MySQL Server 5.6
下载:http://www.lazybug.cn/index.php/download/ 得到Lazybug.7z文件,并解压
新建数据库:lazybug_api 并导入步骤3解压后的lazybug_api.sql文件
修改/lazyapi/config/database.php文件,修改数据库相关配置
下载:USBWebserver 来搭建PHP网站:http://www.usbwebserver.net/en/download.php (别的方式也可以)
解压USBWebserver ,并运行 USBWebserver.exe文件
-
修改USBWebserver 的Settings 配置,在Root dir 中设置你Lazybug解压的路径,例如:D:\API_Framework\lazybug.cn\lazyapi ,根据需要修改端口号,并保存:
-
打开server/config.xml 文件,修改<remote>标签中的地址为本机ip+端口号
cmd进入到server文件夹,并允许server.jar文件: java -jar server.jar,如果没有报错则通过
-
浏览器打开:http://loacalhost:8081 显示如下表示平台搭建完成:
-
可以使用默认账号admin/admin登录
简单使用
创建模块
模块主要用于对接口的分类或者说对测试用例的分类。
新增接口地址
用于新增接口的地址,只需要填写接口地址名和URL,无需要填写各种参数。
新增接口请求信息
接口请求信息需要填写接口请求的方式(目前支持GET,POST,PUT,DELETE),接口的参数如果是GET请求,也用{“key1”:"value";"key2":“value2”}形式,请求头同样使用{“key1:"value";"key2":“value2”}形式。
新增校验点
新增校验点用于校验接口的返回是否达到预期,目前支持5种校验方式,默认不勾选任何一种表示包含关系。但目前还不支持json解析。
接口间数据传递
Lazybug 提供了提取json、xml的方法,例如,上一个用例的执行结果为“{“a”:{“b”:”lazybug”}}”,想获取“lazybug”,则用{extend:json:a->0->b;}注意上个用例的执行结果返回类型必须是json格式。如果是xml格式的话例如“<a><b>lazybug</b></a>”,那么获取“”lazybug的方式是“${extend:xml:/a/b;}”。
创建全局变量
在API自动化实施过程中,我们常常需要在不同的环境下执行用例,所以这是我们就需要根据不同的环境设置不同的URL,如果一个一个去修改接口的URL明显是非常不明智的, Lazybug提供了全局变量,可以很好的解决这个问题。 Lazybug 通过在设置里面添加配置,并通过${param:key}来获取配置设置的key对应的value。
创建数据源和使用数据源
Lazy目前支持多种数据库的链接方式,包括mysql,sql,oracle。
创建数据源需要在设置--数据源中配置,需要配置数据源关键字供用例中使用,例如下gif图中的关键字是key_mysql_localhost,并设置数据库类型和连接参数:server=server;database=databasename;user=root;password=root;charset=utf8.
使用数据源,在创建用例界面添加存储查询,设置数据源的关键字和sql语句便可。
创建运行
运行除了单个用例运行外还可以批量运行用例,批量运行用例还提供了每日自动化运行和手动点击运行。运行前先保证平台搭建中的第十步运行jar包无报错。
V2.0 新增功能简单使用
随机数生成
接口测试的请求参数为保证每次调用都通过,经常需要每次请求使用不同的参数,而Lazybug V2.0版本提供了3种全局随机数。
- ${function:rand(n)},该功能函数将随机生成n位整数。
- ${function:randc(n)},与rand相似,不同的是它随机生成的是英文字母。
- ${function:time(s或m)},该功能函数将生成当前的系统时间戳,有两个可能的参数。当参数值是s时,生成的是秒数。当参数值是m时,生成的是毫秒数。
添加了多项目支持
Lazybug v2.0 在浏览页面添加了切换空间功能,每个空间可以单做单独的一个项目,便于多项目管理。
更多帮助,请查看官方文档:http://www.lazybug.cn/