refactor(tests): restructure into layered POM architecture with Allure reporting

- Split framework into core/ (config, logger, db, driver factories, screenshot,
  allure integration) and pages/ (PO layer: base/admin/driver); flatten test
  files per platform (web/admin, app/driver_android, cross_end)
- Slim root conftest.py 656 -> ~100 lines: drop inline CN HTML report, add
  Allure severity mapping (p0/p1/p2 -> blocker/normal/minor) and
  environment.properties; support both tests.*-prefixed and bare imports
- Preserve TC-D2S-001/002 cross-end E2E cases with business logic unchanged,
  add allure epic/feature/story/step annotations
- Deduplicate: single makereport hook, shared failure-screenshot helpers,
  single SCREENSHOTS_DIR constant; deterministic auth-state role loading
- Move DB credentials from db_helper.py into test_config.yaml (database section)
- Move pytest.ini to repo root; switch reporting to allure-pytest
  (drop pytest-html/junitxml); update requirements.txt accordingly
- Delete deprecated scaffolding: test_freight_full_flow + 6 stale page
  objects, iOS/shipper empty shells, dead utils
- Fix flaky vxe-table action-row wait: wait for a visible td instead of
  hidden placeholder rows (fixed shipper-payment timeouts)
- Verified end-to-end against live env: both E2E cases pass (2 passed 3m12s);
  run artifacts (logs/screenshots/allure) included per repo convention
This commit is contained in:
xst
2026-08-17 14:29:52 +08:00
parent 70bd7fede2
commit 18890c0437
597 changed files with 2184 additions and 3286 deletions
@@ -0,0 +1,17 @@
2026-08-17 09:29:47 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-08-17 09:29:47 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程开始
2026-08-17 09:29:47 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-08-17 09:30:04 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-08-17 09:30:24 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-08-17 09:30:41 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-08-17 09:30:43 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026081300020927030011
2026-08-17 09:30:54 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成: RHJC040026081300020927030011
2026-08-17 09:31:01 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026081300020927030011
2026-08-17 09:31:09 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026081300020927030011
2026-08-17 09:31:16 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026081300020927030011
2026-08-17 09:31:16 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-08-17 09:31:16 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款 完整流程结束!
2026-08-17 09:31:16 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026081300020927030011
2026-08-17 09:31:16 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-08-17 09:31:16 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-08-17 09:31:16 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
@@ -0,0 +1,17 @@
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 -> 运输单号: RHJC040026081300020928390012
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:243 -> 运费核算完成(车队长全额收款): RHJC040026081300020928390012
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:248 -> 运单审核完成: RHJC040026081300020928390012
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:252 -> 垫资-财务打款完成: RHJC040026081300020928390012
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:256 -> 垫资-货主打款完成: RHJC040026081300020928390012
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 运输单号: RHJC040026081300020928390012
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 ============================================================
Binary file not shown.

After

Width:  |  Height:  |  Size: 376 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 376 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 338 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 338 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

@@ -0,0 +1,17 @@
2026-08-17 09:31:23 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-08-17 09:31:23 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程开始
2026-08-17 09:31:23 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-08-17 09:31:39 [INFO] tests.cross_end.test_driver_to_settlement — -> 接单流程完成
2026-08-17 09:32:01 [INFO] tests.cross_end.test_driver_to_settlement — -> 装货流程完成
2026-08-17 09:32:15 [INFO] tests.cross_end.test_driver_to_settlement — -> 卸货流程完成
2026-08-17 09:32:17 [INFO] tests.cross_end.test_driver_to_settlement — -> 运输单号: RHJC040026081300020928390012
2026-08-17 09:32:31 [INFO] tests.cross_end.test_driver_to_settlement — -> 运费核算完成(车队长全额收款): RHJC040026081300020928390012
2026-08-17 09:32:38 [INFO] tests.cross_end.test_driver_to_settlement — -> 运单审核完成: RHJC040026081300020928390012
2026-08-17 09:32:45 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-财务打款完成: RHJC040026081300020928390012
2026-08-17 09:32:52 [INFO] tests.cross_end.test_driver_to_settlement — -> 垫资-货主打款完成: RHJC040026081300020928390012
2026-08-17 09:32:52 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
2026-08-17 09:32:52 [INFO] tests.cross_end.test_driver_to_settlement — 跨端 E2E: 司机APP → 管理端核算打款(车队长全额收款)完整流程结束!
2026-08-17 09:32:52 [INFO] tests.cross_end.test_driver_to_settlement — 运输单号: RHJC040026081300020928390012
2026-08-17 09:32:52 [INFO] tests.cross_end.test_driver_to_settlement — 核算完成: True
2026-08-17 09:32:52 [INFO] tests.cross_end.test_driver_to_settlement — 审核完成: True
2026-08-17 09:32:52 [INFO] tests.cross_end.test_driver_to_settlement — ============================================================
Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 KiB

@@ -0,0 +1,17 @@
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 -> 运输单号: RHJC040026081300020927030011
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:129 -> 运费核算完成: RHJC040026081300020927030011
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:134 -> 运单审核完成: RHJC040026081300020927030011
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:138 -> 垫资-财务打款完成: RHJC040026081300020927030011
INFO tests.cross_end.test_driver_to_settlement:test_driver_to_settlement.py:142 -> 垫资-货主打款完成: RHJC040026081300020927030011
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 运输单号: RHJC040026081300020927030011
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.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

+3
View File
@@ -0,0 +1,3 @@
"BROKEN","EPIC","FAILED","FEATURE","PASSED","SKIPPED","STORY","UNKNOWN"
"0","运八网络货运平台","0","跨端 E2E — 司机接单到管理端核算打款","1","0","司机APP接单到管理端核算打款-车队长全额收款流程","0"
"0","运八网络货运平台","0","跨端 E2E — 司机接单到管理端核算打款","1","0","司机APP接单到管理端核算打款完整流程","0"
1 BROKEN EPIC FAILED FEATURE PASSED SKIPPED STORY UNKNOWN
2 0 运八网络货运平台 0 跨端 E2E — 司机接单到管理端核算打款 1 0 司机APP接单到管理端核算打款-车队长全额收款流程 0
3 0 运八网络货运平台 0 跨端 E2E — 司机接单到管理端核算打款 1 0 司机APP接单到管理端核算打款完整流程 0
+1
View File
@@ -0,0 +1 @@
{"uid":"b1a8273437954620fa374b796ffaacdd","name":"behaviors","children":[{"name":"运八网络货运平台","children":[{"name":"跨端 E2E — 司机接单到管理端核算打款","children":[{"name":"司机APP接单到管理端核算打款完整流程","children":[{"name":"TC-D2S-001 司机APP接单到管理端核算打款完整流程","uid":"ca43c608a8ccf0cf","parentUid":"b67e7afdaa27ac9e681689a1e12cb3a6","status":"passed","time":{"start":1786930187121,"stop":1786930276915,"duration":89794},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["p0","cross_end","smoke"]}],"uid":"b67e7afdaa27ac9e681689a1e12cb3a6"},{"name":"司机APP接单到管理端核算打款-车队长全额收款流程","children":[{"name":"TC-D2S-002 司机APP接单到管理端核算打款-车队长全额收款流程","uid":"f43b3909b7ed59be","parentUid":"3bed3ccc30fdea73f0b2914d33610370","status":"passed","time":{"start":1786930283285,"stop":1786930372996,"duration":89711},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["p0","cross_end","smoke"]}],"uid":"3bed3ccc30fdea73f0b2914d33610370"}],"uid":"fce27549bee248ac180ed749a7a6e9ef"}],"uid":"0cf1280c3966cfe62d9c90761d98bc73"}]}
@@ -0,0 +1 @@
{"uid":"4b4757e66a1912dae1a509f688f20b0f","name":"categories","children":[]}
+1
View File
@@ -0,0 +1 @@
{"uid":"83edc06c07f9ae9e47eb6dd1b683e4e2","name":"packages","children":[{"name":"tests.cross_end.test_driver_to_settlement","children":[{"name":"TC-D2S-001 司机APP接单到管理端核算打款完整流程","uid":"ca43c608a8ccf0cf","parentUid":"cb804fc0c8168e97ce016ef5ec7ea8f6","status":"passed","time":{"start":1786930187121,"stop":1786930276915,"duration":89794},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["p0","cross_end","smoke"]},{"name":"TC-D2S-002 司机APP接单到管理端核算打款-车队长全额收款流程","uid":"f43b3909b7ed59be","parentUid":"cb804fc0c8168e97ce016ef5ec7ea8f6","status":"passed","time":{"start":1786930283285,"stop":1786930372996,"duration":89711},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["p0","cross_end","smoke"]}],"uid":"tests.cross_end.test_driver_to_settlement"}]}
+17
View File
@@ -0,0 +1,17 @@
"DESCRIPTION","DURATION IN MS","NAME","PARENT SUITE","START TIME","STATUS","STOP TIME","SUB SUITE","SUITE","TEST CLASS","TEST METHOD"
"
用例ID: TC-D2S-002
用例名称: 司机APP接单到管理端核算打款-车队长全额收款流程
优先级: P0
标签: cross_end, smoke
验证司机 APP 接单→管理端核算(车队长全额收款模式)→打款的完整跨端业务流程。
","89711","TC-D2S-002 司机APP接单到管理端核算打款-车队长全额收款流程","tests.cross_end","2026-08-17","passed","2026-08-17","TestDriverToSettlementTeamLeader","test_driver_to_settlement","",""
"
用例ID: TC-D2S-001
用例名称: 司机APP接单到管理端核算打款完整流程
优先级: P0
标签: cross_end, smoke
验证从司机 APP 接单到管理端核算打款的完整跨端业务流程。
","89794","TC-D2S-001 司机APP接单到管理端核算打款完整流程","tests.cross_end","2026-08-17","passed","2026-08-17","TestDriverToSettlement","test_driver_to_settlement","",""
1 DESCRIPTION DURATION IN MS NAME PARENT SUITE START TIME STATUS STOP TIME SUB SUITE SUITE TEST CLASS TEST METHOD
2 用例ID: TC-D2S-002 用例名称: 司机APP接单到管理端核算打款-车队长全额收款流程 优先级: P0 标签: cross_end, smoke 验证司机 APP 接单→管理端核算(车队长全额收款模式)→打款的完整跨端业务流程。 89711 TC-D2S-002 司机APP接单到管理端核算打款-车队长全额收款流程 tests.cross_end 2026-08-17 passed 2026-08-17 TestDriverToSettlementTeamLeader test_driver_to_settlement
3 用例ID: TC-D2S-001 用例名称: 司机APP接单到管理端核算打款完整流程 优先级: P0 标签: cross_end, smoke 验证从司机 APP 接单到管理端核算打款的完整跨端业务流程。 89794 TC-D2S-001 司机APP接单到管理端核算打款完整流程 tests.cross_end 2026-08-17 passed 2026-08-17 TestDriverToSettlement test_driver_to_settlement
+1
View File
@@ -0,0 +1 @@
{"uid":"98d3104e051c652961429bf95fa0b5d6","name":"suites","children":[{"name":"tests.cross_end","children":[{"name":"test_driver_to_settlement","children":[{"name":"TestDriverToSettlement","children":[{"name":"TC-D2S-001 司机APP接单到管理端核算打款完整流程","uid":"ca43c608a8ccf0cf","parentUid":"6642cc5cdfff702788e5be628a0c50f0","status":"passed","time":{"start":1786930187121,"stop":1786930276915,"duration":89794},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["p0","cross_end","smoke"]}],"uid":"6642cc5cdfff702788e5be628a0c50f0"},{"name":"TestDriverToSettlementTeamLeader","children":[{"name":"TC-D2S-002 司机APP接单到管理端核算打款-车队长全额收款流程","uid":"f43b3909b7ed59be","parentUid":"7b678b225f5b71dcc1c077cfff2e2ecb","status":"passed","time":{"start":1786930283285,"stop":1786930372996,"duration":89711},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["p0","cross_end","smoke"]}],"uid":"7b678b225f5b71dcc1c077cfff2e2ecb"}],"uid":"350227e48cafcf580a146a61feabc073"}],"uid":"149ed5331448a2d3bc35130c0f1cb86c"}]}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
{"name":"timeline","children":[{"name":"yunba-126","children":[{"name":"48468-MainThread","children":[{"name":"TC-D2S-002 司机APP接单到管理端核算打款-车队长全额收款流程","uid":"f43b3909b7ed59be","status":"passed","time":{"start":1786930283285,"stop":1786930372996,"duration":89711}},{"name":"TC-D2S-001 司机APP接单到管理端核算打款完整流程","uid":"ca43c608a8ccf0cf","status":"passed","time":{"start":1786930187121,"stop":1786930276915,"duration":89794}}],"uid":"d6787317e6ddddb06da2524bfc2fe973"}],"uid":"edf63b5b8d87493d35974a3376888323"}],"uid":"ab17fc5a4eb3bca4b216b548c7f9fcbc"}