基于python的接口测试小练习,使用unittest框架和requests模块来编写接口自动化测试脚本,为加入公司的自动化小组做准备。
import unittest
import requests
#定义登录和退出的类
class UserLogin():
@classmethod
def login(cls,username,password):
login_url=r"http://xxxxxxxx"
login_user={"type":"pwd","userName":username,"password": password,"captcha":"","isNew":1,"noLoading": "true"}
login_header={"TokenAuthorization":"Bearerxxxxxx"}
r1=requests.get(login_url,params=login_user,headers=login_header)
token="Bearer"+r1.json()["data"]["sessionValue"]
return token
@classmethod
def logout(cls,username,password):
print("略")
#定义测试类,使用unittest框架,继承TestCase类
class test_price(unittest.TestCase):
#测试前准备,用户登录
@classmethod
def setUpClass(cls):
cls.username="aaa"
cls.password="bbb"
cls.token=UserLogin.login(cls.username,cls.password)
#测试结束后,用户退出
@classmethod
def tearDownClass(cls):
UserLogin.logout(cls,cls.username,cls.password)
def get_price(self,r_json):
price=r_json["data"]["priceInfo"]["finalPrice"]
print(price)
#具体的测试用例,必须以test开头
def test_1(self):
my_url=r"http://xxxxxxxx1"
my_header={"TokenAuthorization":self.token}
r=requests.get(my_url,headers=my_header)
self.get_price(r.json())
def test_2(self):
my_url=r"http://xxxxxxxx2"
my_header={"TokenAuthorization":self.token}
r=requests.get(my_url,headers=my_header)
self.get_price(r.json())
#测试的执行,使用了unittest框架的TestSuite定义测试用例组,使用TextTestRunner来执行测试
if __name__=="__main__":
mySuite=unittest.TestSuite()
mySuite.addTest(test_price("test_1"))
mySuite.addTest(test_price("test_2"))
myRun=unittest.TextTestRunner()
myRun.run(mySuite)