python实现测试工具(一)——命令行发送get请求
作者:乙醇 时间:2022-04-06 03:49:00
本系列教程我们将使用python实现一些简单的测试工具,为了尽可能的简单,我们的工具以命令行工具为主。
本系列教程使用的python版本是3.6.3。
背景
这一节我们实现简单的命令行发送get请求的工具,使用方式如下:
python get.py www.v2ex.com/api/nodes/show.json\?name\=python
接口地址: http://www.v2ex.com/api/nodes/show.json?name=python
状态码: 200
Headers:
Date : Tue, 10 Jul 2018 07:06:12 GMT
Content-Type : application/json;charset=UTF-8
Transfer-Encoding : chunked
Connection : keep-alive
Vary : Accept-Encoding
X-Rate-Limit-Remaining : 119
Expires : Tue, 10 Jul 2018 08:03:49 GMT
Server : Galaxy/3.9.8.1
Etag : W/"76a33d25372411dc6fa4190a5cf9679caa0edc2a"
X-Rate-Limit-Reset : 1531209600
Cache-Control : max-age=3600
X-Rate-Limit-Limit : 120
Google : XY
Content-Encoding : gzip
Strict-Transport-Security : max-age=31536000
{
"id" : 90,
"name" : "python",
"url" : "https://www.v2ex.com/go/python",
"title" : "Python",
"title_alternative" : "Python",
"topics" : 9530,
"stars" : 6601,
"header" : "这里讨论各种 Python 语言编程话题,也包括 Django,Tornado 等框架的讨论。这里是一个能够帮助你解决实际问题的地方。",
"footer" : null,
"created" : 1278683336,
"avatar_mini" : "//cdn.v2ex.com/navatar/8613/985e/90_mini.png?m=1531131631",
"avatar_normal" : "//cdn.v2ex.com/navatar/8613/985e/90_normal.png?m=1531131631",
"avatar_large" : "//cdn.v2ex.com/navatar/8613/985e/90_large.png?m=1531131631"
}
主要使用场景是快速访问http的api接口,查看状态码,响应头以及响应内容。
代码实现
简单起见,我们会用到requests库。
import requests
from sys import argv
USAGE = '''
USAGE:
python get.py https://api.github.com
'''
if len(argv) != 2:
print(USAGE)
exit()
script_name, url = argv
if url[:4] != 'http':
url = 'http://' + url
r = requests.get(url)
print(f"接口地址: {url}\n")
print(f"状态码: {r.status_code}\n")
print(f"Headers:")
for key, value in r.headers.items():
print(f"{key} : {value}")
print(r.text)
动手时间
抄一遍代码,看自己能不能运行起来
给这段代码每一行都加上注释,理解代码做了些什么
如果需要在发送get请求的时候默认加上Content-Type: application/json的headers,这段代码该如何修改
源码地址
https://github.com/easonhan007/simple_test_tools
来源:https://www.cnblogs.com/nbkhic/p/12155142.html
标签:python,测试工具,get请求,命令行
0
投稿
猜你喜欢
Oracle SQL性能优化系列学习一
2010-07-26 13:14:00
Win10下配置tensorflow-gpu的详细教程(无VS2015/2017)
2023-04-27 13:37:46
Anaconda3+tensorflow2.0.0+PyCharm安装与环境搭建(图文)
2021-09-28 02:54:28
Python常用模块logging——日志输出功能(示例代码)
2022-01-21 15:24:01
Python 窗体(tkinter)下拉列表框(Combobox)实例
2022-04-01 02:38:07
Python常用模块用法分析
2022-02-05 05:29:43
python查找指定依赖包简介信息实现
2023-11-02 22:04:11
python3中pip3安装出错,找不到SSL的解决方式
2022-02-15 23:33:17
23个很棒的Python脚本集合分享(迷你项目)
2023-12-24 04:34:15
解决windows下python3使用multiprocessing.Pool出现的问题
2021-11-03 23:34:37
语言化H1标签
2008-01-11 13:54:00
MySQL字符集 GBK、GB2312、UTF8区别 解决MYSQL中文乱码问题
2024-01-14 03:16:56
Python使用jupyter notebook查看ipynb文件过程解析
2021-07-25 20:26:30
GoFrame基于性能测试得知grpool使用场景
2024-05-08 10:52:24
Python实现邮件的批量发送的示例代码
2023-08-09 07:47:57
Python实现Telnet自动连接检测密码的示例
2021-10-05 11:08:37
SQLServer查找字符串在另一字符串的索引位置
2024-01-13 06:10:30
使用Python的Django和layim实现即时通讯的方法
2022-05-29 00:41:33
pygame游戏之旅 载入小车图片、更新窗口
2022-08-06 18:12:39
一个函数解决SQLServer中bigint 转 int带符号时报错问题
2024-01-19 23:26:36