| 1234567891011121314151617181920212223242526272829303132333435 |
- <?xml version="1.0" encoding="UTF-8"?>
- <project version="4">
- <component name="CopilotDiffPersistence">
- <option name="pendingDiffs">
- <map>
- <entry key="$PROJECT_DIR$/conftest.py">
- <value>
- <PendingDiffInfo>
- <option name="filePath" value="$PROJECT_DIR$/conftest.py" />
- <option name="updatedContent" value="import os def pytest_sessionfinish(session, exitstatus): # pytest 结束后自动生成 allure 报告 os.system("allure generate 测试报告 -o 测试报告/html --clean") " />
- </PendingDiffInfo>
- </value>
- </entry>
- <entry key="$PROJECT_DIR$/demo/main/test_a.py">
- <value>
- <PendingDiffInfo>
- <option name="filePath" value="$PROJECT_DIR$/demo/main/test_a.py" />
- <option name="originalContent" value="import pytest,json import jsonpath from demo.utils import get_excel as gexcel from demo.utils.send import ApiClient from demo.utils.write_log import write_log from demo.dic.global_value import GlobalInfo client = ApiClient() @pytest.mark.parametrize("case_info", gexcel.get_excel("demo", 0)) def test_case(case_info): #初始化全局变量 dic = GlobalInfo().show_info() # 拼接请求参数 url = case_info["url"] method = case_info["method"] headers = eval(case_info["headers"]) if case_info["headers"] else {} params = eval(case_info["params"]) if case_info["params"] else {} data = eval(case_info["data"]) if case_info["data"] else {} _json = eval(case_info["json"]) if case_info["json"] else {} # 写日志 write_log("url",url) write_log("headers",headers) write_log("params",params) write_log("data",data) # 前置操作 res = client.send_request(method, url, headers=headers, params=params, data=data, json=_json) write_log("respose", res.json()) # assert res.status_code == 200 # 后置操作 ## 提取变量 if case_info["提取变量"] != "": vars_to_extract = [v.strip() for v in case_info["提取变量"].split(",") if v.strip()] for var in vars_to_extract: value = jsonpath.jsonpath(res.json(), f"$..{var}") if value: GlobalInfo().set_info(var, value[0]) write_log("globalInfo.txt", json.dumps(GlobalInfo().show_info())) print(_json)" />
- <option name="updatedContent" value="import pytest, json import jsonpath from demo.utils import get_excel as gexcel from demo.utils.send import ApiClient from demo.utils.write_log import write_log from demo.dic.global_value import GlobalInfo client = ApiClient() @pytest.mark.parametrize("case_info", gexcel.get_excel("demo", 0)) def test_case(case_info): #初始化全局变量 dic = GlobalInfo().show_info() # 拼接请求参数 url = case_info["url"] method = case_info["method"] headers = eval(case_info["headers"]) if case_info["headers"] else {} params = eval(case_info["params"]) if case_info["params"] else {} data = eval(case_info["data"]) if case_info["data"] else {} _json = eval(case_info["json"]) if case_info["json"] else {} # 写日志 write_log("url",url) write_log("headers",headers) write_log("params",params) write_log("data",data) # 前置操作 res = client.send_request(method, url, headers=headers, params=params, data=data, json=_json) write_log("respose", res.json()) # assert res.status_code == 200 # 后置操作 ## 提取变量 if case_info["提取变量"] != "": vars_to_extract = [v.strip() for v in case_info["提取变量"].split(",") if v.strip()] for var in vars_to_extract: value = jsonpath.jsonpath(res.json(), f"$..{var}") if value: GlobalInfo().set_info(var, value[0]) write_log("globalInfo.txt", json.dumps(GlobalInfo().show_info())) print(_json)" />
- </PendingDiffInfo>
- </value>
- </entry>
- <entry key="$PROJECT_DIR$/demo/utils/get_excel.py">
- <value>
- <PendingDiffInfo>
- <option name="filePath" value="$PROJECT_DIR$/demo/utils/get_excel.py" />
- <option name="originalContent" value="import pandas as pd from pathlib import Path from . import write_log as log def get_excel(file_name, sheet_name=0): """ 读取excel文件目录下.xlsx文件内容到DataFrame,并用空字符串填充缺失值 :param file_name: :param sheet_name: 工作表名称或索引,默认读取第一个工作表 :return: 填充缺失值后的DataFrame """ project_root = Path(__file__).parent.parent # 拼接 demo/demo.xlsx 路径 file_path = project_root / "excel" / (file_name+".xlsx") df = pd.read_excel(file_path, sheet_name=sheet_name) df = df.fillna("") # 用空字符串填充缺失值 df = df.to_dict(orient="records") # print(df) log.clear_log(file_name) log.write_log(file_name, df) return df # print(file_path)" />
- <option name="updatedContent" value="import pandas as pd from pathlib import Path from . import write_log as log def get_excel(file_name, sheet_name=0): """ 读取excel文件目录下.xlsx文件内容到DataFrame,并用空字符串填充缺失值 :param file_name: :param sheet_name: 工作表名称或索引,默认读取第一个工作表 :return: 填充缺失值后的DataFrame """ project_root = Path(__file__).parent.parent # 拼接 demo/demo.xlsx 路径 file_path = project_root / "excel" / (file_name+".xlsx") df = pd.read_excel(file_path, sheet_name=sheet_name) df = df.fillna("") # 用空字符串填充缺失值 df = df.to_dict(orient="records") # print(df) log.clear_log(file_name) log.write_log(file_name, df) return df # print(file_path)" />
- </PendingDiffInfo>
- </value>
- </entry>
- </map>
- </option>
- </component>
- </project>
|