pytest-dsl 0.15.2__py3-none-any.whl → 0.15.4__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.
- pytest_dsl/__init__.py +52 -3
- pytest_dsl/cli.py +8 -1
- pytest_dsl/core/context.py +59 -5
- pytest_dsl/core/custom_keyword_manager.py +14 -8
- pytest_dsl/core/dsl_executor.py +28 -8
- pytest_dsl/core/global_context.py +38 -8
- pytest_dsl/core/http_client.py +29 -5
- pytest_dsl/core/keyword_utils.py +7 -0
- pytest_dsl/core/remote_server_registry.py +333 -0
- pytest_dsl/core/utils.py +34 -27
- pytest_dsl/core/validator.py +71 -1
- pytest_dsl/core/variable_providers.py +202 -0
- pytest_dsl/core/variable_utils.py +45 -38
- pytest_dsl/core/yaml_loader.py +176 -36
- pytest_dsl/keywords/http_keywords.py +9 -5
- pytest_dsl/remote/__init__.py +63 -1
- {pytest_dsl-0.15.2.dist-info → pytest_dsl-0.15.4.dist-info}/METADATA +1 -1
- {pytest_dsl-0.15.2.dist-info → pytest_dsl-0.15.4.dist-info}/RECORD +22 -20
- {pytest_dsl-0.15.2.dist-info → pytest_dsl-0.15.4.dist-info}/WHEEL +0 -0
- {pytest_dsl-0.15.2.dist-info → pytest_dsl-0.15.4.dist-info}/entry_points.txt +0 -0
- {pytest_dsl-0.15.2.dist-info → pytest_dsl-0.15.4.dist-info}/licenses/LICENSE +0 -0
- {pytest_dsl-0.15.2.dist-info → pytest_dsl-0.15.4.dist-info}/top_level.txt +0 -0
pytest_dsl/remote/__init__.py
CHANGED
@@ -4,4 +4,66 @@ Remote module for pytest-dsl.
|
|
4
4
|
This module provides remote keyword server functionality.
|
5
5
|
"""
|
6
6
|
|
7
|
-
__version__ = "0.
|
7
|
+
__version__ = "0.15.4"
|
8
|
+
|
9
|
+
# 导出远程关键字管理器和相关功能
|
10
|
+
from .keyword_client import remote_keyword_manager, RemoteKeywordManager, RemoteKeywordClient
|
11
|
+
from .keyword_server import RemoteKeywordServer
|
12
|
+
from .variable_bridge import VariableBridge
|
13
|
+
|
14
|
+
# 导出便捷函数
|
15
|
+
|
16
|
+
|
17
|
+
def register_remote_server(url, alias, api_key=None, sync_config=None):
|
18
|
+
"""注册远程关键字服务器的便捷函数
|
19
|
+
|
20
|
+
Args:
|
21
|
+
url: 服务器URL
|
22
|
+
alias: 服务器别名
|
23
|
+
api_key: API密钥(可选)
|
24
|
+
sync_config: 变量同步配置(可选)
|
25
|
+
|
26
|
+
Returns:
|
27
|
+
bool: 是否成功连接
|
28
|
+
"""
|
29
|
+
return remote_keyword_manager.register_remote_server(url, alias, api_key, sync_config)
|
30
|
+
|
31
|
+
|
32
|
+
def register_multiple_servers(servers_config):
|
33
|
+
"""批量注册远程服务器
|
34
|
+
|
35
|
+
Args:
|
36
|
+
servers_config: 服务器配置列表,每个配置包含url、alias等信息
|
37
|
+
|
38
|
+
Returns:
|
39
|
+
dict: 注册结果,键为alias,值为是否成功
|
40
|
+
"""
|
41
|
+
results = {}
|
42
|
+
for server_config in servers_config:
|
43
|
+
if isinstance(server_config, dict):
|
44
|
+
url = server_config.get('url')
|
45
|
+
alias = server_config.get('alias')
|
46
|
+
api_key = server_config.get('api_key')
|
47
|
+
sync_config = server_config.get('sync_config')
|
48
|
+
|
49
|
+
if url and alias:
|
50
|
+
success = register_remote_server(
|
51
|
+
url, alias, api_key, sync_config)
|
52
|
+
results[alias] = success
|
53
|
+
|
54
|
+
return results
|
55
|
+
|
56
|
+
|
57
|
+
# 导出所有公共接口
|
58
|
+
__all__ = [
|
59
|
+
# 核心类
|
60
|
+
'remote_keyword_manager',
|
61
|
+
'RemoteKeywordManager',
|
62
|
+
'RemoteKeywordClient',
|
63
|
+
'RemoteKeywordServer',
|
64
|
+
'VariableBridge',
|
65
|
+
|
66
|
+
# 便捷函数
|
67
|
+
'register_remote_server',
|
68
|
+
'register_multiple_servers',
|
69
|
+
]
|
@@ -1,5 +1,5 @@
|
|
1
|
-
pytest_dsl/__init__.py,sha256=
|
2
|
-
pytest_dsl/cli.py,sha256=
|
1
|
+
pytest_dsl/__init__.py,sha256=kh7TLykNy37PBjppBv0qSXcQ-fCbLTE3apemmC8HYL0,6813
|
2
|
+
pytest_dsl/cli.py,sha256=kuCEp0FOmlbes8CreAugSwYyU8yoU_oG3HzSGSFh2Cs,13246
|
3
3
|
pytest_dsl/conftest_adapter.py,sha256=cevEb0oEZKTZfUrGe1-CmkFByxKhUtjuurBJP7kpLc0,149
|
4
4
|
pytest_dsl/main_adapter.py,sha256=pUIPN_EzY3JCDlYK7yF_OeLDVqni8vtG15G7gVzPJXg,181
|
5
5
|
pytest_dsl/plugin.py,sha256=CEwi-ci2rMevaAl9PwBw2WKXWRbXuHI1IkkDV0I0VIo,2224
|
@@ -7,29 +7,31 @@ pytest_dsl/core/__init__.py,sha256=ersUoxIWSrisxs9GX_STlH4XAbjNxAWUQB0NboaC5zI,3
|
|
7
7
|
pytest_dsl/core/auth_provider.py,sha256=IZfXXrr4Uuc8QHwRPvhHSzNa2fwrqhjYts1xh78D39Q,14861
|
8
8
|
pytest_dsl/core/auto_decorator.py,sha256=9Mga-GB4AzV5nkB6zpfaq8IuHa0KOH8LlFvnWyH_tnU,6623
|
9
9
|
pytest_dsl/core/auto_directory.py,sha256=egyTnVxtGs4P75EIivRauLRPJfN9aZpoGVvp_Ma72AM,2714
|
10
|
-
pytest_dsl/core/context.py,sha256=
|
11
|
-
pytest_dsl/core/custom_keyword_manager.py,sha256=
|
12
|
-
pytest_dsl/core/dsl_executor.py,sha256=
|
10
|
+
pytest_dsl/core/context.py,sha256=9F3aXuKkePO94mTZh4VKYoOeu4U2HKXzlgui4HtEz8c,3044
|
11
|
+
pytest_dsl/core/custom_keyword_manager.py,sha256=SSlsCv3GFMqmtORrqp2I70DvI5vjcBHUgofCgQATbtk,16272
|
12
|
+
pytest_dsl/core/dsl_executor.py,sha256=M6xEBaQOsjaUiiiPG-k-owRU7V5lXs3EPrrDGfDQzo8,61054
|
13
13
|
pytest_dsl/core/dsl_executor_utils.py,sha256=ZJLSYSsiKHqg53d3Bl--ZF8m9abd5kpqdevWl31KEZg,2276
|
14
14
|
pytest_dsl/core/execution_tracker.py,sha256=Pwcxraxt_xkOouq32KBqola-OVfnbaomCoMTyUIqoN4,9476
|
15
|
-
pytest_dsl/core/global_context.py,sha256=
|
15
|
+
pytest_dsl/core/global_context.py,sha256=1wU0I1fd5I9K3rX90hu6BaodynnYRQNFBFhcecO5eQE,4629
|
16
16
|
pytest_dsl/core/hook_manager.py,sha256=rqpcj9tBcxwFpoU2ZAfOWO8P0oyq02Ie_XUjq-9vFc0,2445
|
17
17
|
pytest_dsl/core/hookable_executor.py,sha256=sxkyWF7bSkKzgVoNwUTvtDGOSgFKXXQHR5uYIf-9MaM,3969
|
18
18
|
pytest_dsl/core/hookable_keyword_manager.py,sha256=e_guTVF1tU3pu_uzAUd4xNudFlYth42Ll2ESeRLlpjE,3833
|
19
19
|
pytest_dsl/core/hookspecs.py,sha256=fBmvs8uIV9_M_FUQBgvHSDn51Z6ABXo9k0okf80wzeo,5071
|
20
|
-
pytest_dsl/core/http_client.py,sha256=
|
20
|
+
pytest_dsl/core/http_client.py,sha256=h4RMCkfMYlKx2kdF53mcCJ-udux9q7LxsIeSXwXZt6o,16263
|
21
21
|
pytest_dsl/core/http_request.py,sha256=6e-gTztH3wu2eSW27Nc0uPmyWjB6oBwndx8Vqnu5uyg,60030
|
22
22
|
pytest_dsl/core/keyword_loader.py,sha256=3GQ4w5Zf2XdkoJ85uYXh9YB93_8L8OAb7vvuKE3-gVA,13864
|
23
23
|
pytest_dsl/core/keyword_manager.py,sha256=5WZWwlYk74kGHh1T6WjCuVd8eelq2-UEXvDIe4U7rEI,7730
|
24
|
-
pytest_dsl/core/keyword_utils.py,sha256=
|
24
|
+
pytest_dsl/core/keyword_utils.py,sha256=ONZxQJ0W7_knLGJpRdZvZ1srHLFybMuUZKI1wxoeaJA,20195
|
25
25
|
pytest_dsl/core/lexer.py,sha256=o_EJIadfhgyCImI73Y9ybqlBE9AisgA6nOhxpXNlaMw,4648
|
26
26
|
pytest_dsl/core/parser.py,sha256=SvTQ4jgMSe3MITSu9PftraElPAzVaBbNPHMEk1H_lFY,16597
|
27
27
|
pytest_dsl/core/parsetab.py,sha256=o4XbFKwpsi3fYmfI_F6u5NSM61Qp6gTx-Sfh1jDINxI,31767
|
28
28
|
pytest_dsl/core/plugin_discovery.py,sha256=3pt3EXJ7EPF0rkUlyDZMVHkIiTy2vicdIIQJkrHXZjY,8305
|
29
|
-
pytest_dsl/core/
|
30
|
-
pytest_dsl/core/
|
31
|
-
pytest_dsl/core/
|
32
|
-
pytest_dsl/core/
|
29
|
+
pytest_dsl/core/remote_server_registry.py,sha256=MqAf2w0W_5D-zSClD87f9JDNQv-irZ4BrS03dcOFGU0,11046
|
30
|
+
pytest_dsl/core/utils.py,sha256=yAe-PtPTB7gSy8xa_V9UBk4L5SELvTEKiAhkiG4_2rM,5374
|
31
|
+
pytest_dsl/core/validator.py,sha256=2mjw7yiDEMu80FjJ_y2KCS-vA1Tb4kotrKkmLwpRe8Y,17420
|
32
|
+
pytest_dsl/core/variable_providers.py,sha256=ee81Pzy3GlU7q4taoSSd5E7YW87iPdusH0TfxV-0aUw,6198
|
33
|
+
pytest_dsl/core/variable_utils.py,sha256=5vB_0fnVaYyZ6rv23tv7kAyp_4xM8F3FIjxYrx3xen0,13927
|
34
|
+
pytest_dsl/core/yaml_loader.py,sha256=Lvut8-RKaVC4Gfv09XTVoagX1W1JKXgiJFMv8P8R9o0,14372
|
33
35
|
pytest_dsl/core/yaml_vars.py,sha256=PqbCGT_TmOXH09Pmm72sYtMEvV-sp9ocLqkuAUQYhhc,5047
|
34
36
|
pytest_dsl/docs/custom_keywords.md,sha256=03dA_GeHxoLixA8Sqch14bhTbxXQCSfz9Kvged2fMCo,4381
|
35
37
|
pytest_dsl/examples/__init__.py,sha256=FKkyLFOjxfC6XnJlW7iK_BUIX9dTIpXgoYN1pfs91ss,84
|
@@ -65,17 +67,17 @@ pytest_dsl/examples/quickstart/loops.auto,sha256=ZNZ6qP636v8QMY8QRyTUBB43gWCsqHb
|
|
65
67
|
pytest_dsl/keywords/__init__.py,sha256=5aiyPU_t1UiB2MEZ6M9ffOKnV1mFT_2YHxnZvyWaBNI,372
|
66
68
|
pytest_dsl/keywords/assertion_keywords.py,sha256=obW06H_3AizsvEM_9VE2JVuwvgrNVqP1kUTDd3U1SMk,23240
|
67
69
|
pytest_dsl/keywords/global_keywords.py,sha256=4yw5yeXoGf_4W26F39EA2Pp-mH9GiKGy2jKgFO9a_wM,2509
|
68
|
-
pytest_dsl/keywords/http_keywords.py,sha256=
|
70
|
+
pytest_dsl/keywords/http_keywords.py,sha256=NMOLqD9m7iNLIYKnkQiinZilgLNopd2QzxRgmnliaNc,28976
|
69
71
|
pytest_dsl/keywords/system_keywords.py,sha256=hjsACYER87rseSj4thBFnjDqe6At5hBT4Gjifj4ulDE,24470
|
70
|
-
pytest_dsl/remote/__init__.py,sha256=
|
72
|
+
pytest_dsl/remote/__init__.py,sha256=NyCyZ7VCjh0kJbdheSScNz-aA5UIFAJJXvvFIvoYCio,1844
|
71
73
|
pytest_dsl/remote/hook_manager.py,sha256=0hwRKP8yhcnfAnrrnZGVT-S0TBgo6c0A4qO5XRpvV1U,4899
|
72
74
|
pytest_dsl/remote/keyword_client.py,sha256=BL80MOaLroUi0v-9sLtkJ55g1R0Iw9SE1k11Ifwqx-I,17292
|
73
75
|
pytest_dsl/remote/keyword_server.py,sha256=vGIE3Bhh461xX_u1U-Cf5nrWL2GQFYdtQdcMWfFIYgE,22320
|
74
76
|
pytest_dsl/remote/variable_bridge.py,sha256=dv-d3Gq9ttvvrXM1fdlLtoSOPB6vRp0_GBOwX4wvcy8,7121
|
75
77
|
pytest_dsl/templates/keywords_report.html,sha256=7x84iq6hi08nf1iQ95jZ3izcAUPx6JFm0_8xS85CYws,31241
|
76
|
-
pytest_dsl-0.15.
|
77
|
-
pytest_dsl-0.15.
|
78
|
-
pytest_dsl-0.15.
|
79
|
-
pytest_dsl-0.15.
|
80
|
-
pytest_dsl-0.15.
|
81
|
-
pytest_dsl-0.15.
|
78
|
+
pytest_dsl-0.15.4.dist-info/licenses/LICENSE,sha256=Rguy8cb9sYhK6cmrBdXvwh94rKVDh2tVZEWptsHIsVM,1071
|
79
|
+
pytest_dsl-0.15.4.dist-info/METADATA,sha256=SFajau629WciJAm3w3txzx-KPxghyiCPTMpAVmSaYuM,29655
|
80
|
+
pytest_dsl-0.15.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
81
|
+
pytest_dsl-0.15.4.dist-info/entry_points.txt,sha256=PLOBbH02OGY1XR1JDKIZB1Em87loUvbgMRWaag-5FhY,204
|
82
|
+
pytest_dsl-0.15.4.dist-info/top_level.txt,sha256=4CrSx4uNqxj7NvK6k1y2JZrSrJSzi-UvPZdqpUhumWM,11
|
83
|
+
pytest_dsl-0.15.4.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|