根据不同的请求类型(GET/POST)进行接口请求封装 import requests import json class RunMain: def __init__(self, url, method, data=None): self.res = self.run_method(url, method, data) def send_get(self, url, data): """ 发送get请求 :param url:请求地址 :param method:类型(GET…
1.做get请求之前先安装 Request库,参考github上链接 :https://github.com/bulkan/robotframework-requests/#readme 2.请求&响应使用moco来模拟服务器,可参考此篇文档:Moco模拟服务器post&get请求 (二) 3.get 请求流程如下: a.创建session服务器链接 b.post请求把url和数据传入 c.判断响应状态码是否为200 d.将响应的格式转换为json格式 e.将json设置为参数 字典的格式…
我们在做接口测试之前,先需要根据接口文档或抓包接口数据,搞清楚被测接口的详细内容,其中就包含请求参数的编码格式,从而使用对应的参数格式发送请求.例如某个接口规定的请求主体的编码方式为 application/json,那么在请求该接口时,请求参数格式必须是 json 格式,使用其他的编码方式请求不会成功. 那么,在http请求中,请求主体常用的编码方式有哪些?每种编码方式在python中需要对应使用什么样格式的请求参数?这便是咱们在本篇博客要弄明白的地方. content-type 为了搞清楚请…
前言 本来最新的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…
获取token 在做接口自动化的时候,经常会遇到多个用例需要用同一个参数token,并且这些测试用例跨.py脚本了. 一般token只需要获取一次就行了,然后其它使用unittest框架的测试用例全部调用这个参数,那么如何实现呢? 虽然python里面有个全局变量global,但这个只是针对于在同一个.py里才有效,跨脚本就不起作用了. 解决思路 1.首先把公共数据单独抽出来,用一个文件去管理,如yaml文件 2.写一个读yaml文件的get_token()函数放到a.py,去读取需要的数据 3…
前言 很多想学习接口测试的同学,可能在最开始的时候,常常会因没有可以练习的项目而苦恼,毕竟网上可以练习的接口项目不多,有些可能太简单了,有些可能又太复杂了,或者是网上一些免费接口请求次数有限制,最终导致这些同学迟迟无法进行实践. 就拿我以前在练习JMeter时所用到的接口(相关链接:Jmeter接口测试实例-牛刀小试 ),因为是网上别人开发的接口,有时候经常因各种原因导致无法正常使用,于是,我就想到为什么不可以自己开发一个简单的接口项目,来满足平常的练习呢? 因为目前使用Python比较广泛,考…
今天我们继续学习如何使用Flask开发POST接口:用户注册接口和用户登录接口. request接收参数 当我们在页面发出一个POST请求,请求传到服务器时,需要如何拿到当前请求的数据呢?在Flask可以使用 request 来接收请求参数. request导入方式 from flask import request 使用 request 来接收参数的方式有多种,比如: request.form:用于接收表单参数 request.args:用于接收GET参数 request.json:用于接收J…
一.查看官方文档 1. 学习一个新的模块,直接用 help 函数就能查看相关注释或案例内容,例如 具体信息如下,可查看 python 发送 ge t和 post 请求的案例: F:\test-req-py\venv\Scripts\python.exe F:/test-req-py/day1/t3.py Help on package requests: NAME requests DESCRIPTION Requests HTTP Library ~~~~~~~~~~~~~~~~~~~~~ R…
云盘登录实操案例: 代码参考: # coding:utf-8 import requests ''' https的请求相对于http安全级别高,需要验证SSL证书 import urllib3 使用这个方法就OK了 urllib3.disable_warnings() 忽略警告 ''' import urllib3 urllib3.disable_warnings() url = "https://passport.baidu.com/v2/api/?login" h = { &quo…
一.SSL 证书 https 的请求相对于http安全级别高,需要验证SSL证书import urllib3 使用这个方法就可以了urllib3.disable_warnings() 可忽略警告 二.post 请求参数 post请求参数一部分在url里 另外一部分在body里面,常见的有4种,并不是只有四种 1.第一种:application/json: {“key1“:”value1”,“keyt2":“value2"} 2.第二种:application/x-www-form-ur…