python3+requests接口自动化session操作方法

yipeiwu_com5年前Python基础

在进行接口自动化测试时,有好多接口都基于登陆接口的响应值来关联进行操作的,在次之前试了很多方法,都没有成功,其实很简单用session来做。

1、在登陆接口创建一个全局session

# -*- coding: utf-8 -*-
import requests
'''在登陆模块创建一个全局session,在其他接口操作时带入登陆时的session,保持session的一致性'''
s = requests.Session()#定义一个全局session
class testlogin():
 login_url = "http://api-xxxxxx/api/Account/Login" 
 username = "xxxxx"
 password = xxxxx
 def test_login(self):
  data ={
   "UserName" : self.username,
   "Password" : self.password
  }
  r = s.post(self.login_url,data)
  print(r.cookies)
  return s

2、在其他接口调用登陆的session,用这个session.post()去访问其他接口

from test_case.loggin import testlogin
import unittest

'''这里导入之前的登陆模块,调用登陆模块的session,然后去执行其他接口'''
s = testlogin().test_login()

class testtransfer(unittest.TestCase):
 def setUp(self):
  self.transfer_url = "http://xxxxxxx/Transfer/DoTransferToGame"
 def test_transfer(self):
  url = self.transfer_url
  data ={"Amount":xx,
    "GamePlatform":"xxxx"
    }
  r = s.post(url,data)

  print(r.text)
if __name__ == "__main__":
 unittest.main()

以上这篇python3+requests接口自动化session操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python集合基本概念与相关操作实例分析

本文实例讲述了Python集合基本概念与相关操作。分享给大家供大家参考,具体如下: 集合的概念 集合是无序可变,元素不能重复。实际上,集合底层是字典实现,集合的所有元素都是字典 中的“键...

Python 窗体(tkinter)按钮 位置实例

如下所示: import tkinter def go(): #函数 print("go函数") win=tkinter.Tk() #构造窗体 win.title("he...

pyqt5 QProgressBar清空进度条的实例

在停止和开始进度条的同时,将进度条清空的动作也是常常需要用到的。 具体用法如下: self.progressBar = QProgressBar(self) self.progres...

Python基于有道实现英汉字典功能

本文实例讲述了Python基于有道实现英汉字典功能的方法。分享给大家供大家参考。具体如下: import re,urllib aa="http://dict.youdao.com/s...

python实现各进制转换的总结大全

前言 玩ctf经常遇到进制转换的问题,就正好做一个进制转换总结,分享出来供大家参考学习,下面来一起看看详细的介绍: 字符串与十六进制转换 例如百度ctf 12月的第二场第一个misc...