python接口测试笔记

Python 实现小红书笔记详情 API 接口测试步骤及代码示例 以下是使用 Python 的。发送请求获取笔记详情。 阅读详情

一、安装requests包

安装requests包:

pip install requests

查看安装的包

pip.exe list

pip.exe show requests

如何查看是否安装成功

import requests

http协议:

客户端(浏览器、使用cmd):发送给请求包---》网络服务器

返回给客户服务器一个响应包

请求包:

首部:header

主体:body

响应包:

首部:header

主体:body

常见的请求格式:

get、post:、delete、put、options

 

get请求和post请求区别:

get用于信息的获取,而且是安全和幂等的。所谓安全意味着该操作用于获取信息而非修改信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态;幂等意味着对同一URL的多个请求应该返回同样的结果。

post请求用于修改服务器上的资源的请求。

简单总结

1 get是从服务器上获取数据,post是向服务器传送数据

2 get传送的数据量较小,不能大于2k;post传送的数据量较大

3 get安全性非常低,post安全性较高

 

首部:header

主体:body

 

二、接口测试常用请求

get方法:

import requests

r=requests.get("https://github.com/Ranxf")

r.url

r.text[:20]

r.headers

post请求

requests.post("http://httpbin.org/post")

put请求

requests.put("http://httpbin.org/put")

requests.delete("http://httpbin.org/delete")

2.1 带参数的get请求

url_params = {'q':'gloryroad'}       #    字典传递参数,如果值为None的键不会被添加到url中

r = requests.get('https://cn.bing.com/search',params = url_params)

print(r.url)

type(r.text)

type(r.content)

r.status_code

r.raw

 

三、注册一个用户

import requests

import json

import os

import hashlib

print ("register------")

data = json.dumps({'username': 'wxg', 'password': 'wxg123456', 'email': '1552049711@qq.com'}) #

r = requests.post('http://39.106.41.11:8080/register/', data= data)

print (r.status_code)

print (r.text)

print (type(r.json()))

print (r.json())

四、注册多个用户

import requests

import json

import os

import hashlib

import random

import string

username="".join([string.ascii_lowercase[random.randint(0,25)] for i in range(10)])

print (username)

 

print ("register------")

data = json.dumps({'username': username, 'password': 'wulaoshi12345', 'email': 'wulaoshi@qq.com'}) #

r = requests.post('http://39.106.41.11:8080/register/', data= data)

print (r.status_code)

print (r.text)

print (type(r.json()))

print (str(r.json()))

assert "{'code': '00', 'userid':" in str(r.json())

 

4.1 通过读、写文件注册多个用户名

import requests

import json

import os

import hashlib

import pickle

 

#需要默认文件里面写个初始值1即可

with open("E:\\http\\num.txt") as fp:

    unique_number = fp.readline().strip()

 

print ("register------")

data = json.dumps({'username': 'userdat'+unique_number, 'password': 'wulaoshi12345', 'email': 'wulaoshi@qq.com'}) #

r = requests.post('http://39.106.41.11:8080/register/', data= data)

print (r.status_code)

print (r.text)

print (type(r.json()))

print (str(r.json()))

 

assert "{'code': '00', 'userid':" in str(r.json())

 

with open("E:\\http\\num.txt",'w') as fp:

fp.write(str(int(unique_number)+1))

 

4.2用函数进行封装

import requests

import json

import os

import hashlib

import pickle

 

def send_request(interface,value):

    r = requests.post(interface, data= value)

    return r

 

def get_response_info(response_obj):

    print (response_obj.status_code)

    print (response_obj.text)

    print (type(response_obj.json()))

    print (str(response_obj.json()))

    print (response_obj.url)

 

def assert_response(response_obj,assert_word):

    assert assert_word in str(response_obj.json())

   

#需要默认文件里面写个初始值1

with open("E:\\http\\num.txt","r+") as fp:

    unique_number = fp.readline().strip()

    fp.seek(0,0)

    fp.write(str(int(unique_number)+1))

    

interface='http://39.106.41.11:8080/register/'

value = json.dumps({'username': 'wxg'+unique_number, 'password': 'wulaoshi12345', 'email': 'wulaoshi@qq.com'}) #

 

r=send_request(interface,value)

get_response_info(r)

assert_response(r,"{'code': '00', 'userid':")

4.3 配置数据和程序分离

import requests

import json

import os

import hashlib

import pickle

from conf import *

 

def send_request(interface,value):

    r = requests.post(interface, data= value)

    return r

 

def get_response_info(response_obj):

    print (response_obj.status_code)

    print (response_obj.text)

    print (type(response_obj.json()))

    print (str(response_obj.json()))

    print (response_obj.url)

 

def assert_response(response_obj,assert_word):

    assert assert_word in str(response_obj.json())

   

#需要默认文件里面写个初始值1

with open("e:\\http\\num.txt","r+") as fp:

    unique_number = fp.readline().strip()

    fp.seek(0,0)

    fp.write(str(int(unique_number)+10))

    

interface=register

value = json.dumps({'username': 'wxg'+unique_number, 'password': 'wulaoshi12345', 'email': 'wulaoshi@qq.com'}) #

 

r=send_request(interface,value)

get_response_info(r)

assert_response(r,"{'code': '00', 'userid':")

Python-python接口自动化测试框架 python接口自动化测试框架---包括请求的封装、数据库操作、多断言、ddt数据驱动、多种请求方式等 立即下载

相关推荐

光线追踪渲染实战:蒙特卡洛路径追踪及其c++实现

光线追踪超越了传统的图形流水线,是一种现代的渲染。光线追踪是一种基于物理的渲染方法,通过模拟光在介质中的真实表现来输出足以逼近现实的图像。光线从光源出发,经过各种反射折射,进入摄像机。通过渲染方程描述一点的颜色,并且通过蒙特卡洛方法求解渲染方程来获取最终的像素颜色。

AKGWSB 's blog 1万+

python接口测试框架与自动化实战_python接口测试框架实战与自动化进阶(三)

原博文2018-10-22 02:23 −python接口测试框架实战与自动化进阶 一、持续集成 1、持续集成环境搭建 1)安装Jenkins 官网下载后直接安装:https://jenkins.io/ 终端直接安装及启动:java -jar jenkins.war 2)Jen...相关推荐2019-09-28 21:13 −Python python是一种跨平台的计算机程序设计语言...

weixin_39685762的博客 115

保姆级教程:在RK3588开发板上配置USB-C PD充电(基于HUSB311芯片与DTS详解)

本文详细介绍了在RK3588开发板上配置USB-C PD充电的完整流程,重点解析了HUSB311芯片的硬件原理与DTS安全配置。通过实战案例和调试技巧,帮助开发者避免常见错误,实现稳定可靠的Type-C PD快充功能,适用于从基础开发板到工业设备的多场景需求。

weixin_42552315的博客 522

python接口测试框架实战与自动化进阶(一)

python接口测试框架实战与自动化进阶 一、fiddler在工作中的运用 1、如何抓接口  抓紧手机端接口   ①、在电脑终端输入:ipconfig ,找到电脑ip   ②、打开手机,连接WiFi,进入WiFi详情,改用手动代理,将ip设置为电脑端的ip,端口默认(8888)     ③、打开fiddler,找到并打开Fiddler Options ,选择Conne...

weixin_30267697的博客 1270

别再为CAD和GIS数据对不上而头疼了!一份完整的ArcGIS for AutoCAD坐标系定义与数据套合指南

本文详细介绍了如何通过ArcGIS for AutoCAD插件解决CAD与GIS数据坐标系不匹配的问题,实现数据的精准套合。文章从坐标系冲突分析、插件核心功能解析到五步标准化工作流,提供了完整的解决方案,帮助工程师和设计师提升跨平台协作效率。

weixin_42531886的博客 216

Andriod应用开发基础项目——记账本

本项目采用Java语言编写,是一款基于Android Studio开发的简易项目,本项目可以提高Java语言编写软件的能力,同时加深对开发软件Android studio有了更深层次的掌握,很适合初学者。在项目过程中,遇到了一些挑战和问题,但通过不断的努力和学习,最终取得了成功。未来,可以还可以继续优化App的功能和性能,增加更多实用的功能,提升用户体验。

eryasd的博客 3467

ESP32-S3打造SoulCage互动吊坠:从TFT屏幕驱动到电源管理全解析

在嵌入式开发中,微控制器驱动TFT屏幕并实现实时动画是常见需求,涉及SPI通信、内存管理和低功耗设计。ESP32-S3凭借双核240MHz、512KB SRAM和集成WiFi/蓝牙,成为小型化项目的理想选择。通过TFT_eSPI库配置ST7789屏幕,结合Perlin噪声算法,可渲染流畅的粒子动画。电源管理采用TP4056充电和ME6211 LDO,确保锂电池安全与续航。这些技术适用于可穿戴设备、互动艺术和便携终端。SoulCage吊坠正是这一实践的典型,展示了ESP32-S3在紧凑空间内驱动屏幕、处理传感

weixin_34221036的博客 462

【视频编码学习】AVS3参考软件HPM-4.1简单配置运行

1、用Visual Studio2017打开HPM-4.1文件夹 2、找到文件夹目录下x86_windows文件夹,因为是在win上运行该代码 3、然后找到对应vs版本(我当时2017版)的解决方案sln文件,双击打开可以看到该解决方案下的全部项目。 4、重新生成解决方案时发现提示sdk版本问题,所以右键点击所有的项目,选择重定向项目,修改一下sdk版本。 ...

谦虚勤奋诚实感恩 3100

python接口测试框架与自动化实战_Python接口测试框架实战与自动化进阶-一号门...

类别: 视频语言: Python,Django发布日期: 2019-03-02介绍:Python接口测试框架实战与自动化进阶本课程带你从接口基础知识回顾开始,主流的Fiddler、Requests、Unittest、Mock等接口测试工具/框架,全程以慕课网作为案例实战应用,从简单接口入手到自己如何去设计、开发整个接口自动化测试框架,带你设计Python接口自动化测试框架,让你在测试领域走的更远!...

weixin_39856055的博客 249

由ip地址和子网掩码求网络号、主机号、广播地址(超详细)

1、用二进制数表示IP地址   在进行计算之前,我们首先要学会十进制的IP地址怎么转换为二进制的IP地址。   给出一个例子: 十进制:172.16.25.3 二进制:10101100.00010000.00011001.00000011 1、如果两台主机的网络号相同,我们就说它们是同一网段 2、主机号的意义 - 1)主机号部分全变成1,即为该网段的广播地址 - 2)主机号部分全变成0,即为该网段的网路地址(网络号) 3、如果主机号部分为x位,则该网络能容纳最大主机数为: 2的x次方-2。减2

爱吃雪糕的小布丁的博客 9万+

【超详细】计算机组成原理总结及思维导图

计算机组成 第一章 计算机系统概论 冯诺依曼型计算机特点 1.计算机由运算器,控制器,存储器,输入和输出设备5部分组成 2.采用存储程序的方式,程序和数据放在同一个存储器中,并以二进制表示。 3.指令由操作码和地址码组成 4.指令在存储器中按执行顺序存放,由指令计数器(即程序计数器PC)指明要执行的指令所在的储存单元地址,一般按顺序递增,但可按运算结果或外界条件而改变 5.机器以运...

圣三一 10万+

python接口测试之二笔记

python接口测试之二笔记 接下来读取json文件的编写。 里面有错误,因为验证码,无法获取,断言不到 不足+如何修改,谢谢????

m0_52456045的博客 136

dify进阶:使用 FastAPI 的 StreamingResponse 实现高效的数据流传输

在 FastAPI 框架中,是一个非常有用的工具,它允许你以流的方式发送数据给客户端,而不是一次性加载所有内容到内存中再发送。这对于处理大型文件下载、视频流或者任何需要长时间处理的任务特别有用。

xiezhipu的博客 1433

python开发页面接口_Python 开发与接口测试学习笔记

这是我跟着虫师学习中积累下来的学习笔记,写得比较简单,适合想学习Python开发与接口测试的初学者学习。一、开发投票系统1、参考官网文档,创建投票系统。在创建投票系统之前,要确认自己安装的Django和官网的文档是一致的。====================win 10Python 3.6.2Django 1.11.3Pycharm编译器====================2、创建项目Po...

weixin_39821378的博客 326

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

python接口测试之一笔记

python接口测试之一笔记 目标 接口自动化流程 1, 需求分析 2,挑选需要被自动化测试的功能 3,设计测试用例 4,编写代码 5,执行测试用例 6,生成测试报告分析结果

m0_52456045的博客 139

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

python-接口测试-笔记

通过HTTP请求的交互,通常称为API接口 通过API接口测试对服务端进行测试 API的测试对象,是后端服务 前端界面 API-----》 http<-----后端服务 给你一个接口,你要怎么测试: 1、需要接口文档,接口定义,http请求的格式 2、需要工具,postman,Jmeter,自己构建自动化工具 3、测试用例 使用python语言可以实现web API的接口测试 ...

quanshui_dd的博客 163

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Python接口测试之四笔记

Python接口测试之四笔记 用户频道 接下来是取消和收藏文章。 不足+如何修改,谢谢????

m0_52456045的博客 227

听课笔记之Python自动化接口测试

接口测试一般指API(应用程序编程接口),是一些预先定义的函数,无需理解源码或理解内部工作机制的细节,属于灰盒测试。 import requests,json #模拟浏览器做session管理 session =request.session() #授权,获取token token一般有有效期 res = session.post(‘url’) jsonres = json.loads(res...

花语无痕的博客 210

笔记-Python 接口测试

在python中,提供了HTMLTestRunner.py来生成测试报告,把该文件下载后,直接放到python安装文件的lib的目录下,[‘试验’, ‘测验’, ‘考验’, ‘化验’, ‘考查’, ‘受试验’, ‘受测验’, ‘受考验’, ‘测得结果’][‘学习’, ‘研究’, ‘课题’, ‘书房’, ‘结论’, ‘考虑’, ‘沉思’, ‘努力’, ‘想出’]明白了接口测试的测试步骤,那么我们就可以来组织我们的代码。发送查看返回结果,校验返回结果是否正确。其他接口的测试方法也是这个思路,

零正催照 352

python 接口测试 host_python request接口测试笔记(1)

python request接口测试笔记(1)涉及到的功能说明:需要登录拿到token,才能进行下一个接口的请求读取csv文件中的信息,作为接口的参数将接口响应结果,写入csv文件,以便分析统计# -*- coding:utf-8 -*-'''author:***cytime:2019-08-28主要功能说明:1、获取登录接口的token2、接入食物识别的接口,批量测试食物识别模型,得出模型的正确...

weixin_39624071的博客 370

Python参数化接口测试demo笔记

https://www.cnblogs.com/du-hong/p/10766314.html 接口测试学习demo 目的:使用之前学习接口测试的demo,批量运行一波数据,就5行,产生报告html文档。 方法:从Excel文档.xlsx中读取数据传入unittest测试类, 使用到模块openpyxl读取Excel。安装:pip3 install openpyxl 关于openpyxl学...

qq_37112121的博客 465

《python接口测试》笔记

接口协议http:、websocket 《python接口测试》的第4章: http的无状态性,请求与请求间是没有关联的。 http的long poll和ajax轮训实现实时信息的传递。 http1.0时,一个request,只能有一个response, http1.1后,connection是keep-alive时,一个http链接中,可以发送多个request,每个request会有...

xiaofang2015的博客 392

笔记整理-python开发接口测试requests

python开发接口测试 作用python语言实现web api接口测试, 常用下面的库 内置库: httplib, urllib2 第三方库: requests   python requests库 特点: 1. 简便易用, 功能强大,姐姐我喜欢用这个。   请求参数: requests.get(url, params=xx, headers=xx) params =这个参数...

weixin_42458578的博客 315

python request接口测试笔记(1)

python request接口测试笔记(1) 涉及到的功能说明: 需要登录拿到token,才能进行下一个接口的请求 读取csv文件中的信息,作为接口的参数 将接口响应结果,写入csv文件,以便分析统计 # -*- coding:utf-8 -*- ''' author:***cy time:2019-08-28 主要功能说明: 1、获取登录接口的token 2、接入食物识别的接口,...

diaoyan8751的博客 190

python接口测试学习笔记:

1.整体框架 2. config.ini和readConfig.py readConfig.py common

qq_42944352的博客 200

django项目的接口测试

基于Python的Django框架; 进行接口测试; 参见虫师的博客; 整理部分笔记; 转载于:https://www.cnblogs.com/breakcircle/p/6222267.html

weixin_30739595的博客 355
上一篇: mysql常用操作二
下一篇: python中的包和模块
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值