首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
python接口自动化四(json数据处理)
】的更多相关文章
python接口自动化读取json,yaml配置文件+封装requests+unittest+HTMLRunner实现全自动化
# coding=utf-8 import json import requests class TestApi(object): """ /* @param: @session ,@cookies the request can be divided into session request and cookie request according to user's own choice however,url and header is must ,other para…
python接口自动化四(json数据处理)
前言 有些post的请求参数是json格式的,这个前面第二篇post请求里面提到过,需要导入json模块处理. 一般常见的接口返回数据也是json格式的,我们在做判断时候,往往只需要提取其中几个关键的参数就行,这时候就需要json来解析返回的数据了. 一.json模块简介 1.Json简介:Json,全名 JavaScript Object Notation,是一种轻量级的数据交换格式,常用于http请求中 2.可以用help(json),查看对应的源码注释内容 Encoding basic P…
python接口自动化-传 json 参数
一.post请求有两种方法传json参数: 1.传json参数(自动转 json ) 2.传data参数(需 json 转换) 代码参考: payload = { "Jodie":"How are you ?", "python":123, "requests":True } url = "http://httpbin.org/post" #第一种直接传 json 参数(推荐使用这种) r1 = reque…
python接口自动化(十)--post请求四种传送正文方式(详解)
简介 post请求我在python接口自动化(八)--发送post请求的接口(详解)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等.我们要知道post请求四种传送正文方式首先需要先了解一下常见的四种编码方式: HTTP 协议规定 POST 提交的数据必须放在消息主体(entity-body)中,但协议并没有规定数据必须使用什么编码方式. 浏览器行为:Form表单提交 1.form表单常用属性 action:url 地址,服务器接收表单数据的地址 method:提交服务器的ht…
python接口自动化5-Json数据处理
前言 有些post的请求参数是json格式的,这个前面第二篇post请求里面提到过,需要导入json模块处理. 一般常见的接口返回数据也是json格式的,我们在做判断时候,往往只需要提取其中几个关键的参数就行,这时候就需要json来解析返回的数据了. 一.json模块简介 1.Json简介:Json,全名 JavaScript Object Notation,是一种轻量级的数据交换格式,常用于http请求中 2.可以用help(json),查看对应的源码注释内容 Encoding basic P…
python接口自动化13-data和json参数傻傻分不清
前言 在发post请求的时候,有时候body部分要传data参数,有时候body部分又要传json参数,那么问题来了:到底什么时候该传json,什么时候该传data? 一.识别json参数 1.在前面1.8章节讲过,post请求的body通常有四种类型,最常见的就是json格式的了,这个还是很多识别的…
python接口自动化-参数化
原文地址https://www.cnblogs.com/yoyoketang/p/6891710.html python接口自动化 -参数关联(一)https://www.cnblogs.com/111testing/p/9612496.htmlpython接口自动化-token参数关联登录(二)https://www.cnblogs.com/111testing/p/9612786.html 前言 前面一篇实现了参数的关联,那种只是记流水账的完成功能,不便于维护,也没什么可读性,接下来这篇可以…
python接口自动化 -参数关联(一)
原文地址https://www.cnblogs.com/yoyoketang/p/6886610.html 原文地址https://www.cnblogs.com/yoyoketang/ 原文地址https://www.cnblogs.com/yoyoketang/p/7259993.html 前言 我们用自动化发帖之后,要想接着对这篇帖子操作,那就需要用参数关联了,发帖之后会有一个帖子的id,获取到这个id,继续操作传这个帖子id就可以了 (博客园的登录机制已经变了,不能用账号和密码登录了,换…
python接口自动化3-自动发帖(session)
前言 上一篇模拟登录博客园,但这只是第一步,一般登录后,还会有其它的操作,如发帖,评论等,这时候如何保持会话呢? (敲黑板!!!由于博客园最近登录机制变了,登录全部走cookie登录) 一.session简介 1.查看帮助文档,贴了一部分,后面省略了 >>import requests>>help(requests.session()) class Session(SessionRedirectMixin) | A Requests session. | | Provide…
python接口自动化1-发送get请求
前言 requests模块,也就是老污龟,为啥叫它老污龟呢,因为这个官网上的logo就是这只污龟,接下来就是学习它了. 一.环境安装 1.用pip安装requests模块 >>pip install requests 二.get请求 1.导入requests后,用get方法就能直接访问url地址,如:http://www.cnblogs.com/yoyoketang/,看起来是不是很酷 2.这里的r也就是response,请求后的返回值,可以调用response里的status_code方法查…
python接口自动化25-发xml格式post请求
前言 post请求相对于get请求多一个body部分,body部分常见的数据类型有以下四种(注意是常见的,并不是只有4种) application/x-www-form-urlencoded application/json text/xml multipart/form-data 本篇讲xml这种类型的body案例,如何用python去实现 text/xml 1.首先要确定post请求的body部分类型是xml格式,可以用fiddler抓包工具,抓到请求后点开raw.看到body部分格式如下…
python接口自动化8-参数化
前言 前面一篇实现了参数的关联,那种只是记流水账的完成功能,不便于维护,也没什么可读性,接下来这篇可以把每一个动作写成一个函数,这样更方便了. 参数化的思维只需记住一点:不要写死 (由于博客园登录机制变了,登录全部用cookie,不用账号和密码登录了) 一.登录函数 1.s参数是session的一个实例类,先放这里,方便写后面代码 2.登录函数传三个参数,s是需要调用前面的session类,所以必传,可以传个登录的url,然后payload是账号和密码…
python接口自动化7-参数关联
前言 我们用自动化发帖之后,要想接着对这篇帖子操作,那就需要用参数关联了,发帖之后会有一个帖子的id,获取到这个id,继续操作传这个帖子id就可以了 (博客园的登录机制已经变了,不能用账号和密码登录了,换个网站,或者用cookie登录吧) 一.删除草稿箱 1.我们前面讲过登录后保存草稿箱,那可以继续接着操作:删除刚才保存的草稿…
python接口自动化11-post传data参数案例
前言: 前面登录博客园的是传json参数,有些登录不是传json的,如jenkins的登录,本篇以jenkins登录为案例,传data参数. 一.登录jenkins抓包 1.登录jenkins,输入账号和密码…
python接口自动化(响应对象方法)
python接口自动化(响应对象方法) 一.encoding作用 获取请求的编码(在不设置响应编码时,响应的信息默认使用的是请求的编码格式):r.encoding 设置响应的编码:r.encoding='编码格式’ 二.headers作用 获取响应的信息头:r.headers 三.URL作用 获取响应的URL:r.url 四.status_code作用 获取响应的状态码:r.status_code 五.cookise作用 获取响应的cookies信息:r.cookies(返回字典对象) 可以通过…
python接口自动化(post请求)
python接口自动化(post请求) 一.post请求的作用:新增资源 二.data格式的参数请求(data是字典对象) #1.导包 import requests #2.调用post方法 #请求的URL url='https://www.******/pc/member/sign' #请求头 headers={'content-type':'application/x-www-form-urlencoded'} #请求的参数 data={'flag': 'mobile', 'password…
python接口自动化-Cookie_绕过验证码登录
前言 有些登录的接口会有验证码,例如:短信验证码,图形验证码等,这种登录的验证码参数可以从后台获取(或者最直接的可查数据库) 获取不到也没关系,可以通过添加Cookie的方式绕过验证码 前面在“python接口自动化-session_自动发文” 中其实已经用到,这里再陈述一遍 一.Cookie介绍 1. cookie 特点 1·保存在客户端,一般由浏览器负责存储在本地. 2·通常是加密存储的,不过由于存储在本地,很难保证数据不被非法访问,并不怎么安全,所以cookies中不宜保存敏感信息,如密码…
python接口自动化6-重定向(Location)
前言 某屌丝男A鼓起勇气向女神B打电话表白,女神B是个心机婊觉得屌丝男A是好人,不想直接拒绝于是设置呼叫转移给闺蜜C了,最终屌丝男A和女神闺蜜C表白成功了,这种场景其实就是重定向了. 一.重定向 1. (Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置,从地址A跳转到地址B了. 2.重定向状态码: --301 redirect: 301 代表永久性转移(Permanently Moved) --302 redirect: 302 代表暂时性转移(Temporarily M…
python接口自动化4-绕过验证码登录(cookie)
前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 一.抓登录cookie 1.登录后会生成一个已登录状态的cookie,那么只需要直接把这个值添加到cookies里面就可以了. 2.可以先手动登录一次,然后抓取这个cookie,这里就需要用抓包工具fiddler了 3.先打开博客园登录界面,手动输入账号和密码(勾选下次自动登录) 4.打开fiddler抓包工具,刷…
python接口自动化16-multipart/form-data上传图片
前言 在提交表单操作的时候,经常会遇到图片上传的操作,图片上传是一个单独的接口,本篇以禅道为例,介绍如何上传图片 上传接口 1.以禅道上提交bug为例,在选择图片时,点确定按钮,就是上传图片了 2.用fiddler抓包,查看抓到的接口,以下这种接口就是multipart/form-data Content-Type: multipart/form-data body参数是这种格式: -----------------------------22165374713946 Content-Dispo…
python接口自动化23-token参数关联登录(登录拉勾网)
前言 登录网站的时候,经常会遇到传token参数,token关联并不难,难的是找出服务器第一次返回token的值所在的位置,取出来后就可以动态关联了 登录拉勾网 1.先找到登录首页https://passport.lagou.com/login/login.html,输入账号和密码登录,抓包看详情 2.再重新登录一次抓包看的时候,头部有两个参数是动态的,token和code值每次都会不一样,只能用一次 X-Anit-Forge-Token: 45aa69d8-4afa-4235-8957-9dd…
python接口自动化10-token登录
前言 有些登录不是用cookie来验证的,是用token参数来判断是否登录. token传参有两种一种是放在请求头里,本质上是跟cookie是一样的,只是换个单词而已:另外一种是在url请求参数里,这种更直观. 一.登录返回token 1.如下图的这个登录,无cookies…
python接口自动化9-https请求(SSL)
前言 本来最新的requests库V2.13.0是支持https请求的,但是一般写脚本时候,我们会用抓包工具fiddler,这时候会报:requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) 小编环境: python:2.7.12 requests:2.13.0 fiddler:v4.6.2.0 一.SSL问题 1.不启用fiddler,直接发htt…
python接口自动化(Cookie_绕过验证码登录)
python接口自动化(Cookie_绕过验证码登录) 有些登录的接口会有验证码,例如:短信验证码,图形验证码等,这种登录的验证码参数可以从后台获取(或者最直接的可查数据库) 获取不到也没关系,可以通过添加Cookie的方式绕过验证码 一.Cookie介绍 1. cookie 特点 1·保存在客户端,一般由浏览器负责存储在本地. 2·通常是加密存储的,不过由于存储在本地,很难保证数据不被非法访问,并不怎么安全,所以cookies中不宜保存敏感信息,如密码等. 3·哪些信息需要保存作为cooki…
python接口自动化(put请求)
python接口自动化(put请求) 一.put请求的作用:更新资源 二.应用 导包:import requests 调用requests.put()方法 参数有URL.data.headers,方法同post请求 响应r.json()-json格式的响应,r.status_code响应的状态码 import requests import requests #2.调用post方法 #请求的URL url='https://www.*******/pc/member/sign/' #请求头 he…
python接口自动化(get请求)
python接口自动化(get请求) get请求的目的:查询资源 一.导包 二.请求的URL 三.请求的参数 四.获取请求的URL 五.获取响应的状态码 六.获取响应的本文信息 #导包 import requests #调用get r=requests.get('https://www.baidu.com')#r为响应数据对象 #获取URL print("URL地址为:",r.url) #获取code print("响应状态码为:",r.status_code) #…
Python接口自动化——soap协议传参的类型是ns0类型的要创建工厂方法纪要
1:在Python接口自动化中,对于soap协议的xml的请求我们可以使用Suds Client来实现,其soap协议传参的类型基本上是有2种: 第一种是传参,不需要再创建啥, 第二种就是ns0类型的,如果直接以dict类型传进去的话是,里面的程序是无法将对应的参数一一对应上的,所以我们这边需要创建一个工厂,然后把这些工厂当做参数传入进去.下面就进行一步步解释一下这个步骤 Service ( BssUserManageServiceService ) tns="http://service.bo…
python接口自动化28-requests-html爬虫框架
前言 requests库的好,只有用过的人才知道,最近这个库的作者又出了一个好用的爬虫框架requests-html.之前解析html页面用过了lxml和bs4, requests-html集成了一些常用爬虫库的优点,依然是为人类服务:HTML Parsing for Humans. 目前只支持python3.6 环境准备 requests-html的GitHub地址https://github.com/kennethreitz/requests-html,使用pip就能直接安装了. pip i…
python接口自动化20-requests获取响应时间(elapsed)与超时(timeout)
前言 requests发请求时,接口的响应时间,也是我们需要关注的一个点,如果响应时间太长,也是不合理的. 如果服务端没及时响应,也不能一直等着,可以设置一个timeout超时的时间 关于requests请求的响应时间,官网上没太多介绍,并且我百度搜了下,看很多资料写的是r.elapsed.microseconds获取的,然而都是错的!!! elapsed官方文档 elapsed方法的官方文档地址:http://cn.python-requests.org/zh_CN/latest/api.ht…
python接口自动化24-有token的接口项目使用unittest框架设计
获取token 在做接口自动化的时候,经常会遇到多个用例需要用同一个参数token,并且这些测试用例跨.py脚本了. 一般token只需要获取一次就行了,然后其它使用unittest框架的测试用例全部调用这个参数,那么如何实现呢? 虽然python里面有个全局变量global,但这个只是针对于在同一个.py里才有效,跨脚本就不起作用了. 解决思路 1.首先把公共数据单独抽出来,用一个文件去管理,如yaml文件 2.写一个读yaml文件的get_token()函数放到a.py,去读取需要的数据 3…