首页 > 技术文章 > unittest学习-GET请求

LT-XILI 2021-03-10 23:11 原文

通过 unittest 框架 进行接口测试,参数与代码分离,通过json文件存储参数,通过with函数获取json文件内的内容

将获取json文件的操作放在 setUp()里面,这样所有的用例都可以进行获取

setUp(self):执行用例过程中在每一条test用例执行前都会提取一次

setUpClass(cls):执行用例过程中所有用例只会提取一次

GET请求setUpClass() 案例

#encoding:utf-8
import unittest
import json
import requests

class v2exapi(unittest.TestCase):
    
   #装饰器 @classmethod
def setUpClass(cls): #赋值参数文件路径及文件名 user_file_data = "./user_data.json" print("读取参数文件") # 通过with函数打开参数文件 with open(user_file_data) as f: # 通过 .rede()一次性读取所有文件内容 cls.user_data = json.loads(f.read()) def test_v2es(self): # for循环遍历参数文件中的内容 for data in self.user_data: #对json格式文件,采用根据键获取相对value,进行赋值 path = data["path"] url = data["url"] #requests.get 请求接口,以json的格式返回结果 res = requests.get(url=path + url).json() #进行比对性断言,判断返回是否正确 self.assertEqual(res["name"],"python") print(res) def test_v2es1(self): # for循环遍历参数文件中的内容 for data in self.user_data: #对json格式文件,采用根据键获取相对value,进行赋值 path = data["path"] url = data["url"] #requests.get 请求接口,以json的格式返回结果 res = requests.get(url=path + url).json() #进行比对性断言,判断返回是否正确 self.assertEqual(res["name"],"python") print(res) if __name__ == "__main__": unittest.main()

执行结果 执行一次 setUpClass()

 

 

GET请求setUp() 案例

#encoding:utf-8
import unittest
import json
import requests

class v2exapi(unittest.TestCase):


    def setUp(self):
        #赋值参数文件路径及文件名
        user_file_data = "./user_data.json"
        print("读取参数文件")
        # 通过with函数打开参数文件
        with open(user_file_data) as f:
            # 通过 .rede()一次性读取所有文件内容
            self.user_data = json.loads(f.read())

    def test_v2es(self):
        # for循环遍历参数文件中的内容
        for data in self.user_data:
            #对json格式文件,采用根据键获取相对value,进行赋值
            path = data["path"]
            url = data["url"]
            #requests.get 请求接口,以json的格式返回结果
            res = requests.get(url=path + url).json()
            #进行比对性断言,判断返回是否正确
            self.assertEqual(res["name"],"python")
            print(res)

    def test_v2es1(self):
        # for循环遍历参数文件中的内容
        for data in self.user_data:
            #对json格式文件,采用根据键获取相对value,进行赋值
            path = data["path"]
            url = data["url"]
            #requests.get 请求接口,以json的格式返回结果
            res = requests.get(url=path + url).json()
            #进行比对性断言,判断返回是否正确
            self.assertEqual(res["name"],"python")
            print(res)

if __name__ == "__main__":
    unittest.main()

执行结果 执行两次setUp()

 

推荐阅读