pyresttest是什么?
- 一个Rest测试及小型的API冒烟测试工具。
- 接口测试文件使用YAML/JSON进行编写,不需要编码。
- 依赖少量的python模块,必要模块:pycurl、pyyaml,可选模块:future,可以很容易部署在服务上并对部署pyresttest进行冒烟测试或健康检查,检查部署是否成功。
- 支持 generate/extract/validate机制
- generate类似于Jmeter中的计数器
- extract类似于Jmeter中的数据提取功能
- validate验证类似于jmeter中的断言
- 在失败时会范围exit 码,可以植入自动配置管理/框架工具,也可以应用日志解析
- 可以使使用python对该工具功能进行重写或扩展
安装
PyRestTest在装有python的Linux或者Mac系统上运行,支持的python版本有: 2.6, 2.7, 或3.3+。如果仅仅是为了使用该工具,而不是对该工具进行二次开发,个人推荐使用docker部署(docker pull thoom/pyresttest ),能解决环境部署问题,hub仓库地址:https://hub.docker.com/r/thoom/pyresttest。
如果在linux/mac环境推荐使用pip工具安装。
pip install pyresttest
PyRestTest源码分支为:https://github.com/svanoort/pyresttest.git。也可以使用源码安装:
git clone https://github.com/svanoort/pyresttest.git
cd pyresttest
sudo python setup.py install
安装问题
大多数的安装问题都是由于pycurl和pycurl本地libcurl绑定导致。可以通过如下命令检查pycurl包是否正确安装:
python -c 'import pycurl'
如果返回正确,表示正确安装,如果出现ImportError或者相似信息,表示安装错误。
你可以使用同样的方法,检验pyyaml是否正确安装,在少数的系统中会出现通过pip安装失败的。
Error installing by pip
__main__.ConfigurationError: Could not run curl-config: [Errno 2] No such file or directory
出现该问题的原因:libcurl没有被安装或者安装了未被识别,可以使用下面命令进行修复:
- Ubuntu/Debian系统:
sudo apt-get install libcurl4-openssl-dev
- CentOS/RHEL系统:
yum install libcurl-devel
安装成功执行命令:python -c 'import pycurl'
验证
虚拟环境安装
使用pip安装pycurl,有时会出现pycurl/libcurl的问题。可以使用手动复制当前文件系统的包,执行命令如下:
cp /usr/lib/python2.7/dist-packages/pycurl* env/local/lib/python2.7/site-packages/
pyrest安装成功验证
如果是外网环境可以使用:
pyresttest https://api.github.com examples/github_api_smoketest.yaml
如果是内网是内网环境可以使用:
pyrestest --help