
在进行接口自动化测试时,有好多接口都基于登陆接口的响应值来关联进行操作的,在次之前试了很多方法,都没有成功,其实很简单用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()
|
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】

