Ai
1 Star 1 Fork 88

imzack/auto_aptest

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
test_cnode_each_api.py 2.53 KB
一键复制 编辑 原始数据 按行查看 历史
imzack 提交于 2022-04-21 17:19 +08:00 . add cases
"""
定义所有的单接口测试
"""
import pytest
import os
import requests
from common.datatool import home_page_data,create_topic_data
from common.utils import get_project_root
home_data = home_page_data()
# 编写代码,读取csv文件中的内容,读取成功之后将数据
import csv
home_data_csv = []
root = get_project_root()
csvfile = os.path.join(root,'testdata/home_topics.csv')
with open(csvfile, mode='r', encoding='utf8') as f:
data = csv.reader(f)
# 第一行数据不需要
next(data) # 去掉第一行
# 从第二行数据开始迭代
for line in data:
print(line)
# 将数据追加到list
home_data_csv.append(tuple(line))
print("data", home_data_csv)
@pytest.mark.parametrize("tab,limit,expect_tab,expect_limit", home_data_csv)
def test_home_page_csv(tab, limit, expect_tab, expect_limit):
url = "http://47.100.175.62:3000/api/v1/topics"
querydata = {
"tab": tab,
"limit": int(limit) # csv文件中读出来的时候时 字符串,将字符串转换为int
}
r = requests.get(url, params=querydata)
# 断言tab值
for topic in r.json()["data"]:
assert topic["tab"] == expect_tab
# 断言limit
assert len(r.json()["data"]) == int(expect_limit) # 从csv文件中读取出来的时候为字符串类型,转换格式为int数字。
@pytest.mark.parametrize("tab,limit,expect_tab,expect_limit",home_data)
def test_home_page(tab,limit,expect_tab,expect_limit):
url = "http://47.100.175.62:3000/api/v1/topics"
querydata = {
"tab":tab,
"limit":limit
}
r = requests.get(url,params=querydata)
#断言tab值
for topic in r.json()["data"]:
assert topic["tab"] == expect_tab
# 断言limit
assert len(r.json()["data"]) == expect_limit
topic_data=create_topic_data()
#数据的格式为 (token,title,tab,content,expect_success,expect_err_msg)
@pytest.mark.parametrize('token,title,tab,content,expect_success,expect_err_msg',topic_data)
def test_create_topics(token,title,tab,content,expect_success,expect_err_msg):
url = "http://47.100.175.62:3000/api/v1/topics"
body_data = {
"accesstoken":token,
"title":title,
"tab": tab,
"content":content
}
r = requests.post(url,json=body_data)
# 进行断言
# 1. success 结果断言
assert r.json()["success"] == expect_success
# 只有当 发帖失败的时候才会对错误提示信息进行断言
if expect_success == False:
assert r.json()["error_msg"] == expect_err_msg
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/imzack/auto_aptest.git
git@gitee.com:imzack/auto_aptest.git
imzack
auto_aptest
auto_aptest
master

搜索帮助