HTTP接口自动化测试工具itest

HTTP接口自动化测试工具itest

一、介绍

itest是用python3开发的http接口自动化测试工具,基于excel文件格式的测试数据来驱动测试的执行,并生成html格式的详细的测试报告。该工具是本人结合实际情况开发的一款简单的自动化测试工具,个人觉得其有以下几点优势:

1、基于命令行方式执行,便于CI测试及扩展

2、基于excel文件维护测试用例集,相比于jmeter、postman等GUI界面的测试工具,在维护测试用例上更加方便

二、安装(目前只支持python3)

1、通过pip

pip install itest

2、通过源码githuab-itest

三、如何使用

安装完成后,直接在命令行输入itest –help或-h会输出一个选项列表(原谅我着急的英语)

1、-f或–casefile:excel格式的测试用例文件,必须指定该选项,文件格式如下所示:

参数目前只支持json格式,可以为空,其他几个字段不可为空;预期断言用于判断接口响应是否包含该断言,可以为任意数据;

支持执行多个excel文件

itest -f testcase01.xlsx -f testcase02.xlsx

2、-s或–sheet:指定执行某个sheet中的测试用例,如果不指定该选项则默认执行excel文件中所有sheet中的测试用例。可以指定多个要执行的sheet。当指定多个sheet时,只能指定一个excel文件

itest -f testcase.xlsx -s sheet01 -s sheet02

3、-t或–test-report:指定测试报告路径,默认为源码路径中的testreport文件夹,默认文件名为index.html

itest -f testcase.xlsx -t /home/testreport.html

4、–async-mode:如果指定该选项则基于协程的异步执行,默认为顺序方式执行。如果使用异步模式,则会产生类似并发的效果,如果后续接口依赖session或是cookie的话该模式会导致大量失败。

5、-l或–log-level:指定日志输出级别,默认为DEBUG

实际使用示例:

生成的测试报告如下:(测试数据是从网上找的公共接口)

四、待完善的部分

1、该工具目前还没有提供以库的方式被引用的api,比如要修改excel文件的格式,只能通过修改源码中的config文件。不过源码比较简单,有这方面的需求可以直接参考源代码。

2、没有提供参数化的选项,该工具致力于接口自动化,参数化更多的用在性能测试上,故目前没有实现,之后会考虑增加该功能。

3、如果接口测试依赖session和cookie验证,则需要将登陆验证接口的case放到用例的第一行,之后的接口执行都是基于首次执行的session的。由于本人在实际的测试中没有这方面的需求故没有增加该具体的功能,后期会考虑增加一个验证的功能

Comments are closed.