關聯關系的接口+unittest實現關聯接口
阿新 • • 發佈:2018-11-12
color def pass pri http nbsp passwd erro lse
關聯關系的接口:
import requests def login(): url = ‘http://ip/api/user/login‘ data = {‘username‘:‘niuhang‘,‘passwd‘:‘aA123‘} res = requests.post(url,data).json() user_id = res.get(‘login_info‘).get(‘userId‘) sign = res.get(‘login_info‘).get(‘sign‘) return user_id,sign def add_gold(): url= ‘http://ip/api/user/gold_add‘ data = {‘stu_id‘:510,‘gold‘:509} userid,sign = login() cookies = {‘niuhag‘:sign} res = requests.post(url,data,cookies=cookies).json() if res.get(‘error_code‘) == 1000: print(‘測試通過‘) else: print(‘測試失敗結果是‘,res) add_gold()
unittest實現關聯接口:
importunittest,requests class GoldTest(unittest.TestCase): # 註意:繼承的是TestCase def login(self): print(‘這是登陸的函數‘) url = ‘http://ip/api/user/login‘ data = {‘username‘: ‘niuhag‘, ‘passwd‘: ‘aA123‘} res = requests.post(url, data).json() user_id = res.get(‘login_info‘).get(‘userId‘) sign = res.get(‘login_info‘).get(‘sign‘) return user_id, sign def test_gold_add(self): url = ‘http://ip/api/user/gold_add‘ data = {‘stu_id‘: 510, ‘gold‘: 509} userid, sign = self.login() # 與第一段代碼有區別,為self.login(),類裏面調用 cookies = {‘niuhang‘: sign} res = requests.post(url, data, cookies=cookies).json() self.assertEqual(res.get(‘error_code‘),1000) # 判斷返回的error_code和1000是否相等,unittest會自動判斷並返回結果,不需要自己再適用if判斷 unittest.main()
函數名若以test開頭,則unittest會自動運行該函數,故若不想重復運行某個函數,則函數名不能以test開頭
關聯關系的接口+unittest實現關聯接口