1、三种接口接口请求方式

# # 在python当中接口的请求方式有哪些:
# import requests # 导入requests接口库
# # # # 请求方式有三种:
# # # # 第一种:
# rep =requests.get()
# rep =requests.post()
# # 第二种
# rep =requests.request(post,get)
# # 第三种
# session =requests.Session()
# #创建一个session对象,作用就是保持会话和关联
# rep =session.get()
# rep =session.post()

2、组建一个接口的步骤有哪些?

# 组建一个接口的步骤有哪些?
# 1、URL请求地址
# 2、headers 请求头类型
# 3、接口入参
# 4、请求的方法get post

(一)第一种请求方法:

案例1:构建一个post请求

案例2:组建一个get请求

import requests

# 构建一个get请求:
url='http://129.226.122.199:8080//cms/manage/loginJump.do'
data={'userAccount':'admin','loginPwd':123456}
# get请求可以不要类型
# 在工具中post请求的时候会有一个类型选择
rep =requests.get(url=url,params=data)
print(rep) #<Response [200]>
print(rep.text) #{"code":"200","msg":"登录成功!","model":{}}
js=rep.json()#转换成为js格式,然后在通过断言方法来实现断言
print(rep.headers) #请求头
print(rep.cookies)#cookie
print(rep.status_code)# 200返回状态

(二)通过第二种请求方式来构建请求

import requests
url ='http://129.226.122.199:8080/cms/manage/loginJump.do'
data ={'userAccount': 'admin',
'loginPwd': 123456}
rep =requests.request(method='get',url=url,params=data)
print (rep) #Response [200]>
print (rep.text) #{"code":"200","msg":"登录成功!","model":{}}

案例3

将登录接口封装在类中且给登录接口实现断言请求方式:post

# #   将登录接口封装在类中且给登录接口实现断言请求方式:post
import requests
class Cms_api: #定义一个类
def __init__(self): #定义一个构造函数用来初始化
pass
def fun(self): #定义一个方法
'''封装登录接口'''
url ='http://129.226.122.199:8080/cms/manage/loginJump.do'
data={'userAccount': 'admin','loginPwd': 123456}
headers ={'Content-Type': 'application/x-www-form-urlencoded'}
rep =requests.post(url=url,data=data,json=headers)
print (rep.text)
'''如需要断言则要把类型转换成为字典:js'''
js =rep.json() #切记如需要断言一定要转换否者无法断言
assert js["msg"] ==u"登录成功!"
if js["msg"] ==u"登录成功!":
print ('接口用例正常')
else:
print ('接口用例异常')
if __name__ == '__main__':
c =Cms_api()
c.fun()

案例3

#第三种方法
# # 练习题目:
# # 将登录接口,用户管理接口,新增用户接口封装在类中且实现断言,
# # 请求方式:post
import requests #到入 接口库
session= requests.Session() # 创建一session对象来保持上下接口的关联
class Cms_api:
def __init__(self):
pass
def cms_dl(self): #定义一个登录
url ='http://129.226.122.199:8080/cms/manage/loginJump.do'
data={'userAccount': 'admin','loginPwd': 123456}
headers ={'Content-Type': 'application/x-www-form-urlencoded'}
# dl_rep=requests.post(url=url,data=data,json=headers)
dl_rep =session.post(url=url,data=data,json=headers)
print (dl_rep.text)#{"code":"200","msg":"登录成功!","model":{}}
js =dl_rep.json()
assert js["msg"]==u"登录成功!"
def cms_yhgl(self): #定义一个用户管理接口
uerlist_url='http://129.226.122.199:8080/cms/manage/queryUserList.do'
uerlist_data={'startCreateDate': '','endCreateDate': '','searchValue': '', 'page': 1}
uerlist_headers={'Content-Type': 'application/x-www-form-urlencoded'}
# uerlist_rep=requests.post(url=uerlist_url,data=uerlist_data,json=uerlist_headers)
uerlist_rep=session.post(url=uerlist_url,data=uerlist_data,json=uerlist_headers)
print (uerlist_rep.text) #{"code":"200","msg":"登录成功!","model":{}}
js =uerlist_rep.json() #"code":"200","msg":"查询用户成功!",
if js["msg"]==u"查询用户成功!":
print ('查询接口正常')
else:
print ('查询接口失败')
def cms_uers(self): #薪增用户接口
user_url='http://192.168.254.129:8080/cms/manage/saveSysUser.do'
user_data={'id':'' ,'userName': 'cccc','userSex': 1,'userMobile': 13314333333,'userEmail': '8834343@qq.com','userAccount': 'cccc', 'loginPwd': 123456,
'confirmPwd': 123456}
user_headers={'Content-Type': 'application/x-www-form-urlencoded'}
# user_rep=requests.post(url=user_url,data=user_data,json=user_headers)
user_rep=session.post(url=user_url,data=user_data,json=user_headers)
print (user_rep.text) #{"code":"400","msg":"保存用户信息失败,登录帐号已存在!","model":{}}
js =user_rep.json()
assert js["msg"]==u"保存用户信息失败,登录帐号已存在!"
if __name__ == '__main__':
U=Cms_api() # 创建一个对象
U.cms_dl() #对象调用登录接口
U.cms_yhgl() #对象调用用户管理接口
U.cms_uers() #对象调用新增用户接口
#
 

多测师讲解requests __上_高级讲师肖sir的更多相关文章

  1. 多测师讲解requests __介绍_高级讲师肖sir

    我们今天讲解的内容 一.什么是Requests? Requests是用Python语言编写的简单易用的HTTP库,用来做接口测试的库. 二.安装requests库 1.按住Windows标志+r,在运 ...

  2. 多测师讲解requests __中_高级讲师肖sir

    (1)生成报告 import unittest #导入单元测试框架 import requests #导入接口库 import time # #时间戳,导入time模块 from api.HTMLTe ...

  3. 多测师讲解 _requests安装问题解决_高级讲师肖sir

    步骤一:"dos下新建一个pip文件,在文件下建一个pip.ini 文件,步骤二:文件中内容[global]index-url=http://mirrors.aliyun.com/pypi/ ...

  4. 多测师讲解selenium_iframe框定位_高级讲师肖sir

    iframe 框定位方法: 查看iframe框 京东点击登录定位元素 定位qq: qq登录定位的元素 查找iframe框 定位iframe框 from selenium import webdrive ...

  5. 多测师讲解自动化 _rf 变量_高级讲师肖sir

    rf变量 log 打印全局变量 列表变量: 字典变量: 查看当前工程下的变量 紫色表示变量名有误 设置全局变量 设置列表变量 设置字段变量 关键字书写格式问题

  6. 多测师讲解自动化测试 _RF连接数据库_高级讲师肖sir

    RF连接数据库:1.Connect To Database(连接数据库)2.Table Must Exist(表必须存在)3.Check If Exists In Database(查询某条件是否存在 ...

  7. 多测师讲解seleniun_ ACTIONCHAUNS定位_高级讲师肖sir

    1.传统方法定位 2.模拟鼠标定位

  8. 多测师讲解selenium _assert断言_高级讲师肖sir

    assert断言 # # 断言:最常用的断言方法if判断# assert Python语法中自带的断言from selenium import webdriverfrom time import sl ...

  9. 多测师讲解python _re模块_高级讲师肖sir

    import re# 一.常用方法:# match():从头匹配# search():从整个文本搜索# findall():找到所有符合的# split():分割# sub():替换# group() ...

随机推荐

  1. 12_Python语法示例(函数)

    1.写一个函数mysum,此函数带有两个参数x,y打印出两个参数x,y的和 def mysum(x, y): print(x + y) mysum(3, 2) 2.写一个函数print_even,传入 ...

  2. 取得min和max之间包括端点的随机整数

    产生随机数的函数用处不少,写一个放博客里备用,函数如下: /** * get a random integer between min and max * @param min * @param ma ...

  3. Git——从安装到连接GitHub

    安装Git Windows平台上很轻松的,直接点击地址Git下载进行下载,之后基本就是下一步,安装成功. 在所需要操作的项目下右键,点击"Git Bash Here"弹出Git命令 ...

  4. 阿里云前端路线 | CSS快速掌握

    1.1什么是CSS 翻译为“层叠样式表”或者“级联样式表”, 简称样式表. 1.2CSS的主要作用 它主要是用来给HTML网页来设置外观或者样式 外观或者样式:HTML网页中的文字的大小.颜色.字体, ...

  5. shell进行微信报警的简单应用

    一.企业微信注册地址: https://work.weixin.qq.com/?from=openApi二.请求格式 1.获取token的方法 curl -s 'https://qyapi.weixi ...

  6. PhpStorm license server(版权许可服务器)在线激活服务器集群列表

    原文链接:https://bingyishow.top/easy/55.html 服务器列表 序号 服务器(域名) 状态 1 http://www.yuanzhaoyi.cn 在线 2 http:// ...

  7. Git进阶:常用命令和问题案例整理

    一.前言 整理常用git命令和以及在实际使用的过程中碰到的问题案例,旨在git进阶,提升工作开发效率,有需要补充的小伙伴欢迎下方留言,本篇持续更新中... 二.命令 配置用户名和邮箱 git conf ...

  8. 人人框架renren-security |小记(第一篇)

    ​ 一丶首先介绍一下人人框架: 1.简介 renren-security | 轻量级权限管理系统 采用Spring.MyBatis.Shiro框架,开发的一套权限系统,极低门槛,拿来即用 支持分布式部 ...

  9. 8.ExecutorService-执行器服务

  10. pytest封神之路第五步 参数化进阶

    用过unittest的朋友,肯定知道可以借助DDT实现参数化.用过JMeter的朋友,肯定知道JMeter自带了4种参数化方式(见参考资料).pytest同样支持参数化,而且很简单很实用. 语法 在& ...