python实现测试工具(一)——命令行发送get请求


Posted in Python onOctober 19, 2020

本系列教程我们将使用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

以上就是python实现测试工具(一)——命令行发送get请求的详细内容,更多关于python 命令行发送get请求的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python 示例分享---逻辑推理编程解决八皇后
Jul 20 Python
Python中的匿名函数使用简介
Apr 27 Python
Python随手笔记第一篇(2)之初识列表和元组
Jan 23 Python
Python中的descriptor描述器简明使用指南
Jun 02 Python
python读取word文档,插入mysql数据库的示例代码
Nov 07 Python
Python多线程应用于自动化测试操作示例
Dec 06 Python
python 处理数字,把大于上限的数字置零实现方法
Jan 28 Python
python使用selenium实现批量文件下载
Mar 11 Python
Python学习笔记之For循环用法详解
Aug 14 Python
python实现画出e指数函数的图像
Nov 21 Python
python中for in的用法详解
Apr 17 Python
520使用Python实现“我爱你”表白
May 20 Python
基于Python制作一副扑克牌过程详解
Oct 19 #Python
Python实现壁纸下载与轮换
Oct 19 #Python
Python调用REST API接口的几种方式汇总
Oct 19 #Python
Python爬虫抓取论坛关键字过程解析
Oct 19 #Python
python MD5加密的示例
Oct 19 #Python
python Yaml、Json、Dict之间的转化
Oct 19 #Python
Python pip 常用命令汇总
Oct 19 #Python
You might like
php随机输出名人名言的代码
2012/10/07 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
2014/12/18 PHP
2017年最新PHP经典面试题目汇总(上篇)
2017/03/17 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
2017/10/12 PHP
Laravel框架路由和控制器的绑定操作方法
2018/06/12 PHP
jquery.artwl.thickbox.js  一个非常简单好用的jQuery弹出层插件
2012/03/01 Javascript
javascript修改表格背景色实例代码分享
2013/12/10 Javascript
javascript break指定标签打破多层循环示例
2014/01/20 Javascript
jquery中load方法的用法及注意事项说明
2014/02/22 Javascript
js获取url中"?"后面的字串方法
2014/05/15 Javascript
JS 弹出层 定位至屏幕居中示例
2014/05/21 Javascript
Javascript中3种实现继承的方法和代码实例
2014/08/12 Javascript
Jquery插件实现点击获取验证码后60秒内禁止重新获取
2015/03/13 Javascript
在Javascript中处理数组之toSource()方法的使用
2015/06/09 Javascript
漫谈JS引擎的运行机制 你应该知道什么
2016/06/15 Javascript
给easyui的datebox控件添加清空按钮的实现方法
2016/11/09 Javascript
详解js数组的完全随机排列算法
2016/12/16 Javascript
完美实现js焦点轮播效果(二)(图片可滚动)
2017/03/07 Javascript
Vue.js 动态为img的src赋值方法
2018/03/14 Javascript
JS中双击和单击事件冲突的解决方法
2018/04/09 Javascript
JS中通过url动态获取图片大小的方法小结(两种方法)
2018/10/31 Javascript
jQuery冲突问题解决方法
2021/01/19 jQuery
在Python中操作时间之mktime()方法的使用教程
2015/05/22 Python
Django Form and ModelForm的区别与使用
2019/12/06 Python
Django中modelform组件实例用法总结
2020/02/10 Python
pycharm2020.2 配置使用的方法详解
2020/09/16 Python
基于django和dropzone.js实现上传文件
2020/11/24 Python
浅谈pc和移动端的响应式的使用
2019/01/03 HTML / CSS
html5中JavaScript removeChild 删除所有节点
2014/05/16 HTML / CSS
团日活动策划书
2014/02/01 职场文书
优秀辅导员事迹材料
2014/02/16 职场文书
幼儿园六一儿童节活动方案
2014/08/26 职场文书
Vue中foreach数组与js中遍历数组的写法说明
2021/06/05 Vue.js
django 认证类配置实现
2021/11/11 Python
关于Python中进度条的六个实用技巧分享
2022/04/05 Python
Elasticsearch 聚合查询和排序
2022/04/19 Python