在进行接口自动化测试时,有好多接口都基于登陆接口的响应值来关联进行操作的,在次之前试了很多方法,都没有成功,其实很简单用session来做。
1、在登陆接口创建一个全局session
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# -*- 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()去访问其他接口
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
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操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:http://www.cnblogs.com/jayson-0425/p/9760702.html