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
@@ -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 ============================================================
|
||||
|
After Width: | Height: | Size: 376 KiB |
|
After Width: | Height: | Size: 376 KiB |
|
After Width: | Height: | Size: 338 KiB |
|
After Width: | Height: | Size: 338 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
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 — ============================================================
|
||||
|
After Width: | Height: | Size: 65 KiB |
|
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 ============================================================
|
||||
|
After Width: | Height: | Size: 90 KiB |
|
After Width: | Height: | Size: 314 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 78 KiB |
@@ -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"
|
||||
|
@@ -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":[]}
|
||||
@@ -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"}]}
|
||||
@@ -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","",""
|
||||
|
@@ -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"}]}
|
||||
@@ -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"}
|
||||