我一直在努力,并花了很多时间编写手动Python脚本才能测试涉及许多微服务的产品。 它们都遵循REST约定。 我不知所措,脚本太多了,每个脚本都要测试不同的端点,它们如何响应以及响应,我决定创建一个Python包来轻松实现此目的,而无需创建手动Python脚本,导入库来发送HTTP请求,从其他脚本复制和粘贴代码以快速测试新端点等。
高兴宣布pyhttptest !
我对Python社区的第一篇贡献,已在PyPI中发布。
pyhttptest-用于通过Web服务器进行HTTP测试的命令行工具,可以通过简单的三个步骤很好地解决该问题。
1.安装套件
pip install pyhttptest
2.以文件中最简单且广泛使用的JSON格式描述针对您的服务的HTTP Requests测试用例。
1.要发送HTTP GET请求:
创建一个JSON文件,例如data / GET_USERS.json
{
"name" : "TEST: Github Page" ,
"verb" : "GET" ,
"endpoint" : "/" ,
"host" : "https://github.com" ,
"headers" : {
"Accept-Language" : "en-US"
}
}
2.要发送HTTP POST请求:
创建一个JSON文件,例如data / POST_BIN.json
{
"name" : "TEST: Create an HTML bin" ,
"verb" : "POST" ,
"endpoint" : "post" ,
"host" : "https://httpbin.org" ,
"payload" : {
"content" : "Hello, world!"
}
}
可以传递给.json
文件的属性是:
- 名称-测试用例的名称,例如“获取所有用户”。
- 动词-HTTP方法,例如“ GET”,“ POST” 。 目前仅支持“获取”和“发布”。
- 端点-您要在服务器上调用的资源,例如“ / users”。
- 主机-您的服务器标识,例如可以是“ http:// localhost:8008 ”,“ https://github.com ”等。
- 标头-HTTP标头。 支持所有HTTP标头字段 。
- query_string-在问号后的URL中传递查询字符串参数,例如http://example.com/test ? 名称= pyhttptest
- 有效负载-数据。
注意:.json具有必需和可选的属性
需要:
- 名称
- 动词
- 终点
- 主办
可选的:
- 标头
- 有效载荷
- 请求参数
3.运行命令并获取报告
pyhttptest execute data/GET_USERS.json
而已!
目前,该软件包处于Beta版,可能包含错误,而不是用户友好的消息等。
我想收集大家的反馈,不管是正面还是负面。
这将帮助我准备好软件包以使其更适合正式发行版本。
等待您的反馈以及要实现的功能列表或要删除的功能列表,以使您的工作更加轻松!
感谢您的关注和反馈! 我很感激!
From: https://hackernoon.com/test-your-web-server-in-elegant-way-c14u32s1