当前位置: 首页 > 后端技术 > Python

使用pyhttptest

时间:2023-03-26 02:06:48 Python

轻松测试RESTAPI现在,我们每个人都面临着一个RESTAPI,要么开发这样的服务,要么消费这样的服务。此外,我们正处在流行的微服务时代,我们将业务逻辑拆分为相互独立的小独立服务。这些服务中的大多数都遵循RESTful原则并使用JSON格式进行通信,JSON格式因其简单性而成为使用最广泛的格式。pyhttptest命令行工具,用于通过RESTfulAPI进行HTTP测试。该工具通过简单的三个步骤自动测试安装pipinstallpyhttptest在文件中使用最简单和广泛使用的JSON格式来描述API服务的HTTP请求测试用例发送HTTPGET请求json文件内容如下{"name":"TEST:获取服务器状态","verb":"GET","endpoint":"/get","host":"https://httpbin.org","headers":{"Accept-Language":"en-US"}}发送HTTPPOST请求,json文件内容如下{"name":"TEST:CreateanHTMLbin","verb":"POST","endpoint":"post","host":"https://httpbin.org","payload":{"content":"Hello,world!"}}多个测试用例定义示例[{"name":"TEST:Listallusers","verb":"GET","endpoint":"api/v1/users","host":"http://localhost:8085/","headers":{"Accept-Language":"en-US"},"query_string":{"limit":1}},{"name":"TEST:添加一个新用户","verb":"POST","endpoint":"api/v1/users","host":"http://localhost:8085/","payload":{"username":"pyhttptest","email":"admin@pyhttptest.com"}},{"name":"TEST:修改现有用户","verb":"PUT","endpoint":"api/v1/users/XeEsscGqweEttXsgY","host":"http://localhost:8085/","payload":{"username":"pyhttptest"}},{"name":"TEST:Deleteanexistinguser","verb":"DELETE","endpoint":"api/v1/users/XeEsscGqweEttXsgY","host":"http://localhost:8085/"}]运行命令并获取报告pyhttptestexecutedata/filename.jsonreportscreenshotfromthetestcasetestcasepropertiesname-测试用例动词的名称-HTTP方法端点-在服务器主机上调用的资源-服务器主机地址标头-一个HTTPheader所有HTTPheadersquery_string-querystring-querystringparametersintheURLafterthequestionmarkpayload-dataTips你可能会想到一个问题,如何添加、构建??和组织测试用例到我现有的/新的项目中。每个Python项目,其项目目录中都包含一个名为tests/的文件夹。按照惯例,unittest和pytest等优秀框架会从该目录中查找并执行测试用例de在Python脚本中被罚款。为了避免搞乱这些测试和破坏东西,我建议在项目根目录中创建一个名为live_tests/的文件夹。在新目录中,您可以放置??所有json文件,即定义API测试用例的文件。通过这样做,你的测试将很容易区分。有兴趣的可以关注公众号「chasays」——程序员聚集地