1、处理allure报告中未展示 预期结果数据问题

2、自动生成yaml文件,处理请求头参数
3、处理日志日期未展示问题
This commit is contained in:
余少琪 2022-08-26 10:16:50 +08:00
parent af98297f20
commit e75095011f
6 changed files with 21 additions and 13 deletions

View File

@ -76,9 +76,9 @@ class LogHandler:
now_time_day = time.strftime("%Y-%m-%d", time.localtime())
INFO = LogHandler(ensure_path_sep("\\logs\\info-{now_time_day}.log"), level='info')
ERROR = LogHandler(ensure_path_sep("\\logs\\error-{now_time_day}.log"), level='error')
WARNING = LogHandler(ensure_path_sep('\\logs\\warning-{now_time_day}.log'))
INFO = LogHandler(ensure_path_sep(f"\\logs\\info-{now_time_day}.log"), level='info')
ERROR = LogHandler(ensure_path_sep(f"\\logs\\error-{now_time_day}.log"), level='error')
WARNING = LogHandler(ensure_path_sep(f'\\logs\\warning-{now_time_day}.log'))
if __name__ == '__main__':
ERROR.logger.error("测试")

View File

@ -108,7 +108,8 @@ class TestCase(BaseModel):
url: Text
method: Text
detail: Text
assert_data: Union[Dict, Text] = Field([], alias="assert")
# assert_data: Union[Dict, Text] = Field(..., alias="assert")
assert_data: Union[Dict, Text]
headers: Union[None, Dict, Text] = {}
requestType: Text
is_run: Union[None, bool] = None
@ -135,7 +136,7 @@ class ResponseData(BaseModel):
yaml_data: "TestCase"
headers: Dict
cookie: Dict
assert_data: List = Field([], alias="assert")
assert_data: Dict
res_time: Union[int, float]
status_code: int
teardown: List["TearDown"] = None

View File

@ -53,7 +53,7 @@ class CaseData:
'dependence_case_data': self.get_dependence_case_data(key, values),
"current_request_set_cache": self.get_current_request_set_cache(values),
"sql": self.get_sql(key, values),
"assert": self.get_assert(key, values),
"assert_data": self.get_assert(key, values),
"setup_sql": self.setup_sql(values),
"teardown": self.tear_down(values),
"teardown_sql": self.teardown_sql(values),

View File

@ -77,7 +77,7 @@ class Context:
计算当前时间
:return:
"""
now_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
now_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
return now_time
@classmethod

View File

@ -81,7 +81,10 @@ class SwaggerForYaml:
if jsonpath(obj=value, expr="$.parameters") is not False:
_parameters = value['parameters']
for i in _parameters:
_dict[i['name']] = None
if i['in'] == 'header':
...
else:
_dict[i['name']] = None
else:
return None
return _dict
@ -111,21 +114,25 @@ class SwaggerForYaml:
@classmethod
def get_headers(cls, value):
""" 获取请求头 """
_headers = {}
if jsonpath(obj=value, expr="$.consumes") is not False:
_headers = {"Content-Type": value['consumes'][0]}
return _headers
if jsonpath(obj=value, expr="$.parameters") is not False:
for i in value['parameters']:
if i['in'] == 'header':
_headers[i['name']] = None
else:
return None
_headers = None
return _headers
def write_yaml_handler(self):
_api_data = self._data['paths']
# num = len(Counter(self._data['paths']).items())
for key, value in _api_data.items():
for k, v in value.items():
yaml_data = {
"case_common": {"allureEpic": self.get_allure_epic(), "allureFeature": self.get_allure_feature(v),
"allureStory": self.get_allure_story(v)},
"allureStory": self.get_allure_story(v)},
self.get_case_id(key): {
"host": "${{host()}}", "url": key, "method": k, "detail": self.get_detail(v),
"headers": self.get_headers(v), "requestType": self.get_request_type(v, self.get_headers(v)),

View File

@ -344,7 +344,7 @@ class RequestControl:
"yaml_data": yaml_data,
"headers": res.request.headers,
"cookie": res.cookies,
"assert": yaml_data.assert_data,
"assert_data": yaml_data.assert_data,
"res_time": self.response_elapsed_total_seconds(res),
"status_code": res.status_code,
"teardown": yaml_data.teardown,