Compare commits

...
2 Commits
Author SHA1 Message Date
xst 2b4b2a4050 fix(pages): 搜索后等待结果生效 + 点行前校验目标运单,杜绝点错行
根因: 点击查询是异步请求, 旧代码不等响应就点固定列第一行——
点的是过滤前的旧列表。未过滤列表第一行可能是个 6 月的老单,
导致审核/打款打在无关运单上, 测试假通过(车队长单实际未处理)。

- _click_search(order_no): 等待第一行包含单号或出现稳定空态
  (空态需连续两次轮询确认, 规避 vxe-table 加载瞬时空块)
- _click_table_action(order_no): 点击前校验主表第一行包含目标单号
- 四个流程方法(核算/审核/财务打款/货主打款)全部穿透 order_no

验收: 假单号探测被正确拒绝; TC-D2S-001 通过且 DB 终态确认真通;
TC-D2S-002 如实失败暴露系统缺陷(核算点击未生效, 审核列表无此单)。
2026-09-02 14:32:42 +08:00
xst 2aca405267 refactor(pages): PO 层框架化 — 细粒度操作 + 显式等待 + 消除静默吞异常
DriverFreightFlowPage (APP):
- 流程方法拆为单一职责的细粒度操作(open_freight_tab/fill_quantity/upload_photo_from_album/...),
  流程方法仅做编排,公共 API 不变,用例零改动
- 移除全部 implicitly_wait 全局副作用,每步显式等待目标元素
- 容错点击(已知晓/确定)改为 _tap_by_text_if_present,跳过时记录 warning

FreightAccountingPage (Web):
- _go/_click_search 改显式等待(搜索框出现/列表数据行或空态),替代固定 2s/1s sleep
- 表格等待升级为 td:visible,避开 vxe-table 固定列隐藏占位单元格
- 点击行操作按钮后显式等待弹窗出现,替代固定 800ms
- 车队长下拉选择改显式等待下拉项渲染
- 可选弹窗操作统一收敛到 _try_click,跳过时记录 warning;关键确认按钮保持严格

两条 E2E 用例在真实环境回归通过(TC-D2S-001 116s / TC-D2S-002 112s)。
2026-09-02 11:59:46 +08:00
310 changed files with 78701 additions and 168 deletions
+1
View File
@@ -5,3 +5,4 @@ __pycache__/
.idea/
output/excel_reports/
.vscode/
Binary file not shown.

Before

Width:  |  Height:  |  Size: 375 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 336 KiB

@@ -1 +0,0 @@
{"name": "TC-D2S-001 司机APP接单到管理端核算打款完整流程", "status": "passed", "description": "\n 用例ID: TC-D2S-001\n 用例名称: 司机APP接单到管理端核算打款完整流程\n 优先级: P0\n 标签: cross_end, smoke\n\n 验证从司机 APP 接单到管理端核算打款的完整跨端业务流程。\n ", "steps": [{"name": "Phase 1: 司机 APP — 接单流程", "status": "passed", "attachments": [{"name": "step_accept_order", "source": "fb375f07-77e4-4c9c-9eea-32bbb1d6d7e7-attachment.png", "type": "image/png"}], "start": 1786934016328, "stop": 1786934024642}, {"name": "Phase 1: 司机 APP — 装货流程", "status": "passed", "attachments": [{"name": "step_load_goods", "source": "c0f3c89c-1537-47c5-adca-f8ad2b6f0911-attachment.png", "type": "image/png"}], "start": 1786934024642, "stop": 1786934047412}, {"name": "Phase 1: 司机 APP — 卸货流程", "status": "passed", "attachments": [{"name": "step_unload_goods", "source": "0c9e15e6-9f3b-4cf8-86d1-249db82e25ea-attachment.png", "type": "image/png"}], "start": 1786934047412, "stop": 1786934061530}, {"name": "Phase 1: 司机 APP — 获取运输单号", "status": "passed", "start": 1786934061530, "stop": 1786934067973}, {"name": "Phase 2: Web管理端 — 运费核算(首次查询无数据时自动 SQL 重试)", "status": "passed", "attachments": [{"name": "freight_accounting_done", "source": "90d014c4-48d6-4bcc-91e9-2d24313e7598-attachment.png", "type": "image/png"}], "start": 1786934067973, "stop": 1786934079069}, {"name": "Phase 2: Web管理端 — 运单审核", "status": "passed", "attachments": [{"name": "waybill_audit_done", "source": "dfc7e87f-ead8-499a-a7af-a3982f0ae5f9-attachment.png", "type": "image/png"}], "start": 1786934079069, "stop": 1786934085850}, {"name": "Phase 2: Web管理端 — 垫资-财务打款", "status": "passed", "attachments": [{"name": "finance_payment_done", "source": "4962d607-95e6-4ecb-b522-9ad7dbf8280a-attachment.png", "type": "image/png"}], "start": 1786934085850, "stop": 1786934093832}, {"name": "Phase 2: Web管理端 — 垫资-货主打款", "status": "passed", "attachments": [{"name": "shipper_payment_done", "source": "96ae7622-3ad5-4b69-a154-2883f327ff97-attachment.png", "type": "image/png"}], "start": 1786934093832, "stop": 1786934101384}], "attachments": [{"name": "log", "source": "95e05bb0-197e-4662-85d6-4224b0e4a427-attachment.txt", "type": "text/plain"}], "start": 1786934007632, "stop": 1786934101414, "uuid": "77514abb-865c-424d-801d-65edba8090fb", "historyId": "d60b1693bd6ca247bf6278f0d4980cb3", "testCaseId": "d60b1693bd6ca247bf6278f0d4980cb3", "fullName": "tests.cross_end.test_driver_to_settlement.TestDriverToSettlement#test_driver_to_settlement_full_flow", "labels": [{"name": "feature", "value": "跨端 E2E — 司机接单到管理端核算打款"}, {"name": "story", "value": "司机APP接单到管理端核算打款完整流程"}, {"name": "tag", "value": "cross_end"}, {"name": "tag", "value": "smoke"}, {"name": "severity", "value": "blocker"}, {"name": "epic", "value": "运八网络货运平台"}, {"name": "tag", "value": "cross_end"}, {"name": "tag", "value": "p0"}, {"name": "tag", "value": "smoke"}, {"name": "parentSuite", "value": "tests.cross_end"}, {"name": "suite", "value": "test_driver_to_settlement"}, {"name": "subSuite", "value": "TestDriverToSettlement"}, {"name": "host", "value": "yunba-126"}, {"name": "thread", "value": "31316-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.cross_end.test_driver_to_settlement"}], "titlePath": ["tests", "cross_end", "test_driver_to_settlement.py", "TestDriverToSettlement"]}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

@@ -1 +0,0 @@
{"uuid": "773e6517-8b9c-4a10-ada2-4c578c945693", "children": ["7ddd6617-6303-48e4-b117-5f979df44be6"], "befores": [{"name": "admin_page", "status": "passed", "start": 1786934102545, "stop": 1786934103090}], "afters": [{"name": "admin_page::1", "status": "passed", "attachments": [{"name": "失败截图-admin_chromium", "source": "1d3adb1a-3535-4c0e-855b-9a0542c31dbb-attachment.png", "type": "image/png"}], "start": 1786934221102, "stop": 1786934221949}, {"name": "admin_page::<lambda>", "start": 1786934221949}], "start": 1786934102545, "stop": 1786934221949}
Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

@@ -1 +0,0 @@
{"uuid": "0aeed1cc-6597-4513-a623-b021a72faec0", "children": ["77514abb-865c-424d-801d-65edba8090fb"], "befores": [{"name": "logger", "status": "passed", "start": 1786934007628, "stop": 1786934007632}], "afters": [{"name": "logger::<lambda>", "start": 1786934101417}], "start": 1786934007628, "stop": 1786934101417}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 310 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 299 KiB

@@ -1 +0,0 @@
{"uuid": "ff78dc57-44b2-4c8c-8654-122680984bc0", "children": ["7ddd6617-6303-48e4-b117-5f979df44be6"], "befores": [{"name": "cross_end_context", "status": "passed", "start": 1786934107557, "stop": 1786934107557}], "afters": [{"name": "cross_end_context::<lambda>", "start": 1786934220511}], "start": 1786934107557, "stop": 1786934220511}
@@ -1 +0,0 @@
{"uuid": "d1ec18e1-e048-4c95-b1a1-f12d7e0f508f", "children": ["77514abb-865c-424d-801d-65edba8090fb", "7ddd6617-6303-48e4-b117-5f979df44be6"], "befores": [{"name": "config", "status": "passed", "start": 1786934001738, "stop": 1786934001742}], "afters": [{"name": "config::<lambda>", "start": 1786934221952}], "start": 1786934001738, "stop": 1786934221952}
@@ -1 +0,0 @@
{"uuid": "22611261-d282-45fe-ac8e-e788106017e2", "children": ["77514abb-865c-424d-801d-65edba8090fb"], "befores": [{"name": "cross_end_context", "status": "passed", "start": 1786934007628, "stop": 1786934007628}], "afters": [{"name": "cross_end_context::<lambda>", "start": 1786934101418}], "start": 1786934007628, "stop": 1786934101418}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 336 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

@@ -0,0 +1 @@
{"uuid": "a795e475-9223-4625-b58b-5b7c8d62645c", "children": ["93ca4ce1-4cbe-40aa-8b60-eea9199329f7"], "befores": [{"name": "admin_page", "status": "passed", "start": 1788321424291, "stop": 1788321424828}], "afters": [{"name": "admin_page::1", "status": "passed", "start": 1788321535645, "stop": 1788321536233}, {"name": "admin_page::<lambda>", "start": 1788321536233}], "start": 1788321424291, "stop": 1788321536233}
@@ -0,0 +1,18 @@
2026-09-02 11:57:09 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 11:57:09 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程开始
2026-09-02 11:57:09 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 11:57:28 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-09-02 11:57:55 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-09-02 11:58:12 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-09-02 11:58:14 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026090100011154060147
2026-09-02 11:58:26 [WARNING] tests.pages.admin.freight_accounting_page — 等待列表稳定超时(10000ms),继续按原逻辑执行
2026-09-02 11:58:34 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成(车队长全额收款): RHJC040026090100011154060147
2026-09-02 11:58:40 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026090100011154060147
2026-09-02 11:58:48 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026090100011154060147
2026-09-02 11:58:55 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026090100011154060147
2026-09-02 11:58:55 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 11:58:55 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程结束!
2026-09-02 11:58:55 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026090100011154060147
2026-09-02 11:58:55 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-09-02 11:58:55 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-09-02 11:58:55 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
@@ -0,0 +1 @@
{"uuid": "650cbee7-06fd-441b-b443-86545e0ce1f5", "children": ["93ca4ce1-4cbe-40aa-8b60-eea9199329f7"], "befores": [{"name": "ensure_admin_login", "status": "passed", "start": 1788321429163, "stop": 1788321429163}], "afters": [{"name": "ensure_admin_login::<lambda>", "start": 1788321535356}], "start": 1788321429163, "stop": 1788321535356}
@@ -1 +0,0 @@
{"uuid": "76bab243-771c-4cff-9547-e7e0fa175cd1", "children": ["77514abb-865c-424d-801d-65edba8090fb"], "befores": [{"name": "app_driver", "status": "passed", "start": 1786934002251, "stop": 1786934007627}], "afters": [{"name": "app_driver::1", "status": "passed", "start": 1786934101422, "stop": 1786934101706}, {"name": "app_driver::<lambda>", "start": 1786934101706}], "start": 1786934002251, "stop": 1786934101706}
@@ -0,0 +1 @@
{"uuid": "ca8220b0-8dbe-437f-922e-8546f1bd2fb0", "children": ["93ca4ce1-4cbe-40aa-8b60-eea9199329f7"], "befores": [{"name": "ensure_driver_login", "status": "passed", "start": 1788321429164, "stop": 1788321429164}], "afters": [{"name": "ensure_driver_login::<lambda>", "start": 1788321535354}], "start": 1788321429164, "stop": 1788321535354}
Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

@@ -1 +0,0 @@
{"uuid": "a0aa26d0-b619-4d40-860f-7e9eff4eb99e", "children": ["77514abb-865c-424d-801d-65edba8090fb"], "befores": [{"name": "admin_page", "status": "passed", "start": 1786934001742, "stop": 1786934002251}], "afters": [{"name": "admin_page::1", "status": "passed", "start": 1786934101707, "stop": 1786934102526}, {"name": "admin_page::<lambda>", "start": 1786934102527}], "start": 1786934001742, "stop": 1786934102527}
@@ -0,0 +1 @@
{"uuid": "b6152fb1-1f9f-49d6-bb1d-61d9af54986b", "children": ["93ca4ce1-4cbe-40aa-8b60-eea9199329f7"], "befores": [{"name": "config", "status": "passed", "start": 1788321424286, "stop": 1788321424291}], "afters": [{"name": "config::<lambda>", "start": 1788321536237}], "start": 1788321424286, "stop": 1788321536237}
@@ -0,0 +1 @@
{"uuid": "830098e6-b30e-483a-9d9e-ae2b353c2263", "children": ["93ca4ce1-4cbe-40aa-8b60-eea9199329f7"], "befores": [{"name": "driver_android_config", "status": "passed", "start": 1788321424291, "stop": 1788321424291}], "afters": [{"name": "driver_android_config::<lambda>", "start": 1788321536234}], "start": 1788321424291, "stop": 1788321536234}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

@@ -1,17 +0,0 @@
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:83 ============================================================
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:84 跨端 E2E: 司机APP → 管理端核算打款 完整流程开始
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:85 ============================================================
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:102 -> 接单流程完成
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:107 -> 装货流程完成
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:112 -> 卸货流程完成
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:117 -> 运输单号: RHJC040026081300021030440013
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:129 -> 运费核算完成: RHJC040026081300021030440013
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:134 -> 运单审核完成: RHJC040026081300021030440013
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:138 -> 垫资-财务打款完成: RHJC040026081300021030440013
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:142 -> 垫资-货主打款完成: RHJC040026081300021030440013
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:147 ============================================================
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:148 跨端 E2E: 司机APP → 管理端核算打款 完整流程结束!
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:149 运输单号: RHJC040026081300021030440013
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:150 核算完成: True
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:151 审核完成: True
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:152 ============================================================
Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

@@ -1 +0,0 @@
{"uuid": "f4adfd0f-a510-4886-ad09-13655906a531", "children": ["77514abb-865c-424d-801d-65edba8090fb", "7ddd6617-6303-48e4-b117-5f979df44be6"], "befores": [{"name": "admin_config", "status": "passed", "start": 1786934001742, "stop": 1786934001742}], "afters": [{"name": "admin_config::<lambda>", "start": 1786934221952}], "start": 1786934001742, "stop": 1786934221952}
@@ -1,10 +0,0 @@
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:196 ============================================================
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:197 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程开始
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:198 ============================================================
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:215 -> 接单流程完成
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:220 -> 装货流程完成
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:225 -> 卸货流程完成
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:230 -> 运输单号: RHJC040026081300021032230014
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:243 -> 运费核算完成(车队长全额收款): RHJC040026081300021032230014
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:248 -> 运单审核完成: RHJC040026081300021032230014
INFO  tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:252 -> 垫资-财务打款完成: RHJC040026081300021032230014
@@ -1 +0,0 @@
{"uuid": "d35f80a5-503a-49fa-9c5a-c1f8b9511ec1", "children": ["77514abb-865c-424d-801d-65edba8090fb"], "befores": [{"name": "ensure_admin_login", "status": "passed", "start": 1786934007628, "stop": 1786934007628}], "afters": [{"name": "ensure_admin_login::<lambda>", "start": 1786934101419}], "start": 1786934007628, "stop": 1786934101419}
@@ -1 +0,0 @@
{"uuid": "ed843a71-f2fd-4e3f-be14-f21cc777def2", "children": ["77514abb-865c-424d-801d-65edba8090fb", "7ddd6617-6303-48e4-b117-5f979df44be6"], "befores": [{"name": "driver_android_config", "status": "passed", "start": 1786934001742, "stop": 1786934001742}], "afters": [{"name": "driver_android_config::<lambda>", "start": 1786934221951}], "start": 1786934001742, "stop": 1786934221951}
@@ -0,0 +1,18 @@
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:196 ============================================================
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:197 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程开始
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:198 ============================================================
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:215 -> 接单流程完成
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:220 -> 装货流程完成
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:225 -> 卸货流程完成
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:230 -> 运输单号: RHJC040026090100011154060147
WARNING tests.pages.admin.freight_accounting_page:freight_accounting_page.py:79 等待列表稳定超时(10000ms),继续按原逻辑执行
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:243 -> 运费核算完成(车队长全额收款): RHJC040026090100011154060147
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:248 -> 运单审核完成: RHJC040026090100011154060147
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:252 -> 垫资-财务打款完成: RHJC040026090100011154060147
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:256 -> 垫资-货主打款完成: RHJC040026090100011154060147
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:261 ============================================================
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:262 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程结束!
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:263 运输单号: RHJC040026090100011154060147
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:264 核算完成: True
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:265 审核完成: True
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:266 ============================================================
@@ -1 +0,0 @@
{"uuid": "4794fd5a-f710-41ff-9285-9b06c5fe5716", "children": ["7ddd6617-6303-48e4-b117-5f979df44be6"], "befores": [{"name": "ensure_admin_login", "status": "passed", "start": 1786934107557, "stop": 1786934107557}], "afters": [{"name": "ensure_admin_login::<lambda>", "start": 1786934220512}], "start": 1786934107557, "stop": 1786934220512}
@@ -0,0 +1 @@
{"uuid": "5e0ae3a3-aba3-4b67-a451-ec9f2c5ba0c4", "children": ["93ca4ce1-4cbe-40aa-8b60-eea9199329f7"], "befores": [{"name": "app_driver", "status": "passed", "start": 1788321424828, "stop": 1788321429163}], "afters": [{"name": "app_driver::1", "status": "passed", "start": 1788321535357, "stop": 1788321535643}, {"name": "app_driver::<lambda>", "start": 1788321535643}], "start": 1788321424828, "stop": 1788321535643}
@@ -1 +0,0 @@
{"uuid": "6e9ee2ee-e31e-49cd-ac2d-0c6cc03f3bce", "children": ["7ddd6617-6303-48e4-b117-5f979df44be6"], "befores": [{"name": "app_driver", "status": "passed", "start": 1786934103090, "stop": 1786934107557}], "afters": [{"name": "app_driver::1", "status": "passed", "attachments": [{"name": "失败截图-android", "source": "2d7b012c-4a60-4740-b595-3d5c033ed16e-attachment.png", "type": "image/png"}], "start": 1786934220513, "stop": 1786934221100}, {"name": "app_driver::<lambda>", "start": 1786934221100}], "start": 1786934103090, "stop": 1786934221100}
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

@@ -1 +0,0 @@
{"uuid": "084008e2-d4f2-4380-8623-a86224003c19", "children": ["77514abb-865c-424d-801d-65edba8090fb"], "befores": [{"name": "ensure_driver_login", "status": "passed", "start": 1786934007628, "stop": 1786934007628}], "afters": [{"name": "ensure_driver_login::<lambda>", "start": 1786934101419}], "start": 1786934007628, "stop": 1786934101419}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 374 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

@@ -0,0 +1 @@
{"name": "TC-D2S-002 司机APP接单到管理端核算打款-车队长全额收款流程", "status": "passed", "description": "\n 用例ID: TC-D2S-002\n 用例名称: 司机APP接单到管理端核算打款-车队长全额收款流程\n 优先级: P0\n 标签: cross_end, smoke\n\n 验证司机 APP 接单→管理端核算(车队长全额收款模式)→打款的完整跨端业务流程。\n ", "steps": [{"name": "Phase 1: 司机 APP — 接单流程", "status": "passed", "attachments": [{"name": "step_accept_order", "source": "923ac6f8-7ade-41ed-9105-765729e54a59-attachment.png", "type": "image/png"}], "start": 1788321436663, "stop": 1788321448129}, {"name": "Phase 1: 司机 APP — 装货流程", "status": "passed", "attachments": [{"name": "step_load_goods", "source": "f38afbaa-22a8-4790-b479-b91a532191b4-attachment.png", "type": "image/png"}], "start": 1788321448129, "stop": 1788321475076}, {"name": "Phase 1: 司机 APP — 卸货流程", "status": "passed", "attachments": [{"name": "step_unload_goods", "source": "ef889c88-d2d8-4d8c-b526-8f2dcc93d433-attachment.png", "type": "image/png"}], "start": 1788321475076, "stop": 1788321492274}, {"name": "Phase 1: 司机 APP — 获取运输单号", "status": "passed", "start": 1788321492274, "stop": 1788321494502}, {"name": "Phase 2: Web管理端 — 运费核算(车队长全额收款模式)", "status": "passed", "attachments": [{"name": "freight_accounting_done", "source": "bb6e3c3d-89c5-4af2-b086-2171b4822acb-attachment.png", "type": "image/png"}], "start": 1788321494502, "stop": 1788321514703}, {"name": "Phase 2: Web管理端 — 运单审核", "status": "passed", "attachments": [{"name": "waybill_audit_done", "source": "2136c4de-d7a5-4a44-9a08-9c94c6863390-attachment.png", "type": "image/png"}], "start": 1788321514703, "stop": 1788321520185}, {"name": "Phase 2: Web管理端 — 垫资-财务打款", "status": "passed", "attachments": [{"name": "finance_payment_done", "source": "667b9d22-79b9-41e4-bbb6-6a317b903872-attachment.png", "type": "image/png"}], "start": 1788321520185, "stop": 1788321528453}, {"name": "Phase 2: Web管理端 — 垫资-货主打款", "status": "passed", "attachments": [{"name": "shipper_payment_done", "source": "4390870e-7bec-4dcb-aa5f-8601c027a9bd-attachment.png", "type": "image/png"}], "start": 1788321528453, "stop": 1788321535349}], "attachments": [{"name": "log", "source": "a66fa2d1-4074-40eb-8baf-dcc2d29e2fef-attachment.txt", "type": "text/plain"}, {"name": "stdout", "source": "52b2615e-aa37-4f78-b1ff-3635df36aec5-attachment.txt", "type": "text/plain"}], "start": 1788321429165, "stop": 1788321535350, "uuid": "93ca4ce1-4cbe-40aa-8b60-eea9199329f7", "historyId": "e0e0770b4cd0f6646da9121031e84047", "testCaseId": "e0e0770b4cd0f6646da9121031e84047", "fullName": "tests.cross_end.test_driver_to_settlement.TestDriverToSettlementTeamLeader#test_driver_to_settlement_team_leader_flow", "labels": [{"name": "tag", "value": "cross_end"}, {"name": "epic", "value": "运八网络货运平台"}, {"name": "story", "value": "司机APP接单到管理端核算打款-车队长全额收款流程"}, {"name": "severity", "value": "blocker"}, {"name": "tag", "value": "smoke"}, {"name": "feature", "value": "跨端 E2E — 司机接单到管理端核算打款"}, {"name": "tag", "value": "cross_end"}, {"name": "tag", "value": "p0"}, {"name": "tag", "value": "smoke"}, {"name": "parentSuite", "value": "tests.cross_end"}, {"name": "suite", "value": "test_driver_to_settlement"}, {"name": "subSuite", "value": "TestDriverToSettlementTeamLeader"}, {"name": "host", "value": "yunba-126"}, {"name": "thread", "value": "10272-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.cross_end.test_driver_to_settlement"}], "titlePath": ["tests", "cross_end", "test_driver_to_settlement.py", "TestDriverToSettlementTeamLeader"]}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

@@ -0,0 +1 @@
{"uuid": "5a28ea91-7b91-446e-8dbc-4329f6c3e59f", "children": ["93ca4ce1-4cbe-40aa-8b60-eea9199329f7"], "befores": [{"name": "admin_config", "status": "passed", "start": 1788321424291, "stop": 1788321424291}], "afters": [{"name": "admin_config::<lambda>", "start": 1788321536236}], "start": 1788321424291, "stop": 1788321536236}
@@ -1 +0,0 @@
{"uuid": "d94d588b-344e-4864-8a6a-dff5d57c291b", "children": ["7ddd6617-6303-48e4-b117-5f979df44be6"], "befores": [{"name": "logger", "status": "passed", "start": 1786934107557, "stop": 1786934107557}], "afters": [{"name": "logger::<lambda>", "start": 1786934220509}], "start": 1786934107557, "stop": 1786934220509}
Binary file not shown.

After

Width:  |  Height:  |  Size: 336 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 375 KiB

@@ -1 +0,0 @@
{"uuid": "db3b44eb-71d9-40bb-88c9-4a982d4b614f", "children": ["7ddd6617-6303-48e4-b117-5f979df44be6"], "befores": [{"name": "ensure_driver_login", "status": "passed", "start": 1786934107557, "stop": 1786934107557}], "afters": [{"name": "ensure_driver_login::<lambda>", "start": 1786934220512}], "start": 1786934107557, "stop": 1786934220512}
@@ -0,0 +1 @@
{"uuid": "2c4b3c16-fb92-41f9-8fc0-10f6f713d79f", "children": ["93ca4ce1-4cbe-40aa-8b60-eea9199329f7"], "befores": [{"name": "logger", "status": "passed", "start": 1788321429164, "stop": 1788321429164}], "afters": [{"name": "logger::<lambda>", "start": 1788321535350}], "start": 1788321429164, "stop": 1788321535350}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

@@ -0,0 +1 @@
{"uuid": "ab303ace-713c-4c19-92fa-96a1d737fb32", "children": ["93ca4ce1-4cbe-40aa-8b60-eea9199329f7"], "befores": [{"name": "cross_end_context", "status": "passed", "start": 1788321429164, "stop": 1788321429164}], "afters": [{"name": "cross_end_context::<lambda>", "start": 1788321535352}], "start": 1788321429164, "stop": 1788321535352}
+325
View File
@@ -0,0 +1,325 @@
# -*- coding: utf-8 -*-
"""向运营端菜单清单.xlsx 的 Sheet1 填写功能描述(E列)"""
from openpyxl import load_workbook
from openpyxl.styles import Font, Alignment
PATH = r'E:\Desktop\xst_files\test\work\运营端菜单清单.xlsx'
D = {
2: '运营驾驶舱首页:平台车辆/运力统计、货源单与运输单统计、充值/交易/运费/开票总额等看板,含发布货源、订单管理、客服管理等快捷入口',
3: '平台用户账号列表,支持条件查询、新增账号、编辑资料与启用停用',
4: '角色列表与权限分配:维护角色名称/编码/描述/备注,配置菜单与操作权限',
5: '个体货主列表,含税源号/交易状态,支持搜索、导出、默认配置',
6: '个体货主信息表单:录入/维护货主基本信息,支持提交与保存草稿',
7: '企业货主列表:查询/维护企业货主档案',
8: '货主分账记录:货主维度分账流水的查询、导出与确认',
9: '企业货主信息表单,多Tab维护:企业信息/发票资质/发票信息/地址/承运服务/员工/多客户/合同/权限/快钱账户',
10: '车队列表:支持查询、新增、导入、导出、一键开启',
11: '司机列表:支持查询、导入、导出、一键开账号、批量签署委托合同',
12: '平台车辆列表:查询/维护平台备案车辆信息',
13: '车辆实时位置地图(高德):查看平台车辆当前位置分布与单车轨迹',
14: '运输途中停车异常报警列表:监控异常停留车辆',
15: '车辆保单管理:车牌号/保险公司/险种等,支持查询、新增、编辑、删除',
16: '车辆维修记录:车牌号/维修地点/维修金额,支持查询、新增、编辑、删除',
17: '车辆违章记录:车牌号/违章地点/罚款金额,支持查询与详情查看',
18: '车辆事故记录:车牌号/事故地点/事故描述,支持查询、新增、编辑、删除',
19: '商品/货物档案管理入口:维护商品名称、类型、计量单位等基础档案',
20: '商品档案列表:查询/新增/编辑/删除商品条目',
21: '商品类型维护(原菜单"商品类型"):管理货物分类字典,含排序/编辑',
22: '计量单位维护(原菜单"单位档案"):管理计量单位,含维护人/更新时间',
23: '车型字典维护:排序号/名称/编辑',
24: '车长字典维护:排序号/名称/编辑',
25: '车宽字典维护:排序号/名称/编辑',
26: '车高字典维护:排序号/名称/编辑',
27: '车辆轴数字典维护',
28: '车辆吨位字典维护',
29: '增值费用类型配置(装卸费等附加费类型字典)',
30: '银行类型字典维护',
31: '银行基础数据维护(银行类型管理页面)',
32: '快钱通道银行类型字典:用于绑卡/打款渠道映射',
33: '银行网点信息维护',
34: '能源卡分类字典维护,支持新增',
35: '司机注册资料审核:支持开通高德账号、司机身份证上报、查看详情',
36: '司机手机号更换审核:对比原/新手机号后确认',
37: '车辆注册资料审核:支持车牌号上报、查看详情',
38: '货主注册资料审核',
39: '车辆维修申请审核',
40: '发票开具申请审核:含发票抬头/税号信息',
41: '运单对账审核:含运费/扣减金额核对',
42: '维修审核流程可视化配置',
43: '开票审核流程可视化配置',
44: '对账审核流程可视化配置',
45: '车队司机入队审核:支持同步运单、开通高德',
46: '车队长(车队)注册审核:支持同步运单、编辑',
47: '车队车辆入队审核',
48: '运单核验:支持确认/还原操作',
49: '浦发银行商户信息管理',
50: '快钱通道商户管理:支持新增商户',
51: '光大银行会员列表管理(EverbrightBillMangement)',
52: '光大银行文件上传与管理(CebFiles)',
53: '光大监管商户号配置管理',
54: '会员账户资金明细查询',
55: '光大银行数据推送记录管理,含取消选择',
56: '光大监管商户列表,含新增',
57: '浦发/快钱账户余额统计,支持实时查询',
58: '光大银行账户余额统计',
59: '平台账户充值操作,含短信验证码校验',
60: '平台分账流水记录查询',
61: '账户资金变更记录查询',
62: '司机/车队长提现记录:含提现编码/金额/标记提现',
63: '平台银行公户管理,含是否默认设置',
64: '支付流水管理(PayFlow):含确认/还原操作',
65: '打款支付明细:含支付凭证/流水号',
66: '提现记录第二版页面:查询提现申请与状态',
67: '收款方编码信息管理',
68: '平台收款记录查询,支持同步收款记录',
69: '车队长收款项记录查询',
70: '彩虹糖(风控)渠道司机审核',
71: '彩虹糖(风控)渠道车辆审核',
72: '彩虹糖司机身份/资料比对(人证比对)',
73: '彩虹糖车辆信息比对',
74: '油站加油消费记录查询(油站支付流水)',
75: '油站(加油站/加气站)信息维护',
76: '货源发布表单,多Tab:发布货源(含OCR识别)/项目货源/常跑路线/指定车队司机/指定承运费率;支持货主搜索、地图选点',
77: '已发布货源列表管理:含接单方式设置、编辑/撤销',
78: '货源大厅:展示待接货源供司机/车队长抢单',
79: '项目制货源管理,多Tab:常跑路线/指定车队司机/指定承运费率,支持创建项目',
80: '货源发布审核:审核通过后货源对外可见',
81: '运单全流程跟踪,多Tab:待装货/待运输/待卸货,支持批量删除',
82: '运单列表管理:支持查询、导出、拆分、开票',
83: '运单GPS轨迹查看(高德地图轨迹回放)',
84: '预付运费管理:处理需预付运费的运单',
85: '预付运费统计数据报表',
86: '预付操作流水记录查询',
87: '证件类异常运单核算处理(证件缺失或不符)',
88: '业务类异常运单核算处理',
89: '运输时长异常运单核算处理(装卸货时间异常)',
90: '货物重量异常运单核算处理(装卸货吨数差异超限)',
91: '运费金额异常运单核算处理',
92: '全部待处理异常运单汇总处理入口',
93: '轨迹异常运单核算处理(无轨迹/轨迹不完整)',
94: '风控规则命中的异常运单处理',
95: '运费核算:计算司机应收运费与服务费(核算口径处理)',
96: '运单业务异常的复核审核',
97: '运单认证审核主列表:审核异常运单处理结果',
98: '运输时长异常的复核审核',
99: '货物重量异常的复核审核',
100: '运费金额异常的复核审核',
101: '承运结算运费核算:运费/服务费/能源费/居间费计算与确认',
102: '货主支付运费处理(货主→平台打款申请)',
103: '异常运单申诉/审核处理',
104: '运输回单签收管理',
105: '财务向司机/车队长打款的审核与执行(平台→司机)',
106: '电子回单(新版)查询管理',
107: '打款后分账记录管理(居间费/清分司机费用等分账流水)',
108: '电子回单列表查询与下载',
109: '货主余额/合并支付处理',
110: '合并打款明细查询(多运单合并支付明细)',
111: '多运单合并付款申请与处理',
112: '财务驳回运单处理与驳回记录查询',
113: '打款流水记录查询(历史打款记录)',
114: '多笔运单合并批量打款处理(菜单原名带"啊"字,系统原始命名如此)',
115: '结算运单审核列表',
116: '垫资模式:平台先行垫付运费给司机的打款处理',
117: '垫资模式:货主向平台还款的处理',
118: '结算清分汇总列表(居间费/税费/司机费用清分结果)',
119: '能源卡账户余额查询',
120: '能源卡充值记录查询',
121: '能源卡消费记录查询',
122: '油站管理(ServiceStationManagement):加油站/加气站信息维护',
123: '油卡消费统计报表(ConsumptionStatistics)',
124: '油卡余额查询(FuelCardBalance)',
125: '加油记录查询(RefuelingRecord)',
126: '油费预付管理:预付油费运单处理',
127: '油卡消费记录查询',
128: '货主/上游客户收款对账处理',
129: '对账单列表查询',
130: '收款单据管理',
131: '收款流水列表查询',
132: '向省网络货运监管平台上报司机信息(云南省)',
133: '向监管平台上报车辆信息',
134: '向监管平台上报路单(电子运单)数据',
135: '向监管平台上报资金流水数据',
136: '监管反馈的业务异常路单处理',
137: '监管反馈的时长异常路单处理',
138: '监管反馈的质量(重量)异常路单处理',
139: '监管反馈的金额异常路单处理',
140: '货主/司机发票索取申请列表与处理',
141: '已开具发票列表查询',
142: '浙样红渠道开票数据列表',
143: '方众渠道数据导出',
144: '运单轨迹数据导出',
145: '运单轨迹数据导出(第二版入口)',
146: '滇运通渠道运单数据导出',
147: '手动添加浙样红开票订单',
148: '司机代开发票列表管理(滇运通代开)',
149: '滇运通渠道资金流水导出',
150: '滇运通渠道司机数据导出',
151: '滇运通渠道车辆数据导出',
152: '向第三方开票渠道(满货达等)上传承运人信息用于代开票',
153: '向第三方开票渠道(三十六匠/满货达/滇运通)上传司机信息用于代开票',
154: '向第三方开票渠道上传车辆信息',
155: '向滇运通渠道上传货源信息',
156: '向第三方开票渠道上传运单数据',
157: '上传运单补充数据(满货达运单其他信息)',
158: '运输过程异常记录处理(客服工作台)',
159: '货主/司机互评管理',
160: '司机疲劳驾驶预警列表处理',
161: '车辆超速预警列表处理',
162: '车辆偏离路线预警处理',
163: '用户投诉工单处理',
164: '用户意见反馈列表处理',
165: '司机维度评价统计(星级统计)',
166: '货主维度评价统计(星级统计)',
167: '撤单数据统计报表',
168: '轨迹事件查询:急加速/急减速/急转弯等驾驶行为事件(TrackEvent)',
169: '异常运单证明文件生成与管理',
170: '好运宝车辆状态信息查询(HybVehicleInfo)',
171: '好运宝日志记录查询(HybLog)',
172: '异常运单申诉提交管理(AbnormalSubmit)',
173: '异常运单审核处理(AbnormalAudit)',
174: '运单补录操作:补录历史运单',
175: '车队长派单管理:将货源指派给车队司机',
176: '小象开票承运人信息管理',
177: '小象开票运单创建',
178: '代收业务(agencyCollection)代征货主账号管理',
179: '代收业务用户信息管理',
180: '代收业务司机账号管理',
181: '代收业务车辆信息管理',
182: '代收业务订单列表管理',
183: '代收业务订单审核',
184: '代收业务订单支付处理',
185: '代收业务开票管理',
186: '代收业务委托协议书管理',
187: '同城运单调度:分配车辆与司机',
188: '同城订单指派处理',
189: '同城订单手工开单',
190: '同城订单批量导入',
191: '同城运单列表管理',
192: '同城回单确认处理',
193: '同城订单异常处理',
194: '同城运输线路管理',
195: '同城投诉管理',
196: '同城清分结算处理',
197: '同城运单费用管理',
198: '同城司机提现管理',
199: '同城司机费用管理',
200: '同城月结结算处理',
201: '同城清分申请提交',
202: '同城业务首页统计看板',
203: '同城业务数据统计报表',
204: '货主运输合同列表与管理',
205: '承运人(司机)运输合同列表与管理',
206: '车队长合同管理入口(分组菜单)',
207: '车队长合同列表查询',
208: '车队长合同批量导入任务管理',
209: '货源合同(SourceContract)管理',
210: '付款类合同(PaymentContract)管理',
211: '代收货款协议管理',
212: '运输委托协议书管理',
213: '三十六匠渠道协议管理入口(分组菜单)',
214: '三十六匠协议管理',
215: '三十六匠承运合同管理',
216: '三十六匠代收协议管理',
217: '车犇渠道协议管理入口(分组菜单)',
218: '车犇协议管理',
219: '车犇协议批量导出',
220: '保险保单查询',
221: '万金油服务企业账户余额查询',
222: '万金油储值返点记录查询',
223: '万金油消费记录查询',
224: '过路过桥费(ETC通行费)服务入口',
225: '税务对接平台信息维护',
226: '税务上报货主信息查询/维护',
227: '税务上报司机信息查询/维护',
228: '税务运单数据上报',
229: '税务授权委托书管理:司机授权平台代办税务事项',
230: '货主开票信息与申请管理',
231: '物流金融放款记录管理(供应链金融)',
232: 'ETC企业注册信息管理',
233: 'ETC实时开票记录查询',
234: 'ETC历史开票记录查询',
235: '运单ETC信息上报',
236: 'ETC长途运输分单处理',
237: 'ETC通行费开票申请列表与处理',
238: 'ETC开票记录查询',
239: 'ETC红冲(冲红)发票查询',
240: 'ETC开票关联运单查询',
241: '已抵扣ETC发票查询',
242: '未抵扣ETC发票查询',
243: '运单维度开票申请管理',
244: '运单ETC抵扣记录查询',
245: '运单ETC抵扣管理操作',
246: '司机代开票公司信息管理',
247: '司机代开票承运人信息管理',
248: '承运人临时登记信息查询',
249: '司机代开运单发票查询',
250: '承运侧(司机/车队)结算报表',
251: '货主侧结算报表',
252: '业务客户维度报表',
253: '平台客户维度报表',
254: '货主费用统计报表',
255: '司机费用统计报表',
256: '电子对账单管理/下载',
257: '上游客户费用统计报表',
258: '运单利润分析报表',
259: '月度利润分析报表',
260: '运单开票统计报表',
261: 'Web端用户协议配置管理',
262: '司机端APP协议配置管理',
263: '货主端协议配置管理',
264: '税务相关协议配置管理',
265: '菜单/资源权限创建管理(资源权限配置)',
266: '前端导航菜单配置管理',
267: '数据库数据查询/维护工具(运维用)',
268: '当前账号密码修改',
269: '平台企业(机构)信息管理',
270: '机构账户充值管理',
271: '机构参数配置管理',
272: '平台开票信息维护',
273: '平台服务消费/扣费记录查询',
274: '门户网站轮播图管理',
275: '门户新闻发布管理',
276: '门户基本信息维护',
277: '门户参数配置',
278: '门户图片预览',
279: '门户客户案例管理',
280: 'APP应用通知管理',
281: '短信发送记录与管理',
282: '消息推送记录查询',
283: '短信验证码发送统计',
284: '司机催款消息记录',
285: '超时异常运单消息记录',
286: '应用通知管理重复入口(路由指向同"超时异常运单"页面)',
287: '测试用页面(复用货源页面路由,非生产功能)',
288: '超时未派单运单记录',
289: '机构(分支机构)管理',
290: 'APP自动更新版本管理',
291: '用户问题咨询记录处理',
292: '用户操作行为日志查询(ES)',
293: '平台服务扣费记录',
294: '合同模板管理',
295: '敏感操作管理配置',
296: '用户登录日志记录',
297: '用户创建记录查询',
298: '光大银行通道手工调账处理',
299: '车队长运费任务运维工具',
300: '资源权限总控入口(super_admin专用,控制菜单/资源可见性)',
}
wb = load_workbook(PATH)
ws = wb['Sheet1']
missing = [r for r in range(2, ws.max_row + 1) if r not in D]
if missing:
raise SystemExit('missing rows: %s' % missing)
FONT = Font(name='Arial', size=10)
ALIGN = Alignment(wrap_text=True, vertical='center', horizontal='left')
for r, desc in D.items():
c = ws.cell(r, 5, desc)
c.font = FONT
c.alignment = ALIGN
ws.column_dimensions['E'].width = 80
wb.save(PATH)
print('written %d descriptions (rows 2-%d)' % (len(D), ws.max_row))
@@ -0,0 +1,50 @@
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程开始
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:52:11 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始接单流程
2026-07-31 15:52:21 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-07-31 15:52:21 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始装货流程
2026-07-31 15:52:45 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-07-31 15:52:45 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始卸货流程
2026-07-31 15:53:00 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-07-31 15:53:00 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 获取运输单号
2026-07-31 15:53:02 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026072700011549450042
2026-07-31 15:53:02 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运费核算(首次查询无数据时自动 SQL 重试)
2026-07-31 15:53:13 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成: RHJC040026072700011549450042
2026-07-31 15:53:13 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运单审核
2026-07-31 15:53:20 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026072700011549450042
2026-07-31 15:53:20 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-财务打款
2026-07-31 15:53:28 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026072700011549450042
2026-07-31 15:53:28 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-货主打款
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026072700011549450042
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程结束!
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026072700011549450042
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程开始
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:53 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始接单流程
2026-07-31 15:54:02 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-07-31 15:54:02 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始装货流程
2026-07-31 15:54:24 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-07-31 15:54:24 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始卸货流程
2026-07-31 15:54:40 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-07-31 15:54:40 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 获取运输单号
2026-07-31 15:54:41 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026072700011551250043
2026-07-31 15:54:41 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运费核算(车队长全额收款模式)
2026-07-31 15:54:56 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成(车队长全额收款): RHJC040026072700011551250043
2026-07-31 15:54:56 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运单审核
2026-07-31 15:55:04 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026072700011551250043
2026-07-31 15:55:04 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-财务打款
2026-07-31 15:55:11 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026072700011551250043
2026-07-31 15:55:11 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-货主打款
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026072700011551250043
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程结束!
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026072700011551250043
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
@@ -0,0 +1,50 @@
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程开始
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:52:11 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始接单流程
2026-07-31 15:52:21 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-07-31 15:52:21 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始装货流程
2026-07-31 15:52:45 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-07-31 15:52:45 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始卸货流程
2026-07-31 15:53:00 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-07-31 15:53:00 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 获取运输单号
2026-07-31 15:53:02 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026072700011549450042
2026-07-31 15:53:02 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运费核算(首次查询无数据时自动 SQL 重试)
2026-07-31 15:53:13 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成: RHJC040026072700011549450042
2026-07-31 15:53:13 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运单审核
2026-07-31 15:53:20 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026072700011549450042
2026-07-31 15:53:20 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-财务打款
2026-07-31 15:53:28 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026072700011549450042
2026-07-31 15:53:28 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-货主打款
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026072700011549450042
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程结束!
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026072700011549450042
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程开始
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:53 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始接单流程
2026-07-31 15:54:02 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-07-31 15:54:02 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始装货流程
2026-07-31 15:54:24 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-07-31 15:54:24 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始卸货流程
2026-07-31 15:54:40 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-07-31 15:54:40 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 获取运输单号
2026-07-31 15:54:41 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026072700011551250043
2026-07-31 15:54:41 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运费核算(车队长全额收款模式)
2026-07-31 15:54:56 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成(车队长全额收款): RHJC040026072700011551250043
2026-07-31 15:54:56 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运单审核
2026-07-31 15:55:04 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026072700011551250043
2026-07-31 15:55:04 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-财务打款
2026-07-31 15:55:11 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026072700011551250043
2026-07-31 15:55:11 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-货主打款
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026072700011551250043
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程结束!
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026072700011551250043
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
@@ -0,0 +1,50 @@
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程开始
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:52:11 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始接单流程
2026-07-31 15:52:21 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-07-31 15:52:21 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始装货流程
2026-07-31 15:52:45 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-07-31 15:52:45 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始卸货流程
2026-07-31 15:53:00 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-07-31 15:53:00 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 获取运输单号
2026-07-31 15:53:02 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026072700011549450042
2026-07-31 15:53:02 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运费核算(首次查询无数据时自动 SQL 重试)
2026-07-31 15:53:13 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成: RHJC040026072700011549450042
2026-07-31 15:53:13 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运单审核
2026-07-31 15:53:20 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026072700011549450042
2026-07-31 15:53:20 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-财务打款
2026-07-31 15:53:28 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026072700011549450042
2026-07-31 15:53:28 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-货主打款
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026072700011549450042
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程结束!
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026072700011549450042
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程开始
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:53 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始接单流程
2026-07-31 15:54:02 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-07-31 15:54:02 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始装货流程
2026-07-31 15:54:24 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-07-31 15:54:24 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始卸货流程
2026-07-31 15:54:40 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-07-31 15:54:40 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 获取运输单号
2026-07-31 15:54:41 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026072700011551250043
2026-07-31 15:54:41 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运费核算(车队长全额收款模式)
2026-07-31 15:54:56 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成(车队长全额收款): RHJC040026072700011551250043
2026-07-31 15:54:56 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运单审核
2026-07-31 15:55:04 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026072700011551250043
2026-07-31 15:55:04 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-财务打款
2026-07-31 15:55:11 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026072700011551250043
2026-07-31 15:55:11 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-货主打款
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026072700011551250043
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程结束!
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026072700011551250043
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
@@ -0,0 +1,50 @@
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程开始
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:52:11 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始接单流程
2026-07-31 15:52:21 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-07-31 15:52:21 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始装货流程
2026-07-31 15:52:45 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-07-31 15:52:45 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始卸货流程
2026-07-31 15:53:00 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-07-31 15:53:00 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 获取运输单号
2026-07-31 15:53:02 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026072700011549450042
2026-07-31 15:53:02 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运费核算(首次查询无数据时自动 SQL 重试)
2026-07-31 15:53:13 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成: RHJC040026072700011549450042
2026-07-31 15:53:13 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运单审核
2026-07-31 15:53:20 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026072700011549450042
2026-07-31 15:53:20 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-财务打款
2026-07-31 15:53:28 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026072700011549450042
2026-07-31 15:53:28 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-货主打款
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026072700011549450042
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程结束!
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026072700011549450042
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程开始
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:53 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始接单流程
2026-07-31 15:54:02 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-07-31 15:54:02 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始装货流程
2026-07-31 15:54:24 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-07-31 15:54:24 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始卸货流程
2026-07-31 15:54:40 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-07-31 15:54:40 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 获取运输单号
2026-07-31 15:54:41 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026072700011551250043
2026-07-31 15:54:41 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运费核算(车队长全额收款模式)
2026-07-31 15:54:56 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成(车队长全额收款): RHJC040026072700011551250043
2026-07-31 15:54:56 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运单审核
2026-07-31 15:55:04 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026072700011551250043
2026-07-31 15:55:04 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-财务打款
2026-07-31 15:55:11 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026072700011551250043
2026-07-31 15:55:11 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-货主打款
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026072700011551250043
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程结束!
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026072700011551250043
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
@@ -0,0 +1,50 @@
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程开始
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:52:11 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始接单流程
2026-07-31 15:52:21 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-07-31 15:52:21 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始装货流程
2026-07-31 15:52:45 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-07-31 15:52:45 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始卸货流程
2026-07-31 15:53:00 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-07-31 15:53:00 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 获取运输单号
2026-07-31 15:53:02 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026072700011549450042
2026-07-31 15:53:02 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运费核算(首次查询无数据时自动 SQL 重试)
2026-07-31 15:53:13 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成: RHJC040026072700011549450042
2026-07-31 15:53:13 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运单审核
2026-07-31 15:53:20 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026072700011549450042
2026-07-31 15:53:20 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-财务打款
2026-07-31 15:53:28 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026072700011549450042
2026-07-31 15:53:28 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-货主打款
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026072700011549450042
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程结束!
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026072700011549450042
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程开始
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:53 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始接单流程
2026-07-31 15:54:02 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-07-31 15:54:02 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始装货流程
2026-07-31 15:54:24 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-07-31 15:54:24 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始卸货流程
2026-07-31 15:54:40 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-07-31 15:54:40 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 获取运输单号
2026-07-31 15:54:41 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026072700011551250043
2026-07-31 15:54:41 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运费核算(车队长全额收款模式)
2026-07-31 15:54:56 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成(车队长全额收款): RHJC040026072700011551250043
2026-07-31 15:54:56 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运单审核
2026-07-31 15:55:04 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026072700011551250043
2026-07-31 15:55:04 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-财务打款
2026-07-31 15:55:11 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026072700011551250043
2026-07-31 15:55:11 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-货主打款
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026072700011551250043
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程结束!
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026072700011551250043
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
@@ -0,0 +1,50 @@
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程开始
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:52:11 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始接单流程
2026-07-31 15:52:21 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-07-31 15:52:21 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始装货流程
2026-07-31 15:52:45 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-07-31 15:52:45 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始卸货流程
2026-07-31 15:53:00 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-07-31 15:53:00 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 获取运输单号
2026-07-31 15:53:02 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026072700011549450042
2026-07-31 15:53:02 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运费核算(首次查询无数据时自动 SQL 重试)
2026-07-31 15:53:13 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成: RHJC040026072700011549450042
2026-07-31 15:53:13 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运单审核
2026-07-31 15:53:20 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026072700011549450042
2026-07-31 15:53:20 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-财务打款
2026-07-31 15:53:28 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026072700011549450042
2026-07-31 15:53:28 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-货主打款
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026072700011549450042
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程结束!
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026072700011549450042
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程开始
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:53 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始接单流程
2026-07-31 15:54:02 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-07-31 15:54:02 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始装货流程
2026-07-31 15:54:24 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-07-31 15:54:24 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始卸货流程
2026-07-31 15:54:40 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-07-31 15:54:40 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 获取运输单号
2026-07-31 15:54:41 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026072700011551250043
2026-07-31 15:54:41 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运费核算(车队长全额收款模式)
2026-07-31 15:54:56 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成(车队长全额收款): RHJC040026072700011551250043
2026-07-31 15:54:56 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运单审核
2026-07-31 15:55:04 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026072700011551250043
2026-07-31 15:55:04 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-财务打款
2026-07-31 15:55:11 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026072700011551250043
2026-07-31 15:55:11 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-货主打款
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026072700011551250043
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程结束!
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026072700011551250043
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
@@ -0,0 +1,50 @@
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程开始
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:52:11 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始接单流程
2026-07-31 15:52:21 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-07-31 15:52:21 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始装货流程
2026-07-31 15:52:45 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-07-31 15:52:45 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始卸货流程
2026-07-31 15:53:00 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-07-31 15:53:00 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 获取运输单号
2026-07-31 15:53:02 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026072700011549450042
2026-07-31 15:53:02 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运费核算(首次查询无数据时自动 SQL 重试)
2026-07-31 15:53:13 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成: RHJC040026072700011549450042
2026-07-31 15:53:13 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运单审核
2026-07-31 15:53:20 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026072700011549450042
2026-07-31 15:53:20 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-财务打款
2026-07-31 15:53:28 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026072700011549450042
2026-07-31 15:53:28 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-货主打款
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026072700011549450042
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程结束!
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026072700011549450042
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程开始
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:53 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始接单流程
2026-07-31 15:54:02 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-07-31 15:54:02 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始装货流程
2026-07-31 15:54:24 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-07-31 15:54:24 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始卸货流程
2026-07-31 15:54:40 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-07-31 15:54:40 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 获取运输单号
2026-07-31 15:54:41 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026072700011551250043
2026-07-31 15:54:41 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运费核算(车队长全额收款模式)
2026-07-31 15:54:56 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成(车队长全额收款): RHJC040026072700011551250043
2026-07-31 15:54:56 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运单审核
2026-07-31 15:55:04 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026072700011551250043
2026-07-31 15:55:04 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-财务打款
2026-07-31 15:55:11 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026072700011551250043
2026-07-31 15:55:11 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-货主打款
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026072700011551250043
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程结束!
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026072700011551250043
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
@@ -0,0 +1,50 @@
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程开始
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:52:11 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始接单流程
2026-07-31 15:52:21 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-07-31 15:52:21 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始装货流程
2026-07-31 15:52:45 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-07-31 15:52:45 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始卸货流程
2026-07-31 15:53:00 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-07-31 15:53:00 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 获取运输单号
2026-07-31 15:53:02 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026072700011549450042
2026-07-31 15:53:02 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运费核算(首次查询无数据时自动 SQL 重试)
2026-07-31 15:53:13 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成: RHJC040026072700011549450042
2026-07-31 15:53:13 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运单审核
2026-07-31 15:53:20 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026072700011549450042
2026-07-31 15:53:20 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-财务打款
2026-07-31 15:53:28 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026072700011549450042
2026-07-31 15:53:28 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-货主打款
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026072700011549450042
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程结束!
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026072700011549450042
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程开始
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:53 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始接单流程
2026-07-31 15:54:02 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-07-31 15:54:02 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始装货流程
2026-07-31 15:54:24 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-07-31 15:54:24 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始卸货流程
2026-07-31 15:54:40 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-07-31 15:54:40 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 获取运输单号
2026-07-31 15:54:41 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026072700011551250043
2026-07-31 15:54:41 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运费核算(车队长全额收款模式)
2026-07-31 15:54:56 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成(车队长全额收款): RHJC040026072700011551250043
2026-07-31 15:54:56 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运单审核
2026-07-31 15:55:04 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026072700011551250043
2026-07-31 15:55:04 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-财务打款
2026-07-31 15:55:11 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026072700011551250043
2026-07-31 15:55:11 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-货主打款
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026072700011551250043
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程结束!
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026072700011551250043
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
@@ -0,0 +1,50 @@
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程开始
2026-07-31 15:52:00 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:52:11 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始接单流程
2026-07-31 15:52:21 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-07-31 15:52:21 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始装货流程
2026-07-31 15:52:45 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-07-31 15:52:45 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始卸货流程
2026-07-31 15:53:00 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-07-31 15:53:00 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 获取运输单号
2026-07-31 15:53:02 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026072700011549450042
2026-07-31 15:53:02 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运费核算(首次查询无数据时自动 SQL 重试)
2026-07-31 15:53:13 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成: RHJC040026072700011549450042
2026-07-31 15:53:13 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运单审核
2026-07-31 15:53:20 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026072700011549450042
2026-07-31 15:53:20 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-财务打款
2026-07-31 15:53:28 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026072700011549450042
2026-07-31 15:53:28 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-货主打款
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026072700011549450042
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程结束!
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026072700011549450042
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-07-31 15:53:40 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程开始
2026-07-31 15:53:47 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:53:53 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始接单流程
2026-07-31 15:54:02 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-07-31 15:54:02 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始装货流程
2026-07-31 15:54:24 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-07-31 15:54:24 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始卸货流程
2026-07-31 15:54:40 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-07-31 15:54:40 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 获取运输单号
2026-07-31 15:54:41 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026072700011551250043
2026-07-31 15:54:41 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运费核算(车队长全额收款模式)
2026-07-31 15:54:56 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成(车队长全额收款): RHJC040026072700011551250043
2026-07-31 15:54:56 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运单审核
2026-07-31 15:55:04 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026072700011551250043
2026-07-31 15:55:04 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-财务打款
2026-07-31 15:55:11 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026072700011551250043
2026-07-31 15:55:11 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-货主打款
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026072700011551250043
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程结束!
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026072700011551250043
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-07-31 15:55:23 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
+24
View File
@@ -0,0 +1,24 @@
2026-09-02 09:44:17 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 09:44:17 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程开始
2026-09-02 09:44:17 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 09:44:33 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-09-02 09:44:51 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 09:44:51 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程开始
2026-09-02 09:44:51 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 09:45:08 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-09-02 09:45:26 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 09:45:26 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程开始
2026-09-02 09:45:26 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 09:45:36 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始接单流程
2026-09-02 09:45:43 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-09-02 09:45:43 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始装货流程
2026-09-02 09:46:00 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 09:46:00 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程开始
2026-09-02 09:46:00 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 09:46:10 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始接单流程
2026-09-02 09:46:17 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-09-02 09:46:17 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始装货流程
2026-09-02 09:46:35 [INFO] tests.cross_end.test_freight_full_flow — ============================================================
2026-09-02 09:46:35 [INFO] tests.cross_end.test_freight_full_flow — 跨端 E2E: 货运全流程开始
2026-09-02 09:46:35 [INFO] tests.cross_end.test_freight_full_flow — ============================================================
2026-09-02 09:46:46 [INFO] tests.cross_end.test_freight_full_flow — Step 1/8: Web管理端 — 发布货源
+59
View File
@@ -0,0 +1,59 @@
2026-09-02 09:54:03 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 09:54:03 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程开始
2026-09-02 09:54:03 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 09:54:27 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-09-02 09:54:43 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-09-02 09:55:00 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-09-02 09:55:04 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026090100010951040132
2026-09-02 09:55:16 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 09:55:16 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程开始
2026-09-02 09:55:16 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 09:55:31 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-09-02 09:55:53 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-09-02 09:56:08 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-09-02 09:56:10 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026090100010952080133
2026-09-02 09:56:22 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 09:56:22 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程开始
2026-09-02 09:56:22 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 09:56:29 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始接单流程
2026-09-02 09:56:37 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-09-02 09:56:37 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始装货流程
2026-09-02 09:57:03 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-09-02 09:57:03 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始卸货流程
2026-09-02 09:57:19 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-09-02 09:57:19 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 获取运输单号
2026-09-02 09:57:20 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026090100010953150134
2026-09-02 09:57:20 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运费核算(首次查询无数据时自动 SQL 重试)
2026-09-02 09:57:31 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成: RHJC040026090100010953150134
2026-09-02 09:57:31 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运单审核
2026-09-02 09:57:38 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026090100010953150134
2026-09-02 09:57:38 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-财务打款
2026-09-02 09:57:46 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026090100010953150134
2026-09-02 09:57:46 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-货主打款
2026-09-02 09:57:57 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026090100010953150134
2026-09-02 09:57:57 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 09:57:57 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程结束!
2026-09-02 09:57:57 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026090100010953150134
2026-09-02 09:57:57 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-09-02 09:57:57 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-09-02 09:57:57 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 09:58:02 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 09:58:02 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程开始
2026-09-02 09:58:02 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 09:58:08 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始接单流程
2026-09-02 09:58:19 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-09-02 09:58:19 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始装货流程
2026-09-02 09:58:41 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-09-02 09:58:41 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 开始卸货流程
2026-09-02 09:58:56 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-09-02 09:58:56 [INFO] tests.cross_end.test_driver_to_settlement — Phase 1: 司机 APP — 获取运输单号
2026-09-02 09:58:58 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026090100010954560135
2026-09-02 09:58:58 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运费核算(车队长全额收款模式)
2026-09-02 09:59:12 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成(车队长全额收款): RHJC040026090100010954560135
2026-09-02 09:59:12 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 运单审核
2026-09-02 09:59:19 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026090100010954560135
2026-09-02 09:59:19 [INFO] tests.cross_end.test_driver_to_settlement — Phase 2: Web管理端 — 垫资-财务打款
2026-09-02 09:59:44 [INFO] tests.cross_end.test_freight_full_flow — ============================================================
2026-09-02 09:59:44 [INFO] tests.cross_end.test_freight_full_flow — 跨端 E2E: 货运全流程开始
2026-09-02 09:59:44 [INFO] tests.cross_end.test_freight_full_flow — ============================================================
2026-09-02 09:59:51 [INFO] tests.cross_end.test_freight_full_flow — Step 1/8: Web管理端 — 发布货源
+8
View File
@@ -0,0 +1,8 @@
2026-09-02 10:15:32 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 10:15:32 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程开始
2026-09-02 10:15:32 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 10:15:50 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-09-02 10:16:10 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 10:16:10 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程开始
2026-09-02 10:16:10 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 10:16:31 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
+4
View File
@@ -0,0 +1,4 @@
2026-09-02 10:21:45 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 10:21:45 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程开始
2026-09-02 10:21:45 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 10:22:04 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
+17
View File
@@ -0,0 +1,17 @@
2026-09-02 10:24:05 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 10:24:05 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程开始
2026-09-02 10:24:05 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 10:24:20 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-09-02 10:24:43 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-09-02 10:24:59 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-09-02 10:25:01 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026090100011020580137
2026-09-02 10:25:12 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成: RHJC040026090100011020580137
2026-09-02 10:25:19 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026090100011020580137
2026-09-02 10:25:27 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026090100011020580137
2026-09-02 10:25:36 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026090100011020580137
2026-09-02 10:25:36 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 10:25:36 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程结束!
2026-09-02 10:25:36 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026090100011020580137
2026-09-02 10:25:36 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-09-02 10:25:36 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-09-02 10:25:36 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
+8
View File
@@ -0,0 +1,8 @@
2026-09-02 10:25:53 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 10:25:53 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程开始
2026-09-02 10:25:53 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 10:26:09 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-09-02 10:26:32 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-09-02 10:26:48 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-09-02 10:26:49 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026090100011022470138
2026-09-02 10:27:03 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成(车队长全额收款): RHJC040026090100011022470138
+8
View File
@@ -0,0 +1,8 @@
2026-09-02 10:30:38 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 10:30:38 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程开始
2026-09-02 10:30:38 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 10:30:55 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-09-02 10:31:18 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-09-02 10:31:34 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-09-02 10:31:36 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026090100011027320139
2026-09-02 10:31:50 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成(车队长全额收款): RHJC040026090100011027320139
+9
View File
@@ -0,0 +1,9 @@
2026-09-02 10:46:55 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 10:46:55 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程开始
2026-09-02 10:46:55 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 10:47:13 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-09-02 10:47:36 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-09-02 10:47:53 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-09-02 10:47:54 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026090100011043510140
2026-09-02 10:48:09 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成(车队长全额收款): RHJC040026090100011043510140
2026-09-02 10:48:16 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026090100011043510140
+9
View File
@@ -0,0 +1,9 @@
2026-09-02 10:49:45 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 10:49:45 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程开始
2026-09-02 10:49:45 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 10:50:01 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-09-02 10:50:24 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-09-02 10:50:40 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-09-02 10:50:41 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026090100011046390141
2026-09-02 10:50:56 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成(车队长全额收款): RHJC040026090100011046390141
2026-09-02 10:51:03 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026090100011046390141
+26
View File
@@ -0,0 +1,26 @@
2026-09-02 11:02:20 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 11:02:20 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程开始
2026-09-02 11:02:20 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 11:02:39 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-09-02 11:03:05 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-09-02 11:03:27 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-09-02 11:03:28 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026090100011059160143
2026-09-02 11:03:39 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成: RHJC040026090100011059160143
2026-09-02 11:03:46 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026090100011059160143
2026-09-02 11:03:53 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026090100011059160143
2026-09-02 11:04:01 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026090100011059160143
2026-09-02 11:04:01 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 11:04:01 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程结束!
2026-09-02 11:04:01 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026090100011059160143
2026-09-02 11:04:01 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-09-02 11:04:01 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-09-02 11:04:01 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 11:04:06 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 11:04:06 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程开始
2026-09-02 11:04:06 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 11:04:26 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-09-02 11:04:52 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-09-02 11:05:11 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-09-02 11:05:13 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026090100011101040144
2026-09-02 11:05:27 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成(车队长全额收款): RHJC040026090100011101040144
2026-09-02 11:05:34 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026090100011101040144
+18
View File
@@ -0,0 +1,18 @@
2026-09-02 11:54:54 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 11:54:54 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程开始
2026-09-02 11:54:54 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 11:55:18 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-09-02 11:55:45 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-09-02 11:56:04 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-09-02 11:56:07 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026090100011151560146
2026-09-02 11:56:19 [WARNING] tests.pages.admin.freight_accounting_page — 等待列表稳定超时(10000ms),继续按原逻辑执行
2026-09-02 11:56:26 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成: RHJC040026090100011151560146
2026-09-02 11:56:30 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026090100011151560146
2026-09-02 11:56:37 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026090100011151560146
2026-09-02 11:56:43 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026090100011151560146
2026-09-02 11:56:43 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 11:56:43 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程结束!
2026-09-02 11:56:43 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026090100011151560146
2026-09-02 11:56:43 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-09-02 11:56:43 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-09-02 11:56:43 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
+18
View File
@@ -0,0 +1,18 @@
2026-09-02 11:57:09 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 11:57:09 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程开始
2026-09-02 11:57:09 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 11:57:28 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-09-02 11:57:55 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-09-02 11:58:12 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-09-02 11:58:14 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026090100011154060147
2026-09-02 11:58:26 [WARNING] tests.pages.admin.freight_accounting_page — 等待列表稳定超时(10000ms),继续按原逻辑执行
2026-09-02 11:58:34 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成(车队长全额收款): RHJC040026090100011154060147
2026-09-02 11:58:40 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026090100011154060147
2026-09-02 11:58:48 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026090100011154060147
2026-09-02 11:58:55 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026090100011154060147
2026-09-02 11:58:55 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-09-02 11:58:55 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程结束!
2026-09-02 11:58:55 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026090100011154060147
2026-09-02 11:58:55 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-09-02 11:58:55 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-09-02 11:58:55 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
File diff suppressed because it is too large Load Diff
+356
View File
@@ -0,0 +1,356 @@
首页 {目录}
基础信息 Layout
平台管理 /views/basicInfo/platUser/index
账号管理 /views/basicInfo/platUser/partyManage/partyList
角色管理 /views/basicInfo/platUser/roleManage/roleList.vue
货主管理 /views/basicInfo/shipment/index
个体货主 /views/basicInfo/shipment/shipmentManage
货主信息 /views/basicInfo/shipment/shipmentForm/selfShipmentForm
企业货主 /views/basicInfo/shipment/shipmentCompanyManage/
企业信息 /views/basicInfo/shipment/shipmentForm/selfCompanyShipmentForm
分账管理 /views/tms/AccountManagement/ShipmentLedgerRecord
承运管理 /views/basicInfo/driver/index
车队管理 /views/basicInfo/driver/driverTeamManage/
车队信息 /views/basicInfo/driver/driverTeamManage/selfDriverTeamForm
司机管理 /views/basicInfo/driver/driverManage/
司机信息 /views/basicInfo/driver/driverManage/selfDriverForm
平台车辆 /views/basicInfo/driver/platVehicle/vehicleList
车辆地图 /views/basicInfo/menu3/vehicleMap
运输停车报警 /views/basicInfo/vehicleService/vehicleParkingAlarm
车辆服务 /views/basicInfo/vehicleService/index
车辆保险 /views/basicInfo/vehicleService/vehicleInsurance/vehicleInsuranceList
车辆维修 /views/basicInfo/vehicleService/vehicleRepair/vehicleRepairList
车辆违章 /views/basicInfo/vehicleService/vehicleViolation/vehicleViolationList
车辆事故 /views/basicInfo/vehicleService/vehicleAccident/vehicleAccidentList
数据字典 /views/basicInfo/dict/index
商品档案 /views/basicInfo/goods/index
商品档案 /views/basicInfo/goods/addGoods/goodsList
商品类型 /views/basicInfo/goods/goodsType
单位档案 /views/basicInfo/goods/unit/unitList
车型管理 /views/basicInfo/dict/dict/dictList
车长管理 /views/basicInfo/dict/dict/dictList
车宽管理 /views/basicInfo/dict/dict/dictList
车高管理 /views/basicInfo/dict/dict/dictList
轴数管理 /views/basicInfo/dict/dict/dictList
吨位管理 /views/basicInfo/dict/dict/dictList
增值类型 /views/basicInfo/dict/dict/dictList
银行类型 /views/basicInfo/dict/dict/dictList
银行类型管理 /views/basicInfo/dict/dict/bankTypeList
快钱银行类型 /views/basicInfo/dict/dict/hatBankTypeList
银行网点管理 /views/basicInfo/dict/dict/bankBranchTypeList
能源卡类型 /views/basicInfo/dict/dict/energyCardType
银行管理 /views/basicInfo/bankCard/bankCardList
审核管理 /views/tms/review/index
司机审核 /views/tms/review/carrierReview
换号审核 /views/tms/review/MobilePhoneAudit
车辆审核 /views/tms/review/VehicleReview
货主审核 /views/tms/review/shipperReview
维修审核 /views/tms/review/carRepairReview
开票审核 /views/tms/review/financeReview
对账审核 /views/tms/review/duizhangReview
维修流程 /views/tms/review/carRepair
开票流程 /views/tms/review/caiWuKaiPiao
对账流程 /views/tms/review/duiZhang
车队司机 /views/tms/review/teamDriverReview
车队车辆 /views/tms/review/teamVehicleReview
车队审核 /views/tms/review/driverTeamReview
核验审核 /views/tms/review/verificationReview
账户管理 /views/tms/AccountManagement/index
余额统计 /views/tms/AccountManagement/AccountBalanceStatistics
账户充值 /views/tms/AccountManagement/recharge
光大余额统计 /views/tms/AccountManagement/everbrightBalanceStatistics
变更记录 /views/tms/AccountManagement/AccountChangeRecord
分账记录 /views/tms/AccountManagement/AccountLedgerRecord
提现记录 /views/tms/AccountManagement/WithdrawalsRecord
平台公户 /views/tms/AccountManagement/platformHousehold/platformHouseholdList
支付明细 /views/tms/AccountManagement/remitDefiniteForPay/remitDefiniteForPayList
PayFlow /views/tms/AccountManagement/payFlow/payFlowList
WithdrawalsRecordTwo /views/tms/AccountManagement/withdrawalsRecordTwo
收款编码 /views/tms/AccountManagement/CollectionCoding/index
收款记录 /views/tms/AccountManagement/CollectionRecord/index
车队长收款记录 /views/tms/AccountManagement/driverCaptain/index
MerchantCenter /views/basicInfo/merchantCenter/index
MerchantNanagement /views/basicInfo/merchantCenter/merchantManagement
hat99BillManagement /views/basicInfo/merchantCenter/hat99BillManagement
everbrightBillMangement /views/basicInfo/merchantCenter/everbrightBillMangement
cebFiles /views/basicInfo/merchantCenter/cebFiles
光大监管商户号 /views/basicInfo/merchantCenter/merchantAccount
会员资金明细 /views/basicInfo/merchantCenter/memberFundDetails
光大推送 /views/basicInfo/merchantCenter/everbrightPush
光大监管商户 /views/basicInfo/merchantCenter/superviseMerchants/index
rainbowSugar /views/basicInfo/rainbowSugar/index
彩虹糖司机审核 /views/basicInfo/rainbowSugar/driverVerify/index
rainbowVehcileReview /views/basicInfo/rainbowSugar/vehicleVerify/index
driverCompare /views/basicInfo/rainbowSugar/driverCompare/index
vehicleCompare /views/basicInfo/rainbowSugar/vehicleCompare/index
整车运输 Layout
货源管理 /views/tms/order/index
发布货源 /views/tms/order/publish
货源管理 /views/tms/order/manage
货源大厅 /views/tms/order/hall
项目货源 /views/tms/order/project
货源审核 /views/tms/order/cargoaudit
运输管理 /views/tms/transportManage/index
运单跟踪 /views/tms/transportManage/waybillManage
运单管理 /views/tms/transportManage/menu2-3
运单轨迹 /views/tms/transportManage/trajectory
预付管理 /views/tms/PayInAdvance/index
预付运费 /views/tms/PayInAdvance/PrepaidManagement
预付统计 /views/tms/PayInAdvance/PrepaidStatistics
预付记录 /views/tms/PayInAdvance/PrepaidRecords/prepaid-records.vue
运单认证核算 /views/tms/waybillCertification/index
运单证件异常 /views/tms/waybillCertification/abnormalDocumentDelivery/index
运单业务异常 /views/tms/waybillCertification/abnormalWallbillBusiness/index
运单时长异常 /views/tms/waybillCertification/abnormalTimeWaybill/index
货物重量异常 /views/tms/waybillCertification/abnormalCargoWeight/index
运费金额异常 /views/tms/waybillCertification/abnormalShippingAmount/index
待处理异常运单 /views/tms/waybillCertification/pendingExceptionWaybill/index
轨迹异常 /views/tms/waybillCertification/abnormalPostion/index
风控异常运单 /views/tms/waybillCertification/abnormalRskControl/index
运费核算 /views/tms/CarrierSettlement/CarrierLiquidation/FreightAccounting
运单认证审核 /views/tms/waybillCertificationReview/index
运单业务异常 /views/tms/waybillCertificationReview/abnormalWallbillBusiness/index
运单认证审核 /views/tms/waybillCertificationReview/orderReview/index
运单时长异常 /views/tms/waybillCertificationReview/abnormalTimeWaybill/index
货物重量异常 /views/tms/waybillCertificationReview/abnormalCargoWeight/index
运费金额异常 /views/tms/waybillCertificationReview/abnormalShippingAmount/index
承运结算 /views/tms/CarrierSettlement/CarrierLiquidation
运费核算 /views/tms/CarrierSettlement/CarrierLiquidation/FreightAccounting
货主打款 /views/tms/CarrierSettlement/CarrierLiquidation/ApplicationForPayment
回单签收 /views/tms/CarrierSettlement/CarrierLiquidation/ReceiptReceipt
异常运单 /views/tms/CustomerService/AbnormalAudit/index.vue
财务打款 /views/tms/CarrierSettlement/CarrierLiquidation/Financialapproval
财务分账 /views/tms/CarrierSettlement/CarrierLiquidation/paymentRecord/paymentRecordList
电子回单 /views/tms/CarrierSettlement/CarrierLiquidation/electronicReceipt/electronicReceiptList
货主支付 /views/tms/CarrierSettlement/CarrierLiquidation/balanceShipmentPayment
ElectronicReceipt /views/tms/CarrierSettlement/CarrierLiquidation/electronicReceiptTwo
合并明细 /views/tms/CarrierSettlement/CarrierLiquidation/consolidatedDeduction
合并付款 /views/tms/CarrierSettlement/CarrierLiquidation/combinedPayment
财务驳回 /views/tms/CarrierSettlement/CarrierLiquidation/orderDetailRefund/orderDetailRefundList.vue
打款记录 /views/tms/CarrierSettlement/CarrierLiquidation/paymentHistoryTwo
合并打款啊 /views/tms/CarrierSettlement/CarrierLiquidation/MergePayment
运单审核 /views/tms/CarrierSettlement/CarrierLiquidation/OrderDetailAudit
垫资-财务打款 /views/tms/CarrierSettlement/CarrierLiquidation/dzFinancialapproval
垫资-货主打款 /views/tms/CarrierSettlement/CarrierLiquidation/dzApplicationForPayment
清分列表 /views/tms/CarrierSettlement/CarrierLiquidation/clearingList
能源卡管理 /views/tms/energyCard
能源卡余额 /views/tms/energyCard/cardBalance
充值记录 /views/tms/energyCard/rechargeRecord
消费记录 /views/tms/energyCard/consumptionRecords
RefuelingManagement /views/tms/RefuelingManagement/index
ServiceStationManagement /views/tms/RefuelingManagement/ServiceStationManagement/index
ConsumptionStatistics /views/tms/RefuelingManagement/ConsumptionStatistics/index
FuelCardBalance /views/tms/RefuelingManagement/FuelCardBalance/index
RefuelingRecord /views/tms/RefuelingManagement/RefuelingRecord/index
油费预付 /views/tms/RefuelingManagement/Advance
油卡消费 /views/tms/RefuelingManagement/FuelCardConsumption/index
货主结算 /views/tms/CarrierSettlement/ShipperUpstreamCustomer
收款对账 /views/tms/CarrierSettlement/ShipperUpstreamCustomer/Reconciliation
对账列表 /views/tms/CarrierSettlement/ShipperUpstreamCustomer/duizhangList
收款单据 /views/tms/CarrierSettlement/ShipperUpstreamCustomer/receiptd
收款列表 /views/tms/CarrierSettlement/ShipperUpstreamCustomer/receiptListd
监管上报 /views/tms/carlessCarrierReporting
司机上报 /views/tms/carlessCarrierReporting/driverReport
车辆上报 /views/tms/carlessCarrierReporting/vehicleReport
路单上报 /views/tms/carlessCarrierReporting/electronicRoadBillReport
资金上报 /views/tms/carlessCarrierReporting/fundFlowReporting
业务异常路单 /views/tms/abnormal/businessAbnormal
时长异常路单 /views/tms/abnormal/timeAbnormal
质量异常路单 /views/tms/abnormal/weightAbnormal
金额异常路单 /views/tms/abnormal/jeAbnormal
发票管理 /views/tms/invoice/index
发票索取 /views/tms/invoice/translateinvoice/invoiceList
发票列表 /views/tms/invoice/drawInvoice/invoiceList
浙样红 /views/tms/invoice/zyhData/zheYangHongList
方众数据导出 /views/tms/invoice/fzData/fangZhongList
轨迹导出 /views/tms/invoice/trajectoryExport/index
轨迹导出2 /views/tms/invoice/trajectoryExportTwo/index
滇运通运单导出 /views/tms/invoice/dyt/orderDetail
添加浙样红订单 /views/tms/invoice/zyhData/zheYangHongOrder
司机开票 /views/tms/invoice/driverInvoice/invoiceList
滇运通资金流水导出 /views/tms/invoice/dyt/remitDefinite
滇运通司机导出 /views/tms/invoice/dyt/driverList
滇运通车辆导出 /views/tms/invoice/dyt/carList
三十六匠发票 /views/tms/upload/index
轨迹异常运单 /views/tms/upload/trajectoryAnomaly
司机上传 /views/tms/upload/uploadDriver
车辆上传 /views/tms/upload/uploadCar
运单上传 /views/tms/upload/uploadOrder
资金上传 /views/tms/upload/fundsUpload
上传查询 /views/tms/upload/queryUpload
满货达发票 /views/tms/fullDelivery/index
承运人上传 /views/tms/fullDelivery/carrierUplaod
司机上传 /views/tms/fullDelivery/driverUpload
车辆上传 /views/tms/fullDelivery/vehicleUpload
运单上传 /views/tms/fullDelivery/orderUpload
运单其他上传 /views/tms/fullDelivery/orderOtherUpload
开票结果查询 /views/tms/fullDelivery/InvoicingResults
开票结果查询 /views/tms/dianyuntong/InvoicingResults
滇运通开票 /views/tms/dianyuntong/index
承运人上传 /views/tms/dianyuntong/carrierUplaod
司机上传 /views/tms/dianyuntong/driverUpload
车辆上传 /views/tms/dianyuntong/vehicleUpload
货源上传 /views/tms/dianyuntong/supplyUpload
运单上传 /views/tms/dianyuntong/orderUpload
运单其他上传 /views/tms/dianyuntong/orderOtherUpload
客服运维 /views/tms/CustomerService/index
运输异常 /views/tms/CustomerService/AbnormalTransportation
评价管理 /views/tms/CustomerService/evaluationManagement
疲劳预警 /views/tms/CustomerService/fatigueWarning
超速预警 /views/tms/CustomerService/speedWarning
偏离预警 /views/tms/CustomerService/departureWarning
投诉处理 /views/tms/CustomerService/Complaint
意见反馈 /views/tms/CustomerService/Feedback
司机评价 /views/tms/CustomerService/StarStatistics
货主评价 /views/tms/CustomerService/StarStatistics2
撤单统计 /views/tms/CustomerService/OrderStatistics
trackEvent /views/tms/CustomerService/trackEvent/trackEvent.vue
异常运单证明 /views/tms/CustomerService/errorOrder/index.vue
HybVehicleInfo /views/tms/CustomerService/HybVehicleInfo/index.vue
HybLog /views/tms/CustomerService/HybLog/index.vue
AbnormalSubmit /views/tms/CustomerService/AbnormalSubmit/index.vue
AbnormalAudit /views/tms/CustomerService/AbnormalAudit/index.vue
补单管理 /views/tms/order/index
补单操作 /views/tms/order/replenish
车队派单 /views/tms/order/leaderDispatch
小象开票 /views/tms/elephant/index
承运人管理 /views/tms/elephant/carriersManag
创建运单 /views/tms/elephant/createOrder
管理服务 Layout
合同管理 /views/manageService/contract
仓储合同 /views/manageService/contract/storage/contractList
运输合同 /views/manageService/contract/transport
同城运输 Layout
调度中心 /views/ctms/dispatch
运单调度 /views/ctms/dispatch/dispatchCars
指派订单 /views/ctms/dispatch/assignOrder
下单管理 /views/ctms/orderManagement
订单开单 /views/ctms/orderManagement/createOrder
批量导入 /views/ctms/orderManagement/bulkImport
运单管理 /views/ctms/orderManagement/waybillManagement
回单确认 /views/ctms/orderManagement/receiptConfirmation
异常管理 /views/ctms/orderManagement/exceptionManagement
线路管理 /views/ctms/orderManagement/lineManagement
投诉管理 /views/ctms/orderManagement/complaint
费用管理 /views/ctms/financialManagement
清分结算 /views/ctms/financialManagement/ZeroLoadSettlement
运单费用 /views/ctms/financialManagement/WaybillExpense
提现管理 /views/ctms/financialManagement/driverWithdrawal
司机费用 /views/ctms/financialManagement/driverCost
月结结算 /views/ctms/financialManagement/monthlySettlement
申请清分 /views/ctms/financialManagement/applicationSeparate
财务统计 /views/ctms/statisticalAnalysis
首页统计 /views/ctms/statisticalAnalysis/homeStatistics
数据统计 /views/ctms/statisticalAnalysis/dataStatistics
增值服务 Layout
运输合同 /views/addedService/transportContract/index
货主合同 /views/addedService/transportContract/shipperContract
承运合同 /views/addedService/transportContract/carrierContract
SourceContract /views/addedService/transportContract/sourceContract
车队长 /views/addedService/transportContract/index
合同列表 /views/addedService/transportContract/captainContract
车队长 /views/addedService/transportContract/captainContractImportTask
PaymentContract /views/addedService/transportContract/paymentContract
代收协议 /views/addedService/transportContract/agreementCollection
委托协议书 /views/addedService/transportContract/agreement
三十六匠协议管理 /views/addedService/transportContract/index
三十六匠协议 /views/addedService/transportContract/craftsmenAgreement
三十六匠承运合同 /views/addedService/transportContract/sanShiLiuCarrierContract
三十六匠代收协议 /views/addedService/transportContract/sanAgreementCollection
车犇协议管理 /views/addedService/transportContract/index
车犇协议 /views/addedService/transportContract/cheBenDriver
批量导出协议 /views/addedService/transportContract/chebenDriverAgreement/index
保险服务 /views/addedService/InsuranceServices/index
保单查询 /views/addedService/InsuranceServices/guaranteeSlip
万金油服务 /views/addedService/userOil/index.vue
账户余额 /views/addedService/userOil/userOilCompanyMoney/companyMoneyList
储值返点记录 /views/addedService/userOil/userOilLog/logList
消费记录 /views/addedService/userOil/userOilRecord/recordList.vue
过路过桥 /views/addedService/InsuranceServices/ETC
税务管理 /views/addedService/Taxation/index
平台信息 /views/addedService/Taxation/enterpriseInform
货主信息 /views/addedService/Taxation/cargoInform/cargoList
司机信息 /views/addedService/Taxation/driveinform/driveinform
运单上报 /views/addedService/Taxation/transportFrom/transportFrom
授权委托 /views/basicInfo/driver/Authorization
货主开票 /views/addedService/Taxation/shipperInvoice/shipperInvoiceList
ETC管理 /views/etc
企业注册 /views/etc/etcCompanyInfo/companyInfo
实时开票 /views/etc/etcOrderDetailList/etcOrderDetailList
历史开票 /views/etc/etcOrderDetailList/etcOrderDetailHistoryList
运单上报 /views/etc/etcOrderDetailList/etcOrderReport
etcLongDistance /views/etc/etcOrderDetailList/etcLongDistance.vue
物流金融 /views/addedService/logisticsFinance/index
放款管理 /views/addedService/logisticsFinance/creditProof/creditProofList
ETC开票管理 /views/etcInvoicing
ETC开票申请 /views/etcInvoicing/invoicingApplication/list.vue
ETC开票记录 /views/etcInvoicing/invoicingRecords/list.vue
ETC红冲发票查询 /views/etcInvoicing/redInvoice
ETC开票运单 /views/etcInvoicing/InvoiceWaybill/index.vue
已抵扣发票 /views/etcInvoicing/deductedInvoices/index.vue
未抵扣发票 /views/etcInvoicing/undeductibleInvoices/index.vue
运单开票申请 /views/etcInvoicing/orderIncoiceApplication/list
运单ETC抵扣 /views/etcInvoicing/orderEtcDeducted/list
ETC抵扣管理 /views/etcInvoicing/orderEtcDeductedManag/list
司机开票管理 /views/addedService/driverInvoicingManagement/index
开票公司管理 /views/addedService/driverInvoicingManagement/invoicingCompanyManagement/index
承运人管理 /views/addedService/driverInvoicingManagement/carrierManage/index
承运人临登查询 /views/addedService/driverInvoicingManagement/carrierArrivalManage/index
运单开票查询 /views/addedService/driverInvoicingManagement/orderInvoiceView/index
财务统计 Layout
自定义表 /views/financialStatistics/diyReport/diyReportList
承运报表 /views/financialStatistics/carrier
货主报表 /views/financialStatistics/shipper
业务客户报表 /views/financialStatistics/businessCustomerReport/index
平台客户报表 /views/financialStatistics/platformCustomerReport/index
货主费用 /views/financialStatistics/shipmentFeeStatistics/
司机费用 /views/financialStatistics/driverFeeStatistics/
上游费用 /views/financialStatistics/upstreamStatistics/
电子对账单 /views/financialStatistics/Reconciliation/
运单利润 /views/financialStatistics/profitFee/
月度利润 /views/financialStatistics/profitFeeMonth/
运单开票 /views/financialStatistics/userInvoiceStatistics/
系统管理 Layout
权限创建 /views/systemManage/authorityCreate
AgreementManagement /views/systemManage/agreementManage/index
WebAgreement /views/systemManage/agreementManage/webAgreement/webAgreement
DriverAgreement /views/systemManage/agreementManage/driverAgreement/driverAgreement
ShipmentAgreement /views/systemManage/agreementManage/shipmentAgreement/shipmentAgreement
TaxationAgreement /views/systemManage/agreementManage/TaxationAgreement/TaxationAgreement
导航管理 /views/systemManage/navigation/index
数据工具 /views/utilsDb/index
修改密码 /views/systemManage/updatePassword
平台企业 /views/systemManage/partyGroup/index2
机构充值 /views/systemManage/partyGroup/partyGroupList
机构配置 /views/systemManage/partyGroupConfig/partyGroupConfigList
开票信息 /views/systemManage/partyGroupInvoice
消费记录 /views/systemManage/paidRecord
网站门户 /views/systemManage/site/index
轮播图片 /views/systemManage/site/banner
新闻管理 /views/systemManage/site/news
门户信息 /views/systemManage/site/site
门户配置 /views/systemManage/site/siteDeploy
图片预览 /views/systemManage/site/preview
客户案例 /views/systemManage/site/partner
消息管理 /views/systemManage/news/index
应用通知管理 /views/systemManage/news/noteManage/noteManageList
短信发送管理 /views/systemManage/news/SMSManage/SMSManageList
消息推送记录 /views/systemManage/news/pushRecords/pushRecordsList
验证码统计表 /views/systemManage/news/PINManage/PINManageList
司机催款记录 /views/systemManage/news/paymentRecords/paymentRecordsList
超时异常运单 /views/systemManage/news/timoutException/timoutExceptionFreightNote
应用通知管理2 /views/systemManage/news/timoutException/timoutExceptionFreightNote
测试页面 /views/tms/order/index
超时未派单 /views/systemManage/news/timoutException/timeoutUnSendOrders.vue
机构管理 /views/systemManage/partyGroupManage
自动更新 /views/systemManage/AppUpload
问题咨询 /views/systemManage/problem/problemList
行为日志 /views/systemManage/es/userActionList
扣费记录 /views/systemManage/billingEdition
合同模板 /views/systemManage/contractBody
操作管理 /views/systemManage/OperationManage
用户登录记录 /views/systemManage/userLogRecord/index
用户创建记录 /views/systemManage/userCreatRecord
光大手工调账 /views/financialStatistics/manualReconciliation/components/ceb/ceb
车队长运费任务运维 /views/systemManage/financialOperations
资源控制 super_admin
+160
View File
@@ -0,0 +1,160 @@
# -*- coding: utf-8 -*-
"""优化司机-货主菜单功能描述:另存新文件 + 合并进运营端菜单清单"""
from openpyxl import load_workbook
from openpyxl.styles import Font, Alignment
SRC = r'E:\Desktop\xst_files\test\work\司机-货主菜单资源.xlsx'
NEW = r'E:\Desktop\xst_files\test\work\司机-货主菜单清单.xlsx'
OPS = r'E:\Desktop\xst_files\test\work\运营端菜单清单.xlsx'
# 按源文件行号(2-99)的优化后描述
D = {
2: '展示运营后台配置的首页轮播图,点击可跳转对应活动/货源页面',
3: '运单主列表:按状态Tab(待装货/待运输/待卸货等)分类展示全部运单,可执行装卸货确认、投诉、清分操作',
4: '按货主姓名、车牌号、装货地/卸货地简称、接单时间筛选运单',
5: '展示能源卡账户余额:电卡、汽卡、油卡',
6: '展示能源卡全部充值记录,可按充值时间筛选',
7: '展示能源卡全部消费记录,可按消费时间筛选',
8: '展示全部运单结算后的运费记录,可按时间、车牌号、手机号、运单筛选',
9: '站内消息列表:按消息类型点击跳转对应页面,可标记为已读',
10: '首页快捷入口:展示最新可接单货源,点击"更多"进入货源菜单',
11: '在线客服会话,与平台客服沟通',
12: '展示不同线路/货源的运价单价参考',
13: '按发货地、收货地、货物类型等条件搜索货源',
14: '调用手机摄像头扫描货源二维码直接接单',
15: '展示全部可接单货源,可按出发地、目的地筛选',
16: '查看货源完整信息,输入接单数量确认接单运输',
17: '展示已添加的全部常跑路线',
18: '选择起始地、目的地,点击新增保存常跑路线(原描述"新增长跑路线"为笔误)',
19: '点击某条常跑路线进入该线路的货源列表',
20: '展示手机号、姓名、头像等个人信息,可退出登录',
21: '输入两次新手机号及登录密码,提交更换手机号',
22: '输入旧密码和两次新密码,完成密码修改',
23: '展示账号注销需满足的条件,确认后提交注销申请',
24: '展示已开户的账户信息与余额',
25: '展示全部交易流水记录',
26: '展示全部收款记录,可按收款时间筛选',
27: '展示全部提现记录,可按状态、时间筛选',
28: '输入提现金额,确认后提交提现申请',
29: '展示已绑定的银行卡,可解绑、绑定账户、删除、设为默认卡',
30: '填写银行卡及持卡人信息,提交后完成绑卡',
31: '上传身份证照片完成实名认证',
32: '实名通过后进行视频活体认证',
33: '上传驾驶证、道路运输从业资格证等证件,完成司机认证',
34: '展示已添加的全部车辆,可按车牌号搜索、删除、设为默认车辆',
35: '填写车辆信息并上传行驶证等证件,匹配成功后提交审核',
36: '展示税务认证信息(代开发票税务登记)',
37: '展示全部车队,可按车队名称、手机号、联系人查询并申请加入',
38: '展示车队邀请记录,可按车队名称、手机号、联系人搜索',
39: '展示已加入的车队,可按车队名称、手机号、联系人搜索,可选择退出车队',
40: '展示已新增的车源(车辆运力)信息,可搜索、编辑、删除',
41: '填写车源信息,提交后新增车源',
42: '展示全部保单信息',
43: '展示全部维修申请记录,可按状态筛选',
44: '填写维修申请字段,提交维修申请',
45: '展示全部电子合同,可搜索查看',
46: '展示我发起的投诉记录',
47: '展示他人对我的投诉记录',
48: '展示平台车辆年检代办服务信息',
49: '展示我发出的评价记录',
50: '展示他人对我的评价记录',
51: '提交投诉与意见建议',
52: '展示运营后台配置的首页轮播图,点击可跳转对应活动页面',
53: '在线客服会话,与平台客服沟通',
54: '展示平台推荐的车源(车辆运力)信息',
55: '查看车源详细信息',
56: '货源发布类型选择:大厅货源、线路项目单',
57: '填写货源发布表单的全部字段并发布货源,支持管理常用路线',
58: '线路项目单列表:可修改、删除、停用、展示货源二维码',
59: '填写线路信息,新增线路项目单',
60: '查看线路详情,并可直接对该线路发布货源',
61: '展示全部账户余额数据',
62: '展示全部提现记录,可按状态、时间筛选',
63: '查看单个钱包的账户详细信息',
64: '输入提现金额,提交提现申请',
65: '发货记录统计,可筛选、查看详情',
66: '收货记录统计,可筛选、查看详情',
67: '运费记录统计,可筛选、查看详情',
68: '发票记录统计,可筛选、查看详情',
69: '站内消息列表:按消息类型点击跳转对应页面,可标记为已读',
70: '展示不同线路/货源的运价单价参考',
71: '展示全部货源,点击货源进入该货源对应的运单',
72: '展示全部运单,可筛选、评价、投诉、备注、核算、批量核算',
73: '同"首页>账户信息"入口:展示全部账户余额数据',
74: '同"首页>账户信息"入口:展示提现记录,可按状态、时间筛选',
75: '同"首页>账户信息"入口:查看单个钱包的账户详细信息',
76: '同"首页>账户信息"入口:输入提现金额提交提现申请',
77: '展示已绑定的银行卡,可解绑、绑定账户、删除、设为默认卡',
78: '填写银行卡及持卡人信息,提交后完成绑卡',
79: '上传货主证件,认证成为货主',
80: '展示全部公司成员,可筛选、添加、修改、删除',
81: '填写成员信息,提交后添加成员',
82: '展示全部保单记录',
83: '展示全部电子合同,可搜索查看',
84: '展示全部货主合同',
85: '展示可开票数据,可筛选并确认索取发票',
86: '展示全部承运分组,可新增、修改、删除分组',
87: '同"首页>车货统计"入口:发货记录统计,可筛选、查看详情',
88: '同"首页>车货统计"入口:收货记录统计,可筛选、查看详情',
89: '同"首页>车货统计"入口:运费记录统计,可筛选、查看详情',
90: '同"首页>车货统计"入口:发票记录统计,可筛选、查看详情',
91: '常用路线管理:可新增、修改、删除、查询路线',
92: '管理开票抬头信息,可新增、删除、修改',
93: '展示我发出的评价记录',
94: '展示他人对我的评价记录',
95: '展示我发起的投诉记录',
96: '展示他人对我的投诉记录',
97: '提交投诉与意见建议',
98: '展示常见问题与解决办法',
99: '展示平台车辆检测代办服务信息',
}
assert len(D) == 98 and set(D) == set(range(2, 100))
# ---- 1. 另存优化后的独立文件 ----
wb = load_workbook(SRC)
ws = wb['Sheet1']
FONT_SONG = Font(name='宋体', size=11)
WRAP = Alignment(wrap_text=True, vertical='center', horizontal='left')
for r, desc in D.items():
c = ws.cell(r, 6, desc)
c.font = FONT_SONG
c.alignment = WRAP
ws.column_dimensions['F'].width = 80
wb.save(NEW)
print('saved:', NEW)
# ---- 2. 合并进运营端菜单清单 Sheet1(追加行,沿用其列结构) ----
wb2 = load_workbook(OPS)
ws2 = wb2['Sheet1']
assert ws2.max_row == 300
FONT_AR = Font(name='Arial', size=10)
row = 301
for r in range(2, 100):
sys_name = ws.cell(r, 2).value # 系统(仅组首行有值)
l1 = ws.cell(r, 3).value # 一级菜单
l2 = ws.cell(r, 4).value # 二级菜单
l3 = ws.cell(r, 5).value # 三级菜单
if sys_name:
ws2.cell(row, 1, sys_name) # 客户端列,沿用"组首行有值"惯例
if l1: ws2.cell(row, 2, l1)
if l2: ws2.cell(row, 3, l2)
if l3: ws2.cell(row, 4, l3)
c = ws2.cell(row, 5, D[r])
c.font = FONT_AR
c.alignment = WRAP
row += 1
print('appended rows 301-%d' % (row - 1))
# ---- 3. 更新说明页 ----
ws3 = wb2['说明']
ws3['B12'] = '菜单条目数(运营端+司机端+货主端)'
ws3['C12'] = '=COUNTA(菜单清单!E:E)-1'
ws3['B16'] = '客户端来源'
ws3['C16'] = ('司机端/货主端菜单为人工整理(原《司机-货主菜单资源.xlsx》),'
'功能描述已优化;运营端菜单来自 sys_resource 表')
from openpyxl.styles import Font as F2
ws3['B16'].font = F2(name='Arial', size=10, bold=True)
ws3['C16'].font = F2(name='Arial', size=10)
wb2.save(OPS)
print('merged into:', OPS)
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+61
View File
@@ -0,0 +1,61 @@
<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="1" failures="1" skipped="0" tests="2" time="10.769" timestamp="2026-07-29T08:45:34.712886+08:00" hostname="Y8126"><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlement" name="test_driver_to_settlement_full_flow" time="9.577"><failure message="selenium.common.exceptions.WebDriverException: Message: 'POST /element' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details&#10;Stacktrace:&#10;UnknownError: 'POST /element' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details&#10; at UIA2Proxy.command (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\jsonwp-proxy\proxy.js:274:19)&#10; at process.processTicksAndRejections (node:internal/process/task_queues:104:5)&#10; at async AndroidUiautomator2Driver.doFindElementOrEls (file:///C:/Users/23184/.appium/node_modules/appium-uiautomator2-driver/build/lib/commands/find.js:20:13)&#10; at async doFind (C:\Users\23184\.appium\node_modules\appium-uiautomator2-driver\node_modules\appium-android-driver\build\lib\commands\find.js:24:23)&#10; at async wrappedCondFn (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\timeout.js:93:20)&#10; at async spin (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\asyncbox\build\lib\asyncbox.js:261:24)&#10; at async waitForCondition (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\asyncbox\build\lib\asyncbox.js:279:12)&#10; at async AndroidUiautomator2Driver.implicitWaitForCondition (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\timeout.js:95:16)&#10; at async AndroidUiautomator2Driver.findElOrEls (C:\Users\23184\.appium\node_modules\appium-uiautomator2-driver\node_modules\appium-android-driver\build\lib\commands\find.js:45:9)&#10; at async AndroidUiautomator2Driver.findElOrElsWithProcessing (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\find.js:12:16)&#10; at async AndroidUiautomator2Driver.findElement (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\find.js:28:16)&#10; at async runCommandPromise (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\driver.js:119:24)">tests\cross_end\tests\test_driver_to_settlement.py:76: in test_driver_to_settlement_full_flow
ensure_driver_login(app_driver)
tests\cross_end\conftest.py:161: in &lt;lambda&gt;
return lambda d: fn(d)
^^^^^
tests\app\_shared.py:100: in _ensure_logged_in
wait.until(EC.visibility_of_element_located(mine_tab))
D:\Python\Python312\Lib\site-packages\selenium\webdriver\support\wait.py:112: in until
value = method(self._driver)
^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\selenium\webdriver\support\expected_conditions.py:188: in _predicate
return _element_if_visible(driver.find_element(*locator))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:899: in find_element
return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:492: in execute
self.error_handler.check_response(response)
D:\Python\Python312\Lib\site-packages\appium\webdriver\errorhandler.py:125: in check_response
raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
E selenium.common.exceptions.WebDriverException: Message: 'POST /element' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
E Stacktrace:
E UnknownError: 'POST /element' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
E at UIA2Proxy.command (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\jsonwp-proxy\proxy.js:274:19)
E at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
E at async AndroidUiautomator2Driver.doFindElementOrEls (file:///C:/Users/23184/.appium/node_modules/appium-uiautomator2-driver/build/lib/commands/find.js:20:13)
E at async doFind (C:\Users\23184\.appium\node_modules\appium-uiautomator2-driver\node_modules\appium-android-driver\build\lib\commands\find.js:24:23)
E at async wrappedCondFn (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\timeout.js:93:20)
E at async spin (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\asyncbox\build\lib\asyncbox.js:261:24)
E at async waitForCondition (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\asyncbox\build\lib\asyncbox.js:279:12)
E at async AndroidUiautomator2Driver.implicitWaitForCondition (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\timeout.js:95:16)
E at async AndroidUiautomator2Driver.findElOrEls (C:\Users\23184\.appium\node_modules\appium-uiautomator2-driver\node_modules\appium-android-driver\build\lib\commands\find.js:45:9)
E at async AndroidUiautomator2Driver.findElOrElsWithProcessing (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\find.js:12:16)
E at async AndroidUiautomator2Driver.findElement (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\find.js:28:16)
E at async runCommandPromise (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\driver.js:119:24)</failure></testcase><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlement" name="test_driver_to_settlement_full_flow" time="0.704"><error message="failed on teardown with &quot;selenium.common.exceptions.WebDriverException: Message: 'GET /screenshot' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details&#10;Stacktrace:&#10;UnknownError: 'GET /screenshot' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details&#10; at UIA2Proxy.command (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\jsonwp-proxy\proxy.js:274:19)&#10; at process.processTicksAndRejections (node:internal/process/task_queues:104:5)&#10; at async AndroidUiautomator2Driver.getScreenshot (file:///C:/Users/23184/.appium/node_modules/appium-uiautomator2-driver/build/lib/commands/screenshot.js:61:19)&#10; at async runCommandPromise (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\driver.js:119:24)&quot;">tests\cross_end\conftest.py:100: in app_driver
save_failure_screenshot(d, cfg, "android", request)
tests\app\_shared.py:190: in save_failure_screenshot
driver.save_screenshot(path)
D:\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:979: in save_screenshot
return self.get_screenshot_as_file(filename)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:956: in get_screenshot_as_file
png = self.get_screenshot_as_png()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:987: in get_screenshot_as_png
return b64decode(self.get_screenshot_as_base64().encode("ascii"))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:997: in get_screenshot_as_base64
return self.execute(Command.SCREENSHOT)["value"]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:492: in execute
self.error_handler.check_response(response)
D:\Python\Python312\Lib\site-packages\appium\webdriver\errorhandler.py:125: in check_response
raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
E selenium.common.exceptions.WebDriverException: Message: 'GET /screenshot' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
E Stacktrace:
E UnknownError: 'GET /screenshot' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
E at UIA2Proxy.command (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\jsonwp-proxy\proxy.js:274:19)
E at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
E at async AndroidUiautomator2Driver.getScreenshot (file:///C:/Users/23184/.appium/node_modules/appium-uiautomator2-driver/build/lib/commands/screenshot.js:61:19)
E at async runCommandPromise (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\driver.js:119:24)</error></testcase></testsuite></testsuites>
+61
View File
@@ -0,0 +1,61 @@
<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="1" failures="1" skipped="0" tests="2" time="65.851" timestamp="2026-07-29T08:46:45.040615+08:00" hostname="Y8126"><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlement" name="test_driver_to_settlement_full_flow" time="64.875"><failure message="selenium.common.exceptions.WebDriverException: Message: 'POST /element' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details&#10;Stacktrace:&#10;UnknownError: 'POST /element' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details&#10; at UIA2Proxy.command (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\jsonwp-proxy\proxy.js:274:19)&#10; at process.processTicksAndRejections (node:internal/process/task_queues:104:5)&#10; at async AndroidUiautomator2Driver.doFindElementOrEls (file:///C:/Users/23184/.appium/node_modules/appium-uiautomator2-driver/build/lib/commands/find.js:20:13)&#10; at async doFind (C:\Users\23184\.appium\node_modules\appium-uiautomator2-driver\node_modules\appium-android-driver\build\lib\commands\find.js:24:23)&#10; at async wrappedCondFn (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\timeout.js:93:20)&#10; at async spin (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\asyncbox\build\lib\asyncbox.js:261:24)&#10; at async waitForCondition (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\asyncbox\build\lib\asyncbox.js:279:12)&#10; at async AndroidUiautomator2Driver.implicitWaitForCondition (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\timeout.js:95:16)&#10; at async AndroidUiautomator2Driver.findElOrEls (C:\Users\23184\.appium\node_modules\appium-uiautomator2-driver\node_modules\appium-android-driver\build\lib\commands\find.js:45:9)&#10; at async AndroidUiautomator2Driver.findElOrElsWithProcessing (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\find.js:12:16)&#10; at async AndroidUiautomator2Driver.findElement (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\find.js:28:16)&#10; at async runCommandPromise (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\driver.js:119:24)">tests\cross_end\tests\test_driver_to_settlement.py:87: in test_driver_to_settlement_full_flow
driver_flow.accept_order_flow(quantity="1")
tests\cross_end\pages\app\driver_freight_flow_page.py:127: in accept_order_flow
self._wait_and_fill(self.quantity_input, quantity) # ③ 填写数量
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tests\cross_end\pages\app\driver_freight_flow_page.py:76: in _wait_and_fill
wait.until(EC.visibility_of_element_located(locator))
D:\Python\Python312\Lib\site-packages\selenium\webdriver\support\wait.py:112: in until
value = method(self._driver)
^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\selenium\webdriver\support\expected_conditions.py:188: in _predicate
return _element_if_visible(driver.find_element(*locator))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:899: in find_element
return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:492: in execute
self.error_handler.check_response(response)
D:\Python\Python312\Lib\site-packages\appium\webdriver\errorhandler.py:125: in check_response
raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
E selenium.common.exceptions.WebDriverException: Message: 'POST /element' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
E Stacktrace:
E UnknownError: 'POST /element' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
E at UIA2Proxy.command (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\jsonwp-proxy\proxy.js:274:19)
E at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
E at async AndroidUiautomator2Driver.doFindElementOrEls (file:///C:/Users/23184/.appium/node_modules/appium-uiautomator2-driver/build/lib/commands/find.js:20:13)
E at async doFind (C:\Users\23184\.appium\node_modules\appium-uiautomator2-driver\node_modules\appium-android-driver\build\lib\commands\find.js:24:23)
E at async wrappedCondFn (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\timeout.js:93:20)
E at async spin (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\asyncbox\build\lib\asyncbox.js:261:24)
E at async waitForCondition (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\asyncbox\build\lib\asyncbox.js:279:12)
E at async AndroidUiautomator2Driver.implicitWaitForCondition (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\timeout.js:95:16)
E at async AndroidUiautomator2Driver.findElOrEls (C:\Users\23184\.appium\node_modules\appium-uiautomator2-driver\node_modules\appium-android-driver\build\lib\commands\find.js:45:9)
E at async AndroidUiautomator2Driver.findElOrElsWithProcessing (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\find.js:12:16)
E at async AndroidUiautomator2Driver.findElement (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\find.js:28:16)
E at async runCommandPromise (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\driver.js:119:24)</failure></testcase><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlement" name="test_driver_to_settlement_full_flow" time="0.515"><error message="failed on teardown with &quot;selenium.common.exceptions.WebDriverException: Message: 'GET /screenshot' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details&#10;Stacktrace:&#10;UnknownError: 'GET /screenshot' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details&#10; at UIA2Proxy.command (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\jsonwp-proxy\proxy.js:274:19)&#10; at process.processTicksAndRejections (node:internal/process/task_queues:104:5)&#10; at async AndroidUiautomator2Driver.getScreenshot (file:///C:/Users/23184/.appium/node_modules/appium-uiautomator2-driver/build/lib/commands/screenshot.js:61:19)&#10; at async runCommandPromise (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\driver.js:119:24)&quot;">tests\cross_end\conftest.py:100: in app_driver
save_failure_screenshot(d, cfg, "android", request)
tests\app\_shared.py:190: in save_failure_screenshot
driver.save_screenshot(path)
D:\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:979: in save_screenshot
return self.get_screenshot_as_file(filename)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:956: in get_screenshot_as_file
png = self.get_screenshot_as_png()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:987: in get_screenshot_as_png
return b64decode(self.get_screenshot_as_base64().encode("ascii"))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:997: in get_screenshot_as_base64
return self.execute(Command.SCREENSHOT)["value"]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:492: in execute
self.error_handler.check_response(response)
D:\Python\Python312\Lib\site-packages\appium\webdriver\errorhandler.py:125: in check_response
raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
E selenium.common.exceptions.WebDriverException: Message: 'GET /screenshot' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
E Stacktrace:
E UnknownError: 'GET /screenshot' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
E at UIA2Proxy.command (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\jsonwp-proxy\proxy.js:274:19)
E at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
E at async AndroidUiautomator2Driver.getScreenshot (file:///C:/Users/23184/.appium/node_modules/appium-uiautomator2-driver/build/lib/commands/screenshot.js:61:19)
E at async runCommandPromise (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\driver.js:119:24)</error></testcase></testsuite></testsuites>
+63
View File
@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="1" failures="1" skipped="0" tests="2" time="228.437" timestamp="2026-07-29T08:49:41.143650+08:00" hostname="Y8126"><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlement" name="test_driver_to_settlement_full_flow" time="227.192"><failure message="selenium.common.exceptions.WebDriverException: Message: Could not proxy command to the remote server. Original error: socket hang up&#10;Stacktrace:&#10;UnknownError: Could not proxy command to the remote server. Original error: socket hang up&#10; at ProxyRequestError.getActualError (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\protocol\errors.js:701:16)&#10; at UIA2Proxy.command (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\jsonwp-proxy\proxy.js:272:27)&#10; at process.processTicksAndRejections (node:internal/process/task_queues:104:5)&#10; at async AndroidUiautomator2Driver.doFindElementOrEls (file:///C:/Users/23184/.appium/node_modules/appium-uiautomator2-driver/build/lib/commands/find.js:20:13)&#10; at async doFind (C:\Users\23184\.appium\node_modules\appium-uiautomator2-driver\node_modules\appium-android-driver\build\lib\commands\find.js:24:23)&#10; at async wrappedCondFn (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\timeout.js:93:20)&#10; at async spin (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\asyncbox\build\lib\asyncbox.js:261:24)&#10; at async waitForCondition (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\asyncbox\build\lib\asyncbox.js:279:12)&#10; at async AndroidUiautomator2Driver.implicitWaitForCondition (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\timeout.js:95:16)&#10; at async AndroidUiautomator2Driver.findElOrEls (C:\Users\23184\.appium\node_modules\appium-uiautomator2-driver\node_modules\appium-android-driver\build\lib\commands\find.js:45:9)&#10; at async AndroidUiautomator2Driver.findElOrElsWithProcessing (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\find.js:12:16)&#10; at async AndroidUiautomator2Driver.findElement (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\find.js:28:16)&#10; at async runCommandPromise (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\driver.js:119:24)">tests\cross_end\tests\test_driver_to_settlement.py:76: in test_driver_to_settlement_full_flow
ensure_driver_login(app_driver)
tests\cross_end\conftest.py:161: in &lt;lambda&gt;
return lambda d: fn(d)
^^^^^
tests\app\_shared.py:100: in _ensure_logged_in
wait.until(EC.visibility_of_element_located(mine_tab))
D:\Python\Python312\Lib\site-packages\selenium\webdriver\support\wait.py:112: in until
value = method(self._driver)
^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\selenium\webdriver\support\expected_conditions.py:188: in _predicate
return _element_if_visible(driver.find_element(*locator))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:899: in find_element
return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:492: in execute
self.error_handler.check_response(response)
D:\Python\Python312\Lib\site-packages\appium\webdriver\errorhandler.py:125: in check_response
raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
E selenium.common.exceptions.WebDriverException: Message: Could not proxy command to the remote server. Original error: socket hang up
E Stacktrace:
E UnknownError: Could not proxy command to the remote server. Original error: socket hang up
E at ProxyRequestError.getActualError (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\protocol\errors.js:701:16)
E at UIA2Proxy.command (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\jsonwp-proxy\proxy.js:272:27)
E at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
E at async AndroidUiautomator2Driver.doFindElementOrEls (file:///C:/Users/23184/.appium/node_modules/appium-uiautomator2-driver/build/lib/commands/find.js:20:13)
E at async doFind (C:\Users\23184\.appium\node_modules\appium-uiautomator2-driver\node_modules\appium-android-driver\build\lib\commands\find.js:24:23)
E at async wrappedCondFn (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\timeout.js:93:20)
E at async spin (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\asyncbox\build\lib\asyncbox.js:261:24)
E at async waitForCondition (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\asyncbox\build\lib\asyncbox.js:279:12)
E at async AndroidUiautomator2Driver.implicitWaitForCondition (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\timeout.js:95:16)
E at async AndroidUiautomator2Driver.findElOrEls (C:\Users\23184\.appium\node_modules\appium-uiautomator2-driver\node_modules\appium-android-driver\build\lib\commands\find.js:45:9)
E at async AndroidUiautomator2Driver.findElOrElsWithProcessing (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\find.js:12:16)
E at async AndroidUiautomator2Driver.findElement (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\find.js:28:16)
E at async runCommandPromise (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\driver.js:119:24)</failure></testcase><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlement" name="test_driver_to_settlement_full_flow" time="0.944"><error message="failed on teardown with &quot;selenium.common.exceptions.WebDriverException: Message: Could not proxy command to the remote server. Original error: socket hang up&#10;Stacktrace:&#10;UnknownError: Could not proxy command to the remote server. Original error: socket hang up&#10; at ProxyRequestError.getActualError (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\protocol\errors.js:701:16)&#10; at UIA2Proxy.command (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\jsonwp-proxy\proxy.js:272:27)&#10; at process.processTicksAndRejections (node:internal/process/task_queues:104:5)&#10; at async AndroidUiautomator2Driver.getScreenshot (file:///C:/Users/23184/.appium/node_modules/appium-uiautomator2-driver/build/lib/commands/screenshot.js:61:19)&#10; at async runCommandPromise (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\driver.js:119:24)&quot;">tests\cross_end\conftest.py:100: in app_driver
save_failure_screenshot(d, cfg, "android", request)
tests\app\_shared.py:190: in save_failure_screenshot
driver.save_screenshot(path)
D:\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:979: in save_screenshot
return self.get_screenshot_as_file(filename)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:956: in get_screenshot_as_file
png = self.get_screenshot_as_png()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:987: in get_screenshot_as_png
return b64decode(self.get_screenshot_as_base64().encode("ascii"))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:997: in get_screenshot_as_base64
return self.execute(Command.SCREENSHOT)["value"]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:492: in execute
self.error_handler.check_response(response)
D:\Python\Python312\Lib\site-packages\appium\webdriver\errorhandler.py:125: in check_response
raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
E selenium.common.exceptions.WebDriverException: Message: Could not proxy command to the remote server. Original error: socket hang up
E Stacktrace:
E UnknownError: Could not proxy command to the remote server. Original error: socket hang up
E at ProxyRequestError.getActualError (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\protocol\errors.js:701:16)
E at UIA2Proxy.command (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\jsonwp-proxy\proxy.js:272:27)
E at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
E at async AndroidUiautomator2Driver.getScreenshot (file:///C:/Users/23184/.appium/node_modules/appium-uiautomator2-driver/build/lib/commands/screenshot.js:61:19)
E at async runCommandPromise (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\driver.js:119:24)</error></testcase></testsuite></testsuites>
+17
View File
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="1" skipped="0" tests="1" time="76.007" timestamp="2026-07-29T09:06:35.634456+08:00" hostname="Y8126"><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlement" name="test_driver_to_settlement_full_flow" time="75.623"><failure message="selenium.common.exceptions.TimeoutException: Message: &#10;Stacktrace:&#10;NoSuchElementError: An element could not be located on the page using the given search parameters.&#10; at AndroidUiautomator2Driver.findElOrEls (C:\Users\23184\.appium\node_modules\appium-uiautomator2-driver\node_modules\appium-android-driver\build\lib\commands\find.js:62:15)&#10; at process.processTicksAndRejections (node:internal/process/task_queues:104:5)&#10; at async AndroidUiautomator2Driver.findElOrElsWithProcessing (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\find.js:12:16)&#10; at async AndroidUiautomator2Driver.findElement (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\find.js:28:16)&#10; at async runCommandPromise (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\driver.js:119:24)">tests\cross_end\tests\test_driver_to_settlement.py:87: in test_driver_to_settlement_full_flow
driver_flow.accept_order_flow(quantity="1")
tests\cross_end\pages\app\driver_freight_flow_page.py:127: in accept_order_flow
self._wait_and_fill(self.quantity_input, quantity) # ③ 填写数量
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tests\cross_end\pages\app\driver_freight_flow_page.py:76: in _wait_and_fill
wait.until(EC.visibility_of_element_located(locator))
D:\Python\Python312\Lib\site-packages\selenium\webdriver\support\wait.py:121: in until
raise TimeoutException(message, screen, stacktrace)
E selenium.common.exceptions.TimeoutException: Message:
E Stacktrace:
E NoSuchElementError: An element could not be located on the page using the given search parameters.
E at AndroidUiautomator2Driver.findElOrEls (C:\Users\23184\.appium\node_modules\appium-uiautomator2-driver\node_modules\appium-android-driver\build\lib\commands\find.js:62:15)
E at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
E at async AndroidUiautomator2Driver.findElOrElsWithProcessing (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\find.js:12:16)
E at async AndroidUiautomator2Driver.findElement (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\find.js:28:16)
E at async runCommandPromise (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\driver.js:119:24)</failure></testcase></testsuite></testsuites>
+17
View File
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="1" skipped="0" tests="1" time="77.279" timestamp="2026-07-29T09:31:32.428260+08:00" hostname="Y8126"><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlement" name="test_driver_to_settlement_full_flow" time="76.710"><failure message="selenium.common.exceptions.TimeoutException: Message: &#10;Stacktrace:&#10;NoSuchElementError: An element could not be located on the page using the given search parameters.&#10; at AndroidUiautomator2Driver.findElOrEls (C:\Users\23184\.appium\node_modules\appium-uiautomator2-driver\node_modules\appium-android-driver\build\lib\commands\find.js:62:15)&#10; at process.processTicksAndRejections (node:internal/process/task_queues:104:5)&#10; at async AndroidUiautomator2Driver.findElOrElsWithProcessing (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\find.js:12:16)&#10; at async AndroidUiautomator2Driver.findElement (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\find.js:28:16)&#10; at async runCommandPromise (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\driver.js:119:24)">tests\cross_end\tests\test_driver_to_settlement.py:87: in test_driver_to_settlement_full_flow
driver_flow.accept_order_flow(quantity="1")
tests\cross_end\pages\app\driver_freight_flow_page.py:127: in accept_order_flow
self._wait_and_fill(self.quantity_input, quantity) # ③ 填写数量
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tests\cross_end\pages\app\driver_freight_flow_page.py:76: in _wait_and_fill
wait.until(EC.visibility_of_element_located(locator))
D:\Python\Python312\Lib\site-packages\selenium\webdriver\support\wait.py:121: in until
raise TimeoutException(message, screen, stacktrace)
E selenium.common.exceptions.TimeoutException: Message:
E Stacktrace:
E NoSuchElementError: An element could not be located on the page using the given search parameters.
E at AndroidUiautomator2Driver.findElOrEls (C:\Users\23184\.appium\node_modules\appium-uiautomator2-driver\node_modules\appium-android-driver\build\lib\commands\find.js:62:15)
E at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
E at async AndroidUiautomator2Driver.findElOrElsWithProcessing (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\find.js:12:16)
E at async AndroidUiautomator2Driver.findElement (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\find.js:28:16)
E at async runCommandPromise (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\driver.js:119:24)</failure></testcase></testsuite></testsuites>
+17
View File
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="1" skipped="0" tests="1" time="68.476" timestamp="2026-07-29T09:38:46.256136+08:00" hostname="Y8126"><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlement" name="test_driver_to_settlement_full_flow" time="68.060"><failure message="selenium.common.exceptions.TimeoutException: Message: &#10;Stacktrace:&#10;NoSuchElementError: An element could not be located on the page using the given search parameters.&#10; at AndroidUiautomator2Driver.findElOrEls (C:\Users\23184\.appium\node_modules\appium-uiautomator2-driver\node_modules\appium-android-driver\build\lib\commands\find.js:62:15)&#10; at process.processTicksAndRejections (node:internal/process/task_queues:104:5)&#10; at async AndroidUiautomator2Driver.findElOrElsWithProcessing (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\find.js:12:16)&#10; at async AndroidUiautomator2Driver.findElement (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\find.js:28:16)&#10; at async runCommandPromise (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\driver.js:119:24)">tests\cross_end\tests\test_driver_to_settlement.py:87: in test_driver_to_settlement_full_flow
driver_flow.accept_order_flow(quantity="1")
tests\cross_end\pages\app\driver_freight_flow_page.py:127: in accept_order_flow
self._wait_and_fill(self.quantity_input, quantity) # ③ 填写数量
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tests\cross_end\pages\app\driver_freight_flow_page.py:76: in _wait_and_fill
wait.until(EC.visibility_of_element_located(locator))
D:\Python\Python312\Lib\site-packages\selenium\webdriver\support\wait.py:121: in until
raise TimeoutException(message, screen, stacktrace)
E selenium.common.exceptions.TimeoutException: Message:
E Stacktrace:
E NoSuchElementError: An element could not be located on the page using the given search parameters.
E at AndroidUiautomator2Driver.findElOrEls (C:\Users\23184\.appium\node_modules\appium-uiautomator2-driver\node_modules\appium-android-driver\build\lib\commands\find.js:62:15)
E at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
E at async AndroidUiautomator2Driver.findElOrElsWithProcessing (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\find.js:12:16)
E at async AndroidUiautomator2Driver.findElement (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\commands\find.js:28:16)
E at async runCommandPromise (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\driver.js:119:24)</failure></testcase></testsuite></testsuites>
+21
View File
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="1" skipped="0" tests="1" time="108.050" timestamp="2026-07-29T10:04:55.314436+08:00" hostname="Y8126"><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlement" name="test_driver_to_settlement_full_flow" time="107.612"><failure message="playwright._impl._errors.TimeoutError: Page.wait_for_selector: Timeout 5000ms exceeded.&#10;Call log:&#10; - waiting for locator(&quot;table tbody tr&quot;) to be visible&#10; 14 × locator resolved to 5 elements. Proceeding with the first one: &lt;tr&gt;…&lt;/tr&gt;">tests\cross_end\tests\test_driver_to_settlement.py:128: in test_driver_to_settlement_full_flow
admin_accounting.do_shipper_payment(transport_order_no)
tests\cross_end\pages\admin\freight_accounting_page.py:257: in do_shipper_payment
self._click_table_action(button_index=2)
tests\cross_end\pages\admin\freight_accounting_page.py:82: in _click_table_action
self.page.wait_for_selector("table tbody tr", timeout=5_000)
D:\Python\Python312\Lib\site-packages\playwright\sync_api\_generated.py:8928: in wait_for_selector
self._sync(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_page.py:427: in wait_for_selector
return await self._main_frame.wait_for_selector(**locals_to_params(locals()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\playwright\_impl\_frame.py:394: in wait_for_selector
await self._channel.send(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_connection.py:69: in send
return await self._connection.wrap_api_call(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_connection.py:563: in wrap_api_call
raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None
E playwright._impl._errors.TimeoutError: Page.wait_for_selector: Timeout 5000ms exceeded.
E Call log:
E - waiting for locator("table tbody tr") to be visible
E 14 × locator resolved to 5 elements. Proceeding with the first one: &lt;tr&gt;…&lt;/tr&gt;</failure></testcase></testsuite></testsuites>
+21
View File
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="1" skipped="0" tests="1" time="106.184" timestamp="2026-07-29T10:16:45.572481+08:00" hostname="Y8126"><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlement" name="test_driver_to_settlement_full_flow" time="105.745"><failure message="playwright._impl._errors.TimeoutError: Page.wait_for_selector: Timeout 5000ms exceeded.&#10;Call log:&#10; - waiting for locator(&quot;table tbody tr&quot;) to be visible&#10; 14 × locator resolved to 5 elements. Proceeding with the first one: &lt;tr&gt;…&lt;/tr&gt;">tests\cross_end\tests\test_driver_to_settlement.py:128: in test_driver_to_settlement_full_flow
admin_accounting.do_shipper_payment(transport_order_no)
tests\cross_end\pages\admin\freight_accounting_page.py:257: in do_shipper_payment
self._click_table_action(button_index=2)
tests\cross_end\pages\admin\freight_accounting_page.py:82: in _click_table_action
self.page.wait_for_selector("table tbody tr", timeout=5_000)
D:\Python\Python312\Lib\site-packages\playwright\sync_api\_generated.py:8928: in wait_for_selector
self._sync(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_page.py:427: in wait_for_selector
return await self._main_frame.wait_for_selector(**locals_to_params(locals()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\playwright\_impl\_frame.py:394: in wait_for_selector
await self._channel.send(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_connection.py:69: in send
return await self._connection.wrap_api_call(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_connection.py:563: in wrap_api_call
raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None
E playwright._impl._errors.TimeoutError: Page.wait_for_selector: Timeout 5000ms exceeded.
E Call log:
E - waiting for locator("table tbody tr") to be visible
E 14 × locator resolved to 5 elements. Proceeding with the first one: &lt;tr&gt;…&lt;/tr&gt;</failure></testcase></testsuite></testsuites>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+21
View File
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="1" skipped="0" tests="1" time="108.793" timestamp="2026-07-29T10:49:03.078350+08:00" hostname="Y8126"><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlementTeamLeader" name="test_driver_to_settlement_team_leader_flow" time="108.462"><failure message="playwright._impl._errors.TimeoutError: Page.wait_for_selector: Timeout 5000ms exceeded.&#10;Call log:&#10; - waiting for locator(&quot;table tbody tr&quot;) to be visible&#10; 14 × locator resolved to 5 elements. Proceeding with the first one: &lt;tr&gt;…&lt;/tr&gt;">tests\cross_end\tests\test_driver_to_settlement.py:243: in test_driver_to_settlement_team_leader_flow
admin_accounting.do_shipper_payment(transport_order_no)
tests\cross_end\pages\admin\freight_accounting_page.py:315: in do_shipper_payment
self._click_table_action(button_index=2)
tests\cross_end\pages\admin\freight_accounting_page.py:82: in _click_table_action
self.page.wait_for_selector("table tbody tr", timeout=5_000)
D:\Python\Python312\Lib\site-packages\playwright\sync_api\_generated.py:8928: in wait_for_selector
self._sync(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_page.py:427: in wait_for_selector
return await self._main_frame.wait_for_selector(**locals_to_params(locals()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\playwright\_impl\_frame.py:394: in wait_for_selector
await self._channel.send(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_connection.py:69: in send
return await self._connection.wrap_api_call(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_connection.py:563: in wrap_api_call
raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None
E playwright._impl._errors.TimeoutError: Page.wait_for_selector: Timeout 5000ms exceeded.
E Call log:
E - waiting for locator("table tbody tr") to be visible
E 14 × locator resolved to 5 elements. Proceeding with the first one: &lt;tr&gt;…&lt;/tr&gt;</failure></testcase></testsuite></testsuites>
+21
View File
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="1" skipped="0" tests="2" time="200.337" timestamp="2026-07-29T11:04:11.233754+08:00" hostname="Y8126"><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlement" name="test_driver_to_settlement_full_flow" time="92.181" /><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlementTeamLeader" name="test_driver_to_settlement_team_leader_flow" time="107.764"><failure message="playwright._impl._errors.TimeoutError: Page.wait_for_selector: Timeout 5000ms exceeded.&#10;Call log:&#10; - waiting for locator(&quot;table tbody tr&quot;) to be visible&#10; 14 × locator resolved to 5 elements. Proceeding with the first one: &lt;tr&gt;…&lt;/tr&gt;">tests\cross_end\tests\test_driver_to_settlement.py:243: in test_driver_to_settlement_team_leader_flow
admin_accounting.do_shipper_payment(transport_order_no)
tests\cross_end\pages\admin\freight_accounting_page.py:315: in do_shipper_payment
self._click_table_action(button_index=2)
tests\cross_end\pages\admin\freight_accounting_page.py:82: in _click_table_action
self.page.wait_for_selector("table tbody tr", timeout=5_000)
D:\Python\Python312\Lib\site-packages\playwright\sync_api\_generated.py:8928: in wait_for_selector
self._sync(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_page.py:427: in wait_for_selector
return await self._main_frame.wait_for_selector(**locals_to_params(locals()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\playwright\_impl\_frame.py:394: in wait_for_selector
await self._channel.send(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_connection.py:69: in send
return await self._connection.wrap_api_call(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_connection.py:563: in wrap_api_call
raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None
E playwright._impl._errors.TimeoutError: Page.wait_for_selector: Timeout 5000ms exceeded.
E Call log:
E - waiting for locator("table tbody tr") to be visible
E 14 × locator resolved to 5 elements. Proceeding with the first one: &lt;tr&gt;…&lt;/tr&gt;</failure></testcase></testsuite></testsuites>
+21
View File
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="1" skipped="0" tests="2" time="203.579" timestamp="2026-07-29T11:13:57.704319+08:00" hostname="Y8126"><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlement" name="test_driver_to_settlement_full_flow" time="96.949" /><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlementTeamLeader" name="test_driver_to_settlement_team_leader_flow" time="106.180"><failure message="playwright._impl._errors.TimeoutError: Page.wait_for_selector: Timeout 5000ms exceeded.&#10;Call log:&#10; - waiting for locator(&quot;table tbody tr&quot;) to be visible&#10; 14 × locator resolved to 5 elements. Proceeding with the first one: &lt;tr&gt;…&lt;/tr&gt;">tests\cross_end\tests\test_driver_to_settlement.py:243: in test_driver_to_settlement_team_leader_flow
admin_accounting.do_shipper_payment(transport_order_no)
tests\cross_end\pages\admin\freight_accounting_page.py:315: in do_shipper_payment
self._click_table_action(button_index=2)
tests\cross_end\pages\admin\freight_accounting_page.py:82: in _click_table_action
self.page.wait_for_selector("table tbody tr", timeout=5_000)
D:\Python\Python312\Lib\site-packages\playwright\sync_api\_generated.py:8928: in wait_for_selector
self._sync(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_page.py:427: in wait_for_selector
return await self._main_frame.wait_for_selector(**locals_to_params(locals()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\playwright\_impl\_frame.py:394: in wait_for_selector
await self._channel.send(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_connection.py:69: in send
return await self._connection.wrap_api_call(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_connection.py:563: in wrap_api_call
raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None
E playwright._impl._errors.TimeoutError: Page.wait_for_selector: Timeout 5000ms exceeded.
E Call log:
E - waiting for locator("table tbody tr") to be visible
E 14 × locator resolved to 5 elements. Proceeding with the first one: &lt;tr&gt;…&lt;/tr&gt;</failure></testcase></testsuite></testsuites>
+21
View File
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="1" skipped="0" tests="2" time="199.840" timestamp="2026-07-29T11:27:04.272914+08:00" hostname="Y8126"><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlement" name="test_driver_to_settlement_full_flow" time="93.248" /><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlementTeamLeader" name="test_driver_to_settlement_team_leader_flow" time="106.258"><failure message="playwright._impl._errors.TimeoutError: Page.wait_for_selector: Timeout 5000ms exceeded.&#10;Call log:&#10; - waiting for locator(&quot;table tbody tr&quot;) to be visible&#10; 14 × locator resolved to 5 elements. Proceeding with the first one: &lt;tr&gt;…&lt;/tr&gt;">tests\cross_end\tests\test_driver_to_settlement.py:243: in test_driver_to_settlement_team_leader_flow
admin_accounting.do_shipper_payment(transport_order_no)
tests\cross_end\pages\admin\freight_accounting_page.py:315: in do_shipper_payment
self._click_table_action(button_index=2)
tests\cross_end\pages\admin\freight_accounting_page.py:82: in _click_table_action
self.page.wait_for_selector("table tbody tr", timeout=5_000)
D:\Python\Python312\Lib\site-packages\playwright\sync_api\_generated.py:8928: in wait_for_selector
self._sync(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_page.py:427: in wait_for_selector
return await self._main_frame.wait_for_selector(**locals_to_params(locals()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\playwright\_impl\_frame.py:394: in wait_for_selector
await self._channel.send(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_connection.py:69: in send
return await self._connection.wrap_api_call(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_connection.py:563: in wrap_api_call
raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None
E playwright._impl._errors.TimeoutError: Page.wait_for_selector: Timeout 5000ms exceeded.
E Call log:
E - waiting for locator("table tbody tr") to be visible
E 14 × locator resolved to 5 elements. Proceeding with the first one: &lt;tr&gt;…&lt;/tr&gt;</failure></testcase></testsuite></testsuites>
+21
View File
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="1" skipped="0" tests="2" time="197.683" timestamp="2026-07-29T11:35:24.721518+08:00" hostname="Y8126"><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlement" name="test_driver_to_settlement_full_flow" time="90.745" /><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlementTeamLeader" name="test_driver_to_settlement_team_leader_flow" time="106.565"><failure message="playwright._impl._errors.TimeoutError: Page.wait_for_selector: Timeout 5000ms exceeded.&#10;Call log:&#10; - waiting for locator(&quot;table tbody tr&quot;) to be visible&#10; 14 × locator resolved to 5 elements. Proceeding with the first one: &lt;tr&gt;…&lt;/tr&gt;">tests\cross_end\tests\test_driver_to_settlement.py:243: in test_driver_to_settlement_team_leader_flow
admin_accounting.do_shipper_payment(transport_order_no)
tests\cross_end\pages\admin\freight_accounting_page.py:315: in do_shipper_payment
self._click_table_action(button_index=2)
tests\cross_end\pages\admin\freight_accounting_page.py:82: in _click_table_action
self.page.wait_for_selector("table tbody tr", timeout=5_000)
D:\Python\Python312\Lib\site-packages\playwright\sync_api\_generated.py:8928: in wait_for_selector
self._sync(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_page.py:427: in wait_for_selector
return await self._main_frame.wait_for_selector(**locals_to_params(locals()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\playwright\_impl\_frame.py:394: in wait_for_selector
await self._channel.send(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_connection.py:69: in send
return await self._connection.wrap_api_call(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_connection.py:563: in wrap_api_call
raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None
E playwright._impl._errors.TimeoutError: Page.wait_for_selector: Timeout 5000ms exceeded.
E Call log:
E - waiting for locator("table tbody tr") to be visible
E 14 × locator resolved to 5 elements. Proceeding with the first one: &lt;tr&gt;…&lt;/tr&gt;</failure></testcase></testsuite></testsuites>
+21
View File
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="1" skipped="0" tests="2" time="196.819" timestamp="2026-07-29T11:45:51.292254+08:00" hostname="Y8126"><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlement" name="test_driver_to_settlement_full_flow" time="89.565" /><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlementTeamLeader" name="test_driver_to_settlement_team_leader_flow" time="106.876"><failure message="playwright._impl._errors.TimeoutError: Page.wait_for_selector: Timeout 5000ms exceeded.&#10;Call log:&#10; - waiting for locator(&quot;table tbody tr&quot;) to be visible&#10; 14 × locator resolved to 5 elements. Proceeding with the first one: &lt;tr&gt;…&lt;/tr&gt;">tests\cross_end\tests\test_driver_to_settlement.py:243: in test_driver_to_settlement_team_leader_flow
admin_accounting.do_shipper_payment(transport_order_no)
tests\cross_end\pages\admin\freight_accounting_page.py:315: in do_shipper_payment
self._click_table_action(button_index=2)
tests\cross_end\pages\admin\freight_accounting_page.py:82: in _click_table_action
self.page.wait_for_selector("table tbody tr", timeout=5_000)
D:\Python\Python312\Lib\site-packages\playwright\sync_api\_generated.py:8928: in wait_for_selector
self._sync(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_page.py:427: in wait_for_selector
return await self._main_frame.wait_for_selector(**locals_to_params(locals()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\playwright\_impl\_frame.py:394: in wait_for_selector
await self._channel.send(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_connection.py:69: in send
return await self._connection.wrap_api_call(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_connection.py:563: in wrap_api_call
raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None
E playwright._impl._errors.TimeoutError: Page.wait_for_selector: Timeout 5000ms exceeded.
E Call log:
E - waiting for locator("table tbody tr") to be visible
E 14 × locator resolved to 5 elements. Proceeding with the first one: &lt;tr&gt;…&lt;/tr&gt;</failure></testcase></testsuite></testsuites>
+21
View File
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="1" skipped="0" tests="2" time="201.854" timestamp="2026-07-29T13:56:50.384665+08:00" hostname="Y8126"><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlement" name="test_driver_to_settlement_full_flow" time="93.491" /><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlementTeamLeader" name="test_driver_to_settlement_team_leader_flow" time="107.874"><failure message="playwright._impl._errors.TimeoutError: Page.wait_for_selector: Timeout 5000ms exceeded.&#10;Call log:&#10; - waiting for locator(&quot;table tbody tr&quot;) to be visible&#10; 14 × locator resolved to 5 elements. Proceeding with the first one: &lt;tr&gt;…&lt;/tr&gt;">tests\cross_end\tests\test_driver_to_settlement.py:243: in test_driver_to_settlement_team_leader_flow
admin_accounting.do_shipper_payment(transport_order_no)
tests\cross_end\pages\admin\freight_accounting_page.py:315: in do_shipper_payment
self._click_table_action(button_index=2)
tests\cross_end\pages\admin\freight_accounting_page.py:82: in _click_table_action
self.page.wait_for_selector("table tbody tr", timeout=5_000)
D:\Python\Python312\Lib\site-packages\playwright\sync_api\_generated.py:8928: in wait_for_selector
self._sync(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_page.py:427: in wait_for_selector
return await self._main_frame.wait_for_selector(**locals_to_params(locals()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\playwright\_impl\_frame.py:394: in wait_for_selector
await self._channel.send(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_connection.py:69: in send
return await self._connection.wrap_api_call(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_connection.py:563: in wrap_api_call
raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None
E playwright._impl._errors.TimeoutError: Page.wait_for_selector: Timeout 5000ms exceeded.
E Call log:
E - waiting for locator("table tbody tr") to be visible
E 14 × locator resolved to 5 elements. Proceeding with the first one: &lt;tr&gt;…&lt;/tr&gt;</failure></testcase></testsuite></testsuites>
+21
View File
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="1" skipped="0" tests="2" time="198.770" timestamp="2026-07-29T14:06:03.838607+08:00" hostname="Y8126"><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlement" name="test_driver_to_settlement_full_flow" time="92.343" /><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlementTeamLeader" name="test_driver_to_settlement_team_leader_flow" time="106.049"><failure message="playwright._impl._errors.TimeoutError: Page.wait_for_selector: Timeout 5000ms exceeded.&#10;Call log:&#10; - waiting for locator(&quot;table tbody tr&quot;) to be visible&#10; 14 × locator resolved to 5 elements. Proceeding with the first one: &lt;tr&gt;…&lt;/tr&gt;">tests\cross_end\tests\test_driver_to_settlement.py:243: in test_driver_to_settlement_team_leader_flow
admin_accounting.do_shipper_payment(transport_order_no)
tests\cross_end\pages\admin\freight_accounting_page.py:315: in do_shipper_payment
self._click_table_action(button_index=2)
tests\cross_end\pages\admin\freight_accounting_page.py:82: in _click_table_action
self.page.wait_for_selector("table tbody tr", timeout=5_000)
D:\Python\Python312\Lib\site-packages\playwright\sync_api\_generated.py:8928: in wait_for_selector
self._sync(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_page.py:427: in wait_for_selector
return await self._main_frame.wait_for_selector(**locals_to_params(locals()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\playwright\_impl\_frame.py:394: in wait_for_selector
await self._channel.send(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_connection.py:69: in send
return await self._connection.wrap_api_call(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_connection.py:563: in wrap_api_call
raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None
E playwright._impl._errors.TimeoutError: Page.wait_for_selector: Timeout 5000ms exceeded.
E Call log:
E - waiting for locator("table tbody tr") to be visible
E 14 × locator resolved to 5 elements. Proceeding with the first one: &lt;tr&gt;…&lt;/tr&gt;</failure></testcase></testsuite></testsuites>
+21
View File
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="1" skipped="0" tests="2" time="197.608" timestamp="2026-07-29T14:21:04.270151+08:00" hostname="Y8126"><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlement" name="test_driver_to_settlement_full_flow" time="89.262" /><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlementTeamLeader" name="test_driver_to_settlement_team_leader_flow" time="107.866"><failure message="playwright._impl._errors.TimeoutError: Page.wait_for_selector: Timeout 5000ms exceeded.&#10;Call log:&#10; - waiting for locator(&quot;table tbody tr&quot;) to be visible&#10; 14 × locator resolved to 5 elements. Proceeding with the first one: &lt;tr&gt;…&lt;/tr&gt;">tests\cross_end\tests\test_driver_to_settlement.py:243: in test_driver_to_settlement_team_leader_flow
admin_accounting.do_shipper_payment(transport_order_no)
tests\cross_end\pages\admin\freight_accounting_page.py:315: in do_shipper_payment
self._click_table_action(button_index=2)
tests\cross_end\pages\admin\freight_accounting_page.py:82: in _click_table_action
self.page.wait_for_selector("table tbody tr", timeout=5_000)
D:\Python\Python312\Lib\site-packages\playwright\sync_api\_generated.py:8928: in wait_for_selector
self._sync(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_page.py:427: in wait_for_selector
return await self._main_frame.wait_for_selector(**locals_to_params(locals()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
D:\Python\Python312\Lib\site-packages\playwright\_impl\_frame.py:394: in wait_for_selector
await self._channel.send(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_connection.py:69: in send
return await self._connection.wrap_api_call(
D:\Python\Python312\Lib\site-packages\playwright\_impl\_connection.py:563: in wrap_api_call
raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None
E playwright._impl._errors.TimeoutError: Page.wait_for_selector: Timeout 5000ms exceeded.
E Call log:
E - waiting for locator("table tbody tr") to be visible
E 14 × locator resolved to 5 elements. Proceeding with the first one: &lt;tr&gt;…&lt;/tr&gt;</failure></testcase></testsuite></testsuites>

Some files were not shown because too many files have changed in this diff Show More