优化接口定义及用例代码

This commit is contained in:
wangjie 2025-03-17 20:22:52 +08:00
parent 03bb1d4a00
commit d6123222e4
7 changed files with 10 additions and 16 deletions

View File

@ -216,7 +216,7 @@ class Login(BaseApi): # 定义接口对象类,同一个业务的接口放在
@allure.feature("登录模块测试用例") # allure报告中展示模块功能分类的标题
class TestLogin: # 测试类名
# 通过get_yaml_data方法获取datas目录下准备好的测试数据
data_smsCode = get_yaml_data('datas/smsCode.yaml')
data_smsCode = get_yaml_data('datas/sms_code.yaml')
# 将获取的测试数据转换成列表套元组的格式:[(),(),()],每一个元组就是一组测试数据其实可以不用进行这一步我这里加了这一步是为了让allure报告的测试用例标题动态化
params = [(item['case_title'], item['phone'], item['expected']) for item in data_smsCode]

View File

@ -64,10 +64,10 @@ class BaseApi:
"""对请求参数进行预处理"""
# 在请求参数里默认加上查询范围
merged_params = {
"page": 1,
"size": 20,
'startTime': TimeUtil.get_seven_days_ago_time_unix(),
'endTime': TimeUtil.get_current_time_unix(),
# "page": 1,
# "size": 20,
# 'startTime': TimeUtil.get_seven_days_ago_time_unix(),
# 'endTime': TimeUtil.get_current_time_unix(),
**(input_params or {})
}
return merged_params
@ -200,11 +200,10 @@ class BaseApi:
files=files)
@staticmethod
def get_json(response: requests.Response) -> Union[Dict[str, Any], str]:
def get_json(response: requests.Response) -> dict | Any:
"""获取响应结果的json格式"""
try:
json_data = response.json()
return json_data
return response.json()
except json.JSONDecodeError:
# 如果json解析失败则返回原始响应体文本
return f'解码JSON失败或响应为空,返回原始响应:{response.text}'

View File

@ -13,7 +13,7 @@ from utils.jenkins_handle import ProjectName, BUILD_NUMBER, ALLURE_URL, BUILD_UR
args = command_parser()
# 设置默认运行环境,如果命令行中有 env 参数并且有效使用命令行的值否则使用默认值支持的环境参考env_config中配置的环境
ENV = (args.env or "dev").upper()
ENV = (args.env or "test").upper()
# 失败重跑次数
rerun = 0

View File

@ -3,7 +3,3 @@
password: '123456'
expected: '账号密码不匹配!'
- case_title: '手机号码格式不正确,登录失败'
username: '12345678901'
password: '138000'
expected: '手机号码格式不正确'

View File

@ -1,13 +1,12 @@
#!/usr/bin/python
# -*- coding:utf-8 -*-
from common.base_api import BaseApi
from utils.time_utils import TimeUtil
class Login(BaseApi):
"""登录模块"""
def login(self, username, password):
def login(self, username: str, password: str):
"""获取登录权限"""
address = '/user/login'
json = {

View File

@ -12,7 +12,7 @@ from utils.yaml_handle import YamlHandle
@allure.feature("登录模块")
class TestLogin:
data_smsCode = YamlHandle(DATAS_DIR + os.sep + 'smsCode.yaml').read_yaml()
data_smsCode = YamlHandle(DATAS_DIR + os.sep + 'sms_code.yaml').read_yaml()
params = [(item['case_title'], item['expected']) for item in data_smsCode]
@allure.story("测试获取验证码")