如果后面的用例需要用到前面用例的返回结果的某个值,怎么去处理这种依赖关系
场景:登录 充值接口 充值接口需要登录后的cookie
一、setUp
import unittest
import requsets
from APITest.http_request import HttpRequest
class TestHttp(unittest, TestHttp):
def setUp(self):
#登录
self.login_url='http://119.23.241.154:8080/futureloan/mvc/api/member/login'
self.login_data = {"mobilephone": "1868877346", "pwd": "123456"}
self.recharge_url = 'http://119.23.241.154:8080/futureloan/mvc/api/member/recharge'
#获取登录后的cookies
self.cookies=HttpRequest().http_request(self.login_url, self.login_data, 'get').cookies
def test_login_normal(self):#正常登录
data = {"mobilephone": "1868877346", "pwd": "123456"}
res = HttpRequest().http_request(self.login_url, data, 'get')
try:
self.assertEqual('10001', res.json()['code']) #断言
except AssertionError as e:
print("'test_login_normal's error is {}".format(e))
raise e #抛出异常
def test_login_wrong_pwd(self):#输入错误的密码
data = {"mobilephone": "1868877346", "pwd": "123456789"}
res = HttpRequest().http_request(self.login_url, data, 'get')
try:
self.assertEqual('20111', res.json()['code']) #断言
except AssertionError as e:
print("'test_login_normal's error is {}".format(e))
raise e
def test_recharge_normal(self):#正常充值
recharge_data = {"mobilephone":"1868877346","amount": "1000"}
res= HttpRequest().http_request(self.recharge_url, recharge_data, 'post', self.cookies)
try:
self.assertEqual('10001', res.json()['code']) #断言
except AssertionError as e:
print("'test_recharge_normal's error is {}".format(e))
raise e
def test_recharge_negative(self):#充值为负数
recharge_data = {"mobilephone":"1868877346","amount": "-1000"}
res = HttpRequest().http_request(self.recharge_url, recharge_data, 'post', self.cookies)
try:
self.assertEqual('20117', res.json()['code']) #断言
except AssertionError as e:
print("'test_recharge_negative's error is {}".format(e))
raise e
def teardown(self):
pass
二、设置全局变量 global COOKIE
import unittest
import requsets
from APITest.http_request import HttpRequest
COOKIE =None #全局变量
class TestHttp(unittest, TestHttp):
def setUp(self):
#登录
self.login_url='http://119.23.241.154:8080/futureloan/mvc/api/member/login'
# self.login_data = {"mobilephone": "1868877346", "pwd": "123456"}
self.recharge_url = 'http://119.23.241.154:8080/futureloan/mvc/api/member/recharge'
#获取登录后的cookies
#self.cookies=HttpRequest().http_request(self.login_url, self.login_data, 'get').cookies
def test_login_normal(self):#正常登录
global COOKIE #声明全局变量
data = {"mobilephone": "1868877346", "pwd": "123456"}
res = HttpRequest().http_request(self.login_url, data, 'get')
if res.cookies: #如果cookies有的话 那么就更新COOKIE
COOKIE = res.cookies
try:
self.assertEqual('10001', res.json()['code']) #断言
except AssertionError as e:
print("'test_login_normal's error is {}".format(e))
raise e #抛出异常
def test_login_wrong_pwd(self):#输入错误的密码
data = {"mobilephone": "1868877346", "pwd": "123456789"}
res = HttpRequest().http_request(self.login_url, data, 'get')
try:
self.assertEqual('20111', res.json()['code']) #断言
except AssertionError as e:
print("'test_login_normal's error is {}".format(e))
raise e
def test_recharge_normal(self):#正常充值
global COOKIE
recharge_data = {"mobilephone": "1868877346", "amount": "1000"}
res = HttpRequest().http_request(self.recharge_url, recharge_data, 'post',COOKIE)
try:
self.assertEqual('10001', res.json()['code']) #断言
except AssertionError as e:
print("'test_recharge_normal's error is {}".format(e))
raise e
def test_recharge_negative(self):#充值为负数
global COOKIE
recharge_data = {"mobilephone":"1868877346","amount": "-1000"}
res = HttpRequest().http_request(self.recharge_url, recharge_data, 'post', COOKIE)
try:
self.assertEqual('20117', res.json()['code']) #断言
except AssertionError as e:
print("'test_recharge_negative's error is {}".format(e))
raise e
def teardown(self):
pass
三、反射
from test_demo.get_data import GetData
class GetData:
Cookie = None #存储cookies 初始值为None
import unittest
import requsets
from APITest.http_request import HttpRequest
from test_demo.get_data import GetData
COOKIE =None #全局变量
class TestHttp(unittest, TestHttp):
def setUp(self):
#登录
self.login_url='http://119.23.241.154:8080/futureloan/mvc/api/member/login'
# self.login_data = {"mobilephone": "1868877346", "pwd": "123456"}
self.recharge_url = 'http://119.23.241.154:8080/futureloan/mvc/api/member/recharge'
#获取登录后的cookies
#self.cookies=HttpRequest().http_request(self.login_url, self.login_data, 'get').cookies
def test_login_normal(self):#正常登录
#global COOKIE #声明全局变量
data = {"mobilephone": "1868877346", "pwd": "123456"}
res = HttpRequest().http_request(self.login_url, data, 'get')
if res.cookies: #如果cookies有的话 那么就更新COOKIE
#COOKIE = res.cookies
setattr(GetData, 'Cookie', res.cookies)
try:
self.assertEqual('10001', res.json()['code']) #断言
except AssertionError as e:
print("'test_login_normal's error is {}".format(e))
raise e #抛出异常
def test_login_wrong_pwd(self):#输入错误的密码
data = {"mobilephone": "1868877346", "pwd": "123456789"}
res = HttpRequest().http_request(self.login_url, data, 'get')
try:
self.assertEqual('20111', res.json()['code']) #断言
except AssertionError as e:
print("'test_login_normal's error is {}".format(e))
raise e
def test_recharge_normal(self):#正常充值
#global COOKIE
recharge_data = {"mobilephone": "1868877346", "amount": "1000"}
res = HttpRequest().http_request(self.recharge_url, recharge_data, 'post', getattr(GetData, "Cookie"))
try:
self.assertEqual('10001', res.json()['code']) #断言
except AssertionError as e:
print("'test_recharge_normal's error is {}".format(e))
raise e
def test_recharge_negative(self):#充值为负数
global COOKIE
recharge_data = {"mobilephone":"1868877346","amount": "-1000"}
res = HttpRequest().http_request(self.recharge_url, recharge_data, 'post', COOKIE)
try:
self.assertEqual('20117', res.json()['code']) #断言
except AssertionError as e:
print("'test_recharge_negative's error is {}".format(e))
raise e
def teardown(self):
pass