WebsocketTest 1.0.15__py3-none-any.whl → 1.0.17__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- WebsocketTest/allure_installer.py +63 -42
- WebsocketTest/common/WSBaseApi.py +4 -3
- WebsocketTest/common/test.py +36 -0
- WebsocketTest/common/utils.py +4 -4
- WebsocketTest/conftest.py +12 -2
- WebsocketTest/run_tests.py +4 -5
- WebsocketTest/templates/basic/__pycache__/conftest.cpython-310-pytest-8.2.2.pyc +0 -0
- WebsocketTest/templates/basic/data/case_data.xlsx +0 -0
- WebsocketTest/templates/basic//321/206/320/231/320/267/321/210/320/261/320/234/321/205/320/241/342/225/234/321/204/342/225/227/320/264.txt +15 -11
- {websockettest-1.0.15.dist-info → websockettest-1.0.17.dist-info}/METADATA +1 -1
- {websockettest-1.0.15.dist-info → websockettest-1.0.17.dist-info}/RECORD +14 -12
- {websockettest-1.0.15.dist-info → websockettest-1.0.17.dist-info}/WHEEL +0 -0
- {websockettest-1.0.15.dist-info → websockettest-1.0.17.dist-info}/entry_points.txt +0 -0
- {websockettest-1.0.15.dist-info → websockettest-1.0.17.dist-info}/top_level.txt +0 -0
@@ -4,6 +4,7 @@ import zipfile
|
|
4
4
|
import subprocess
|
5
5
|
import winreg
|
6
6
|
from pathlib import Path
|
7
|
+
import shutil
|
7
8
|
|
8
9
|
# 配置参数
|
9
10
|
ALLURE_VERSION = "2.30.0"
|
@@ -13,43 +14,71 @@ INSTALL_DIR = os.path.expanduser("~/.allure") # 安装到用户目录
|
|
13
14
|
ALLURE_BIN_DIR = os.path.join(INSTALL_DIR, f"allure-{ALLURE_VERSION}", "bin")
|
14
15
|
|
15
16
|
def is_allure_installed():
|
16
|
-
"""检查Allure是否在PATH
|
17
|
+
"""检查Allure是否在PATH中且版本匹配
|
18
|
+
Returns:
|
19
|
+
Tuple[bool, str]: (是否安装正确, 版本信息或错误消息)
|
20
|
+
"""
|
21
|
+
# 1. 首先检查allure命令是否存在
|
22
|
+
allure_cmd = "allure"
|
23
|
+
if not shutil.which(allure_cmd):
|
24
|
+
return False
|
25
|
+
|
26
|
+
# 2. 获取版本信息
|
17
27
|
try:
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
28
|
+
result = subprocess.run(
|
29
|
+
[allure_cmd, "--version"],
|
30
|
+
check=True,
|
31
|
+
stdout=subprocess.PIPE,
|
32
|
+
stderr=subprocess.PIPE,
|
33
|
+
text=True,
|
34
|
+
encoding="utf-8",
|
35
|
+
timeout=5 # 添加超时防止卡住
|
36
|
+
)
|
24
37
|
installed_version = result.stdout.strip()
|
38
|
+
|
39
|
+
# 3. 验证版本
|
25
40
|
if ALLURE_VERSION not in installed_version:
|
26
|
-
print(f"
|
41
|
+
print(f"Allure版本不匹配: 已安装 {installed_version} (需要 {ALLURE_VERSION})")
|
27
42
|
return False
|
43
|
+
|
28
44
|
return True
|
29
|
-
|
30
|
-
|
45
|
+
|
46
|
+
except subprocess.CalledProcessError as e:
|
47
|
+
return False, f"Allure版本检查失败: {e.stderr}"
|
48
|
+
except Exception as e:
|
49
|
+
return False, f"检查Allure时发生意外错误: {str(e)}"
|
31
50
|
|
32
51
|
def get_local_zip_path():
|
33
52
|
"""获取ZIP文件的绝对路径(兼容开发模式和正式安装)"""
|
34
|
-
#
|
53
|
+
# 正式安装模式
|
35
54
|
try:
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
55
|
+
from importlib.resources import files
|
56
|
+
# Python 3.9+ 标准方式
|
57
|
+
resource = files(PACKAGE_NAME).joinpath(LOCAL_ZIP_RELATIVE_PATH)
|
58
|
+
if Path(str(resource)).exists():
|
59
|
+
return str(resource)
|
60
|
+
except Exception as e:
|
40
61
|
pass
|
41
|
-
|
42
|
-
#
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
62
|
+
|
63
|
+
# 备选搜索路径(按优先级排序)
|
64
|
+
search_paths = [
|
65
|
+
# 1. 当前脚本所在目录的子目录(开发模式)
|
66
|
+
Path(__file__).parent / LOCAL_ZIP_RELATIVE_PATH,
|
67
|
+
|
68
|
+
# # 2. 当前工作目录的包子目录
|
69
|
+
Path.cwd() / PACKAGE_NAME / LOCAL_ZIP_RELATIVE_PATH,
|
70
|
+
|
71
|
+
# # 3. Python安装目录下的包子目录
|
72
|
+
Path(sys.prefix) /"Lib/site-packages" / PACKAGE_NAME / LOCAL_ZIP_RELATIVE_PATH,
|
73
|
+
|
74
|
+
# # 4. 直接尝试相对路径(适用于打包后的exe等情况)
|
75
|
+
# Path(LOCAL_ZIP_RELATIVE_PATH)
|
47
76
|
]
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
if os.path.exists(
|
52
|
-
return
|
77
|
+
# 回退方案:从当前工作目录查找
|
78
|
+
|
79
|
+
for _path in search_paths:
|
80
|
+
if os.path.exists(_path):
|
81
|
+
return _path
|
53
82
|
|
54
83
|
raise FileNotFoundError(f"Allure ZIP文件未在任何位置找到: {LOCAL_ZIP_RELATIVE_PATH}")
|
55
84
|
|
@@ -75,13 +104,13 @@ def install_allure():
|
|
75
104
|
f.write(zip_ref.read(file))
|
76
105
|
|
77
106
|
# 设置权限(特别是Linux/macOS)
|
78
|
-
if sys.platform != "win32":
|
79
|
-
|
107
|
+
# if sys.platform != "win32":
|
108
|
+
# os.chmod(os.path.join(ALLURE_BIN_DIR, "allure"), 0o755)
|
80
109
|
|
81
110
|
# 更新PATH
|
82
|
-
if add_to_user_path(ALLURE_BIN_DIR):
|
83
|
-
|
84
|
-
|
111
|
+
# if add_to_user_path(ALLURE_BIN_DIR):
|
112
|
+
# # 立即在当前进程生效
|
113
|
+
# os.environ["PATH"] = f"{ALLURE_BIN_DIR}{os.pathsep}{os.environ.get('PATH', '')}"
|
85
114
|
|
86
115
|
return True
|
87
116
|
except Exception as e:
|
@@ -114,17 +143,8 @@ def add_to_user_path(path):
|
|
114
143
|
shell=True,
|
115
144
|
check=True
|
116
145
|
)
|
117
|
-
|
118
|
-
|
119
|
-
shell_config = os.path.expanduser("~/.bashrc")
|
120
|
-
if not os.path.exists(shell_config):
|
121
|
-
shell_config = os.path.expanduser("~/.zshrc")
|
122
|
-
|
123
|
-
with open(shell_config, "a") as f:
|
124
|
-
f.write(f"\nexport PATH=\"$PATH:{path}\"\n")
|
125
|
-
|
126
|
-
print(f"✅ 已添加PATH: {path}")
|
127
|
-
return True
|
146
|
+
print(f"✅ 已添加PATH: {path}")
|
147
|
+
return True
|
128
148
|
except Exception as e:
|
129
149
|
print(f"⚠️ 添加PATH失败: {e}\n请手动添加 {path} 到环境变量", file=sys.stderr)
|
130
150
|
return False
|
@@ -144,6 +164,7 @@ def ensure_allure():
|
|
144
164
|
2. 尝试手动运行: {}
|
145
165
|
""".format(os.path.join(ALLURE_BIN_DIR, "allure" + (".bat" if sys.platform == "win32" else ""))))
|
146
166
|
return False
|
167
|
+
print(f"✅ Allure {ALLURE_VERSION} 安装安装成功")
|
147
168
|
return True
|
148
169
|
else:
|
149
170
|
print(f"""
|
@@ -7,6 +7,7 @@ from pathlib import Path
|
|
7
7
|
from WebsocketTest.common.Assertion import Assert
|
8
8
|
import pytest
|
9
9
|
import traceback
|
10
|
+
from WebsocketTest.conftest import SHEET_NAME
|
10
11
|
class WSBaseApi:
|
11
12
|
def __init__(self, **kwargs):
|
12
13
|
self.request = {}
|
@@ -29,11 +30,11 @@ class WSBaseApi:
|
|
29
30
|
asyncio.run(self.WebSocketApi())
|
30
31
|
|
31
32
|
|
32
|
-
|
33
33
|
class BaseApiTest:
|
34
34
|
# 定义需要子类实现的属性
|
35
35
|
TEST_TYPE = "API自动化测试" # 默认值,可被子类覆盖
|
36
36
|
CASE_PATH = Path.cwd().resolve().joinpath("data/case_data.xlsx")
|
37
|
+
|
37
38
|
|
38
39
|
@cached_property
|
39
40
|
def API_TEST_RUNNER_CLASS(self):
|
@@ -51,7 +52,7 @@ class BaseApiTest:
|
|
51
52
|
) from e
|
52
53
|
|
53
54
|
|
54
|
-
@pytest.mark.parametrize('case_suite', gen_case_suite(CASE_PATH))
|
55
|
+
@pytest.mark.parametrize('case_suite', gen_case_suite(CASE_PATH,sheet_name=SHEET_NAME))
|
55
56
|
def test(self, case_suite, setup_env):
|
56
57
|
"""测试用例执行模板"""
|
57
58
|
try:
|
@@ -70,7 +71,7 @@ class BaseApiTest:
|
|
70
71
|
|
71
72
|
except Exception as e:
|
72
73
|
self._record_error(e)
|
73
|
-
|
74
|
+
pytest.fail(f"Case failed: {str(e)}")
|
74
75
|
|
75
76
|
def _record_allure_report(self, runner):
|
76
77
|
"""记录Allure测试报告"""
|
@@ -0,0 +1,36 @@
|
|
1
|
+
import websockets
|
2
|
+
from functools import cached_property
|
3
|
+
import asyncio
|
4
|
+
from WebsocketTest.common.utils import *
|
5
|
+
import allure
|
6
|
+
from pathlib import Path
|
7
|
+
from WebsocketTest.common.Assertion import Assert
|
8
|
+
import pytest
|
9
|
+
import traceback
|
10
|
+
|
11
|
+
|
12
|
+
CASE_PATH = Path.cwd().resolve().joinpath("data/case_data.xlsx")
|
13
|
+
@pytest.fixture
|
14
|
+
def sheet_name(request):
|
15
|
+
"""动态获取 sheet_name"""
|
16
|
+
service = request.config.getoption("--service")
|
17
|
+
project = request.config.getoption("--project")
|
18
|
+
return f"{project}_{service}"
|
19
|
+
|
20
|
+
@pytest.fixture
|
21
|
+
def case_suite(sheet_name):
|
22
|
+
"""生成测试数据"""
|
23
|
+
return gen_case_suite(CASE_PATH, sheet_name)
|
24
|
+
|
25
|
+
class BaseApiTest:
|
26
|
+
def test(self, case_suite, setup_env):
|
27
|
+
"""测试用例执行模板"""
|
28
|
+
try:
|
29
|
+
params = merge_dicts(case_suite, setup_env)
|
30
|
+
runner = self.API_TEST_RUNNER_CLASS(**params)
|
31
|
+
runner.run()
|
32
|
+
self._record_allure_report(runner)
|
33
|
+
self._execute_assertions(runner, case_suite)
|
34
|
+
except Exception as e:
|
35
|
+
self._record_error(e)
|
36
|
+
raise
|
WebsocketTest/common/utils.py
CHANGED
@@ -189,8 +189,8 @@ def append_msg_to_excel(file_path, **kwargs):
|
|
189
189
|
current_function = inspect.currentframe().f_code.co_name
|
190
190
|
print(f"An error occurred in file '{current_file}' and function '{current_function}': {e}")
|
191
191
|
|
192
|
-
def read_excel(file_path):
|
193
|
-
df = pd.read_excel(file_path, header=0, dtype={'debug': str,'debugX': str})
|
192
|
+
def read_excel(file_path,sheet_name):
|
193
|
+
df = pd.read_excel(file_path,sheet_name, header=0, dtype={'debug': str,'debugX': str})
|
194
194
|
# 如果确实需要空字符串,先转换类型
|
195
195
|
pd.set_option('future.no_silent_downcasting', True)
|
196
196
|
df = df.astype(object).fillna("") # 转换为object类型
|
@@ -234,9 +234,9 @@ def merge_dicts(a: dict, b: dict) -> dict:
|
|
234
234
|
for k in set(a) | set(b)
|
235
235
|
}
|
236
236
|
|
237
|
-
def gen_case_suite(file_path):
|
237
|
+
def gen_case_suite(file_path,sheet_name):
|
238
238
|
# 生成测试用例套件
|
239
|
-
data_dict = read_excel(file_path)
|
239
|
+
data_dict = read_excel(file_path,sheet_name)
|
240
240
|
case_suite = []
|
241
241
|
for case in data_dict:
|
242
242
|
case_suite.append(case)
|
WebsocketTest/conftest.py
CHANGED
@@ -2,6 +2,9 @@ import pytest
|
|
2
2
|
import yaml
|
3
3
|
from pathlib import Path
|
4
4
|
|
5
|
+
SHEET_NAME = "0" # 默认值
|
6
|
+
|
7
|
+
|
5
8
|
# 设置环境信息的 fixture
|
6
9
|
@pytest.fixture(scope="session")
|
7
10
|
def setup_env(request):
|
@@ -30,7 +33,6 @@ def setup_env(request):
|
|
30
33
|
'service': service,
|
31
34
|
'project': project})
|
32
35
|
return environments
|
33
|
-
|
34
36
|
# 添加命令行选项
|
35
37
|
def pytest_addoption(parser):
|
36
38
|
parser.addoption(
|
@@ -56,4 +58,12 @@ def pytest_addoption(parser):
|
|
56
58
|
action="store",
|
57
59
|
default="vwa",
|
58
60
|
help="Project name is required"
|
59
|
-
)
|
61
|
+
)
|
62
|
+
|
63
|
+
def pytest_configure(config):
|
64
|
+
project = config.getoption("--project")
|
65
|
+
service = config.getoption("--service")
|
66
|
+
"""在测试初始化阶段解析参数并全局缓存"""
|
67
|
+
global SHEET_NAME
|
68
|
+
SHEET_NAME = f"{project}-{service}"
|
69
|
+
|
WebsocketTest/run_tests.py
CHANGED
@@ -35,7 +35,7 @@ class AllureManager:
|
|
35
35
|
start_new_session=True
|
36
36
|
)
|
37
37
|
|
38
|
-
time.sleep(
|
38
|
+
time.sleep(1) # 等待服务启动
|
39
39
|
return True
|
40
40
|
except Exception as e:
|
41
41
|
logger.error(f"Failed to start Allure server: {e}")
|
@@ -81,11 +81,11 @@ class TestRunner:
|
|
81
81
|
"--service", self.args.service,
|
82
82
|
"--project", self.args.project,
|
83
83
|
"--alluredir", self.allure_results
|
84
|
+
,"testcase\\test_all.py"
|
84
85
|
]
|
85
86
|
# 添加可选测试路径(如果存在)
|
86
87
|
if hasattr(self.args, 'testcase') and self.args.testcase:
|
87
|
-
cmd.insert(1, self.args.testcase)
|
88
|
-
print(f"run_pytest_tests Executing: {' '.join(cmd)}")
|
88
|
+
cmd.insert(1, self.args.testcase)
|
89
89
|
try:
|
90
90
|
# logger.info(f"run_pytest_tests Executing: {' '.join(cmd)}")
|
91
91
|
subprocess.run(cmd, check=True, timeout=3600)
|
@@ -115,8 +115,7 @@ class TestRunner:
|
|
115
115
|
webbrowser.open(f"http://localhost:{self.args.port}")
|
116
116
|
else:
|
117
117
|
logger.info("Starting new Allure server...")
|
118
|
-
|
119
|
-
webbrowser.open(f"http://localhost:{self.args.port}")
|
118
|
+
self.allure_manager.start_server(self.args.report_dir)
|
120
119
|
def run(self):
|
121
120
|
# 1. 运行测试
|
122
121
|
self.run_pytest_tests()
|
Binary file
|
@@ -9,29 +9,33 @@ ws test --env live --app 3d7d3ea4 --service gateway_5.4 --project vwa
|
|
9
9
|
ws test --env uat --app 0f0826ab --service gateway_5.0 --project vwa
|
10
10
|
ws test --env live --app 0f0826ab --service gateway_5.0 --project vwa
|
11
11
|
奥迪aqua测试:
|
12
|
-
ws test --env uat --app 576d9f07 --service aqua --project
|
13
|
-
ws test --env live --app 576d9f07 --service aqua --project
|
12
|
+
ws test --env uat --app 576d9f07 --service aqua --project svm
|
13
|
+
ws test --env live --app 576d9f07 --service aqua --project svm
|
14
14
|
上汽5.0链路sds_gateway测试:
|
15
15
|
ws test --env uat --app 66ba7ded --service gateway_5.0 --project svw
|
16
16
|
ws test --env live --app 66ba7ded --service gateway_5.0 --project svw
|
17
17
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
18
|
+
ws startproject d
|
19
|
+
python run_tests.py --env live --app 0f0826ab --service gateway_5.0 --project vwa
|
20
|
+
pip install -e .
|
21
|
+
指定Gatewaycase
|
22
|
+
ws test --env uat --app 3d7d3ea4 --service gateway_5.4 --project vwa --testcase testcase/test_all.py::TestGateway::test[case_suite0]
|
23
|
+
指定Aquacase
|
24
|
+
testcase/test_all.py::TestAqua::test[case_suite0]
|
22
25
|
|
23
26
|
关闭allure进程
|
24
27
|
netstat -ano | findstr "8883"
|
25
|
-
taskkill /PID 25804
|
28
|
+
taskkill /F /PID 25804
|
26
29
|
|
27
|
-
卸载
|
28
|
-
pip uninstall WebsocketTest
|
29
|
-
安装
|
30
|
-
pip install WebsocketTest==1.0.14
|
31
30
|
打包
|
32
31
|
python setup.py sdist bdist_wheel
|
33
32
|
上传
|
34
33
|
twine upload --repository pypi setup_temp/dist/*
|
34
|
+
卸载
|
35
|
+
pip uninstall WebsocketTest
|
36
|
+
安装
|
37
|
+
pip install WebsocketTest==1.0.14
|
38
|
+
|
35
39
|
|
36
40
|
|
37
41
|
安装虚拟环境
|
@@ -1,8 +1,8 @@
|
|
1
1
|
WebsocketTest/__init__.py,sha256=u71SAVmbgsyp0K21kilo7pIDgeyxsaHAi93clC0OIPQ,556
|
2
|
-
WebsocketTest/allure_installer.py,sha256=
|
2
|
+
WebsocketTest/allure_installer.py,sha256=mqcEZQsVnqMHtkH_gdiKD4ibo49u7NpLqvME1rvxBtk,6819
|
3
3
|
WebsocketTest/cli.py,sha256=HcnjgRLM404fVszrSRAf7G1y9XLJ_ZetVtRIwavS4xE,987
|
4
|
-
WebsocketTest/conftest.py,sha256=
|
5
|
-
WebsocketTest/run_tests.py,sha256=
|
4
|
+
WebsocketTest/conftest.py,sha256=ZEbTt7J--BEhCPnT30LhWS33vQr8HPEM3ZfwgoKj2fM,2164
|
5
|
+
WebsocketTest/run_tests.py,sha256=U-53f2y5rYFbs98QGheuZkvQPqCVPF6UZKk5812i3cE,6128
|
6
6
|
WebsocketTest/caseScript/Aqua.py,sha256=dTjVd4FPka5lMUvxa1DsGTJ6gx7NRo5NGNunrue3d0M,7439
|
7
7
|
WebsocketTest/caseScript/Gateway.py,sha256=4_BlJPbn6X_eFHYz2orn3fXPQMPz5jRdUlj6tXkeX2Q,11748
|
8
8
|
WebsocketTest/caseScript/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -10,15 +10,17 @@ WebsocketTest/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
|
|
10
10
|
WebsocketTest/commands/startproject.py,sha256=xTL6Tct8J8Ks6QD2VrQkNAWGhyv1UEMBuh2gmKCi3d0,909
|
11
11
|
WebsocketTest/commands/test.py,sha256=16i5SI9_kfR67bGWR13Id6HUr4qvYalz4WcNSdvS4Mo,893
|
12
12
|
WebsocketTest/common/Assertion.py,sha256=Kd86Dr6CkPGHN4747T4doyZjklhEFaQ14WCJxuN59IU,5229
|
13
|
-
WebsocketTest/common/WSBaseApi.py,sha256=
|
13
|
+
WebsocketTest/common/WSBaseApi.py,sha256=8lfmUsg5Foavo7FCvJzNhXBTVHO0wvpjkWn1swzdszg,4131
|
14
14
|
WebsocketTest/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
15
15
|
WebsocketTest/common/assertUtils.py,sha256=poyL6J_WXb2BJvaABCILfiWHN7gHSTRcMWvpjk224yU,4713
|
16
16
|
WebsocketTest/common/logger.py,sha256=JY7dJLVObKoA6E-5FJ0EMX_EyN8Otg4_4FYywKVSkcg,367
|
17
|
-
WebsocketTest/common/
|
17
|
+
WebsocketTest/common/test.py,sha256=KjKL3vMQGuYsWiSmYqw2ypApUtGHBlG_6Sy1QpVkEJ4,1110
|
18
|
+
WebsocketTest/common/utils.py,sha256=29aylauHjrKrJ40PZAcgmikA7U9RJ_qQiX2vjIxsdnA,8748
|
18
19
|
WebsocketTest/libs/allure-2.30.0.zip,sha256=SEc2gYElQbTQrIcpJ5gLIWptfPW8kPITU8gs4wezZho,26551281
|
19
20
|
WebsocketTest/templates/basic/conftest.py,sha256=y2_2961mhCYSRMp5X9xLq3nOmRzaTSgD3GDdrlTqxn4,1885
|
20
21
|
WebsocketTest/templates/basic/pytest.ini,sha256=An32MB2Yy2L4EVP9WoczW8x0ISAXsgG0tlSLta-cDcs,589
|
21
|
-
WebsocketTest/templates/basic/执行命令.txt,sha256=
|
22
|
+
WebsocketTest/templates/basic/执行命令.txt,sha256=0Ocitul_eNgwkqryGA_ozPfyb5b8XlTIP2TMOgl7CaA,1650
|
23
|
+
WebsocketTest/templates/basic/__pycache__/conftest.cpython-310-pytest-8.2.2.pyc,sha256=q2WJ_-drfCQS8zyAbemBYHaroAHA8-40KoeO2ohwV5c,1495
|
22
24
|
WebsocketTest/templates/basic/config/svw/live.yml,sha256=dqTMDubVYO0lt2kPoHgbZW0ZVMaLO7-OjfBmHedqJuU,31
|
23
25
|
WebsocketTest/templates/basic/config/svw/uat.yml,sha256=DX8Bn_iL5JdFHxHSo1QdRHZLC0C6pId84dit2nutkqM,30
|
24
26
|
WebsocketTest/templates/basic/config/svw/aqua/uat.yml,sha256=Kn5vnsCVWaLuJA2m97EYy3ZN123H66-z2XSxAzgO97Q,358
|
@@ -32,7 +34,7 @@ WebsocketTest/templates/basic/config/vwa/gateway_5.0/live.yml,sha256=IT-AdMCEIN-
|
|
32
34
|
WebsocketTest/templates/basic/config/vwa/gateway_5.0/uat.yml,sha256=-rs_eQj09D_k9mEt5_je_PmsfLbxCalWPqo1PN91yQI,253
|
33
35
|
WebsocketTest/templates/basic/config/vwa/gateway_5.4/live.yml,sha256=NPHiuFd4NKmp-8qBikeRWWcIgA8Uv3DxWCjwgMhw3JA,287
|
34
36
|
WebsocketTest/templates/basic/config/vwa/gateway_5.4/uat.yml,sha256=sGZ9qFIk-R5xjw4Bino19mPsrO9-4PQW8O4SQMPu56M,290
|
35
|
-
WebsocketTest/templates/basic/data/case_data.xlsx,sha256
|
37
|
+
WebsocketTest/templates/basic/data/case_data.xlsx,sha256=ymHkY9H5wIDvazpbrhE81-hYOMYPp5P26ZOvwBbhoOo,63896
|
36
38
|
WebsocketTest/templates/basic/data/audio/1+1等于几.pcm,sha256=7oLacjxnRnp2EM34vGtK4r281sKAeKg-8M9HrVzOFvQ,49906
|
37
39
|
WebsocketTest/templates/basic/data/audio/Navigation nearby hotels.pcm,sha256=zkj6txEQVcK1sVYu8ncWSaxy4iLGPxAD_Gnc8EH0XD8,78838
|
38
40
|
WebsocketTest/templates/basic/data/audio/Play Billy Jane.pcm,sha256=x3sE25hu23z3nju666sSqbJjOA9lZzHgs2xVBzYSEZ8,36854
|
@@ -83,8 +85,8 @@ WebsocketTest/templates/basic/testcase/__pycache__/test_gateway.cpython-310-pyte
|
|
83
85
|
WebsocketTest/templates/basic/testcase/__pycache__/test_gateway1.cpython-310-pytest-8.2.2.pyc,sha256=9_jiZtyNwQfXe-Jz1acHxrwz5snYfBngqgTFtIWhRNA,5684
|
84
86
|
WebsocketTest/templates/basic/testcase/__pycache__/test_gatewaybak.cpython-310-pytest-8.2.2.pyc,sha256=L50gNeQvSuFq2e-arnmKqYJR75ZrThiVaiIow5UUTjo,5587
|
85
87
|
WebsocketTest/templates/basic/testcase/__pycache__/test_limin.cpython-310-pytest-8.2.2.pyc,sha256=hx7j0GNxlgTscC36dUBHeo401Mo3bRt1cq6t7e7dDSA,3434
|
86
|
-
websockettest-1.0.
|
87
|
-
websockettest-1.0.
|
88
|
-
websockettest-1.0.
|
89
|
-
websockettest-1.0.
|
90
|
-
websockettest-1.0.
|
88
|
+
websockettest-1.0.17.dist-info/METADATA,sha256=Fz8bn4cCgTKszTPIunMV24FerZbexid_x6ACtBc0XcA,334
|
89
|
+
websockettest-1.0.17.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
90
|
+
websockettest-1.0.17.dist-info/entry_points.txt,sha256=r5FtB9A16mLy9v8B77rzZOxgn63ao8z4FTyvJ2KS3jo,108
|
91
|
+
websockettest-1.0.17.dist-info/top_level.txt,sha256=2iF1gZSbXLjVFOe5ZKQiCLC1FzAwhcQUM88yGi-vrCU,14
|
92
|
+
websockettest-1.0.17.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|