Requests接口自动化
Python+Requests之接口自动化
SitVen
这个作者很懒,什么都没留下…
展开
-
Python+Requests之配置代理
通过Python写Requests接口测试脚本时会遇到一些请求异常的情况,每次把请求信息打印出来比较繁琐, 通过使用抓包工具可以很有效的协助定位问题;抓包需要设置代理, 开启代理后不论是通过pip安装第三方包还是通过Requests发HTTP请求都会报错ValueError: check_hostname requires server_hostname 如下图:代理设置Requests提供的了proxies参数用于配置代理,如下代码配置的fiddler抓包代理:import reque.原创 2021-09-21 08:04:39 · 3122 阅读 · 0 评论 -
Jenkins自动化测试构建后邮件通知
完成基于Jenkins的持续集成部署后,自动化测试执行后,测试结果需要通知到相关人员,除了钉钉通知外我们还可以通过Email通知到对应负责人,这里记录一下测试结果通过Jenkins邮件通知的配置与部署安装插件Email Extension Plugin方法1:进入Jenkins-系统管理--插件管理-可选插件,输入Email Extension Plugin搜索勾选直接安装插件方法2: 进入Jenkins插件下载email-ext与其依赖插件,进入Jenkins-系统管理--插件管理-高级-上.原创 2020-10-13 22:43:29 · 1696 阅读 · 0 评论 -
Python+requests之beautifulsoup4解析html
Beautiful Soup是一个可以从HTML或XML文件中提取数据的Python库, 它能够通过你喜欢的转换器实现惯用的文档导航, 查找修改文档html解析器下表列出了主要的html解析器,以及它们的优缺点解析器 使用方法 优势 劣势 Python标准库 BeautifulSoup(markup,"html.parser") 1. Python的内置标准库 2. 执行速度适中 3. 文档容错能力...原创 2020-09-13 13:32:06 · 575 阅读 · 0 评论 -
Python+requests之base64与image转换
做接口自动化过程, 遇到需要把image转换base64格式上传的接口,Python的bs4模块就能解决所述问题image转换base64# image转换成base64并加上 前缀data:image/jpeg;base64,def image_to_base64(filename, path="E:\\script", **kwargs): """ :param filename: image文件名 :param path: image存放路径 :param原创 2020-09-09 20:39:11 · 4427 阅读 · 0 评论 -
Python+requests之通过跳板机(ssh通道)操作MySQL
公司内部通常会限制MySQL的登录访问的IP地址,如此情况下我们就需要通过ssh登录指定的服务器(跳板机)才能访问远程MySQL,程序本身不能直接连接MySQL,在写一些自动化脚本时会很麻烦, Python可通过paramiko和sshtunnel模块建立ssh通道在访问MySQL思路1. 通过密钥或密码登录(ssh)指定跳板机2. 绑定本地地址与跳板机相通的端口3. 登录MySQL数据库4. 执行SQL5. 登出数据库和服务器实现(一)服务器登录方法#!/usr/..原创 2020-08-29 17:13:46 · 1867 阅读 · 1 评论 -
Python+requests通过paramiko远程登录Linux执行sh命令
在做自动化测试过程中, 偶尔需要登录Linux服务器执行一些sh命令。Python的paramiko模块,遵循SSH2协议, 支持以加密和认证的方式远程连接服务器, 可用来连接远程linux主机, 然后执行Linux命令或者通过SFTP传输文件封装的方法import paramikoclass Operate_Server(): def __init__(self, hostname, port, username): self.hostname = hostnam.原创 2020-08-27 23:32:39 · 558 阅读 · 1 评论 -
Python+requests之文件上传与下载
在做接口自动化测试中,经常会遇到文件的上传和下载接口文件上传一般上传文件使用的都是Content-Type: multipart/form-data;数据类型,可以发送文件,也可以发送相关的消息体数据。使用 requests 上传文件的基本步骤:1.构造文件数据,通过 open 函数以二进制方式打开文件2.构造相关数据3.发送请求,将文件数据以 files 参数传入,其他消息体数据通过 data或 json 传入参考官方文档>>> url = 'http:/原创 2020-07-13 22:38:23 · 8986 阅读 · 0 评论 -
Python+requests 之urlencode编码与解码
URL编码URL编码是一种浏览器用来打包表单输入的格式; 浏览器从表单中获取所有的name和其中的值, 将它们以name/value参数编码(移去那些不能传送的字符, 将数据排行等等) 作为URL的一部分或者分离地发给服务器为什么需要urlencode编码原因:如果一样东西需要编码, 说明其并不适合直接传输。原因多种多样, 如Size过大, 包含隐私数据。对于Url来说, 之所以要进行编码, 是因为Url中有些字符会引起歧义。例如:URL参数字符串中使用key=value键值对这样的形式来传原创 2020-06-05 21:23:06 · 26773 阅读 · 0 评论 -
Python+selenium 第三方接口识别图文验证码
以第三方斐斐打码接口为例(此方法只学习使用)#!/usr/bin/python3# coding=utf-8# Author: 文from re import matchfrom io import BytesIOfrom time import timeimport base64import hashlibimport requestsclass GetCode()...原创 2020-03-17 21:07:19 · 801 阅读 · 0 评论 -
jenkins钉钉接口通知自动化测试详情
Python代码钉钉群机器人token获取请参考:jenkins构建结果钉钉群消息通知#!\usr\bin\python3.6# coding=utf-8# Author: 文from time import strftimefrom requests import sessiondef nail_inform(statis): """ :param sta...原创 2019-11-18 22:26:16 · 1085 阅读 · 0 评论 -
Python+requests 之封装yaml配置文件的读写
简介YAML语言的设计目标,是方便人类读写。实质上是一种通用的数据串行化格式。它的基本语法规则如下:大小写敏感 使用缩进表示层级关系 缩进时不允许使用Tab键,只允许使用空格。 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可 '#'表示注释, 会被解析器忽略YAML 支持的数据结构有三种对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) /...原创 2019-07-28 11:27:08 · 2598 阅读 · 0 评论 -
Python+requests 之session保持会话
session()方法 会话对象让你能够跨请求保持某些参数。它也会在同一个 Session 实例发出的所有请求之间保持 cookie,如果你向同一主机发送多个请求,底层的 TCP 连接将会被重用,从而带来显著的性能提升session()中添加cookie session()中添加cookie有两种情况,第一种cookie传参为字典格式,则需要通过request...原创 2019-07-14 21:56:41 · 5676 阅读 · 0 评论 -
Python+requests 之POST请求
与get请求相比post 请求多一个 body 部分, post 请求的参数可以放在 url, 也可以放在 body, 也可以同时放在 url 和 body, 当然 post 请求也可不带参数常见的post提交数据类型 post传参之 — application/json格式(json传参)#!/usr/bin/python3# coding=utf-8# Author:...原创 2019-07-07 22:44:03 · 1288 阅读 · 0 评论 -
Python+requests 之GET请求
1.配置环境安装requests包:python -m pip install requests2.发送GET请求import requestsr = requests.get("http://httpbin.org/get")3. 添加headler和cookiesimport requestsheader = { "User-Agent": "Mozilla/5...原创 2019-05-06 21:59:12 · 15526 阅读 · 0 评论