头条项目接口自动化测试(四)之用户频道列表接口测试

用户频道列表接口测试

1、自动化测试的目录结构

见文章

2、实现用户频道列表接口的对象封装api_channels.py
"""
功能:实现用户频道列表接口的对象封装
"""
import requests

class ApiChannels(object):
    #获取用户频道列表
    def api_get_channels(self,url,headers):
        #get请求
        return requests.get(url,headers=headers)
3、获取用户频道列表的业务实现test_channels.py
"""
功能:获取用户频道列表的业务实现
"""
import unittest
from api.api_channels import ApiChannels

from parameterized import parameterized
from tools.read_json import ReadJson

#读取json数据
def get_data():
    datas=ReadJson("channels.json").read_json()
    #建立空列表,添加读取的json数据
    arrs=[]
    #遍历多条json数据用例
    for data in datas.values():
        arrs.append((data.get("url"),
                     data.get("headers"),
                     data.get("expect_result"),
                     data.get("status_code")))
    return arrs
class TestChannels(unittest.TestCase):
    #测试方法
    @parameterized.expand(get_data())
    def test_channels(self,url,headers,expect_result,status_code):
        #临时数据,token有效期为2个小时
        # url="http://ttapi.research.itcast.cn/app/v1_0/user/channels"
        # headers={"Content-Type":"application/json",
			# 	"Authorization":"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE1ODUxMzA1ODksInVzZXJfaWQiOjEyMzEwNTIyNDk1Njg5MDMxNjgsInJlZnJlc2giOmZhbHNlfQ.QFy0lXJ1So4bwJDLDwjbC6o2KeZyFYnYf2uMz-OAyMo"}
        #调用获取用户频道列表方法
        result=ApiChannels().api_get_channels(url,headers)
        #打印响应结果
        print("响应结果:",result.json())
        #断言,状态码、响应信息
        self.assertEquals(status_code,result.status_code)
        self.assertEquals(expect_result,result.json()['message'])

if __name__ == '__main__':
    unittest.main()
4、json数据channels.json
{
  "channels001":{
      "url":"http://ttapi.research.itcast.cn/app/v1_0/user/channels",
      "headers": {"Content-Type":"application/json", "Authorization":"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE1ODUxMzA1ODksInVzZXJfaWQiOjEyMzEwNTIyNDk1Njg5MDMxNjgsInJlZnJlc2giOmZhbHNlfQ.QFy0lXJ1So4bwJDLDwjbC6o2KeZyFYnYf2uMz-OAyMo"},
      "expect_result":"OK",
      "status_code":200
  },
   "channels002":{
      "url":"http://ttapi.research.itcast.cn/app/v1_0/user/channels",
      "headers": {"Content-Type":"application/json", "Authorization":"Bearer eyJ0eXssAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE1ODUxMzA1ODksInVzZXJfaWQiOjEyMzEwNTIyNDk1Njg5MDMxNjgsInJlZnJlc2giOmZhbHNlfQ.QFy0lXJ1So4bwJDLDwjbC6o2KeZyFYnYf2uMz-OAyMo"},
      "expect_result":"OK",
      "status_code":200
  }
}
5、读取json数据工具类reas_json.py
"""
功能:读取json数据,返回json对象
"""
import json
class ReadJson(object):
    #初始化json地址
    def __init__(self,fileName):
        self.filePath="../data/"+fileName
    #读取json
    def read_json(self):
        with open(self.filePath,"r",encoding="utf-8") as f:
            #调用load方法加载文件流
            return json.load(f)




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值