Files
xst 18890c0437 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
2026-08-17 14:29:52 +08:00

1 line
11 KiB
JSON

{"uid":"f43b3909b7ed59be","name":"TC-D2S-002 司机APP接单到管理端核算打款-车队长全额收款流程","fullName":"tests.cross_end.test_driver_to_settlement.TestDriverToSettlementTeamLeader#test_driver_to_settlement_team_leader_flow","historyId":"e0e0770b4cd0f6646da9121031e84047","time":{"start":1786930283285,"stop":1786930372996,"duration":89711},"description":"\n 用例ID: TC-D2S-002\n 用例名称: 司机APP接单到管理端核算打款-车队长全额收款流程\n 优先级: P0\n 标签: cross_end, smoke\n\n 验证司机 APP 接单→管理端核算(车队长全额收款模式)→打款的完整跨端业务流程。\n ","descriptionHtml":"<pre><code> 用例ID: TC-D2S-002\n 用例名称: 司机APP接单到管理端核算打款-车队长全额收款流程\n 优先级: P0\n 标签: cross_end, smoke\n\n 验证司机 APP 接单→管理端核算(车队长全额收款模式)→打款的完整跨端业务流程。\n</code></pre>\n","status":"passed","flaky":false,"newFailed":false,"newBroken":false,"newPassed":false,"retriesCount":0,"retriesStatusChange":false,"beforeStages":[{"name":"config","time":{"start":1786930181805,"stop":1786930181809,"duration":4},"status":"passed","steps":[],"attachments":[],"parameters":[],"attachmentsCount":0,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":false,"attachmentStep":false},{"name":"driver_android_config","time":{"start":1786930181809,"stop":1786930181809,"duration":0},"status":"passed","steps":[],"attachments":[],"parameters":[],"attachmentsCount":0,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":false,"attachmentStep":false},{"name":"admin_config","time":{"start":1786930181809,"stop":1786930181809,"duration":0},"status":"passed","steps":[],"attachments":[],"parameters":[],"attachmentsCount":0,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":false,"attachmentStep":false},{"name":"admin_page","time":{"start":1786930277978,"stop":1786930278535,"duration":557},"status":"passed","steps":[],"attachments":[],"parameters":[],"attachmentsCount":0,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":false,"attachmentStep":false},{"name":"app_driver","time":{"start":1786930278535,"stop":1786930283284,"duration":4749},"status":"passed","steps":[],"attachments":[],"parameters":[],"attachmentsCount":0,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":false,"attachmentStep":false},{"name":"cross_end_context","time":{"start":1786930283284,"stop":1786930283284,"duration":0},"status":"passed","steps":[],"attachments":[],"parameters":[],"attachmentsCount":0,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":false,"attachmentStep":false},{"name":"ensure_admin_login","time":{"start":1786930283284,"stop":1786930283284,"duration":0},"status":"passed","steps":[],"attachments":[],"parameters":[],"attachmentsCount":0,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":false,"attachmentStep":false},{"name":"logger","time":{"start":1786930283284,"stop":1786930283285,"duration":1},"status":"passed","steps":[],"attachments":[],"parameters":[],"attachmentsCount":0,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":false,"attachmentStep":false},{"name":"ensure_driver_login","time":{"start":1786930283284,"stop":1786930283284,"duration":0},"status":"passed","steps":[],"attachments":[],"parameters":[],"attachmentsCount":0,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":false,"attachmentStep":false}],"testStage":{"description":"\n 用例ID: TC-D2S-002\n 用例名称: 司机APP接单到管理端核算打款-车队长全额收款流程\n 优先级: P0\n 标签: cross_end, smoke\n\n 验证司机 APP 接单→管理端核算(车队长全额收款模式)→打款的完整跨端业务流程。\n ","status":"passed","steps":[{"name":"Phase 1: 司机 APP — 接单流程","time":{"start":1786930290885,"stop":1786930299896,"duration":9011},"status":"passed","steps":[],"attachments":[{"uid":"8fd56e7e2b5bcaf","name":"step_accept_order","source":"8fd56e7e2b5bcaf.png","type":"image/png","size":321522}],"parameters":[],"attachmentsCount":1,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":true,"attachmentStep":false},{"name":"Phase 1: 司机 APP — 装货流程","time":{"start":1786930299897,"stop":1786930321645,"duration":21748},"status":"passed","steps":[],"attachments":[{"uid":"28454fbfc6c97979","name":"step_load_goods","source":"28454fbfc6c97979.png","type":"image/png","size":384593}],"parameters":[],"attachmentsCount":1,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":true,"attachmentStep":false},{"name":"Phase 1: 司机 APP — 卸货流程","time":{"start":1786930321645,"stop":1786930335337,"duration":13692},"status":"passed","steps":[],"attachments":[{"uid":"3be884b24001a23","name":"step_unload_goods","source":"3be884b24001a23.png","type":"image/png","size":346110}],"parameters":[],"attachmentsCount":1,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":true,"attachmentStep":false},{"name":"Phase 1: 司机 APP — 获取运输单号","time":{"start":1786930335337,"stop":1786930337082,"duration":1745},"status":"passed","steps":[],"attachments":[],"parameters":[],"attachmentsCount":0,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":false,"attachmentStep":false},{"name":"Phase 2: Web管理端 — 运费核算(车队长全额收款模式)","time":{"start":1786930337082,"stop":1786930351423,"duration":14341},"status":"passed","steps":[],"attachments":[{"uid":"65ff08337277dcfe","name":"freight_accounting_done","source":"65ff08337277dcfe.png","type":"image/png","size":66596}],"parameters":[],"attachmentsCount":1,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":true,"attachmentStep":false},{"name":"Phase 2: Web管理端 — 运单审核","time":{"start":1786930351423,"stop":1786930358070,"duration":6647},"status":"passed","steps":[],"attachments":[{"uid":"db6248027a0ae386","name":"waybill_audit_done","source":"db6248027a0ae386.png","type":"image/png","size":65328}],"parameters":[],"attachmentsCount":1,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":true,"attachmentStep":false},{"name":"Phase 2: Web管理端 — 垫资-财务打款","time":{"start":1786930358070,"stop":1786930365712,"duration":7642},"status":"passed","steps":[],"attachments":[{"uid":"4bc39cd9e1cf723f","name":"finance_payment_done","source":"4bc39cd9e1cf723f.png","type":"image/png","size":92189}],"parameters":[],"attachmentsCount":1,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":true,"attachmentStep":false},{"name":"Phase 2: Web管理端 — 垫资-货主打款","time":{"start":1786930365712,"stop":1786930372995,"duration":7283},"status":"passed","steps":[],"attachments":[{"uid":"d098a788bc057b41","name":"shipper_payment_done","source":"d098a788bc057b41.png","type":"image/png","size":79766}],"parameters":[],"attachmentsCount":1,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":true,"attachmentStep":false}],"attachments":[{"uid":"27942168053ce59c","name":"log","source":"27942168053ce59c.txt","type":"text/plain","size":2340},{"uid":"54b1fe5bde53e58b","name":"stdout","source":"54b1fe5bde53e58b.txt","type":"text/plain","size":2154}],"parameters":[],"attachmentsCount":9,"shouldDisplayMessage":false,"stepsCount":8,"hasContent":true,"attachmentStep":false},"afterStages":[{"name":"logger::<lambda>","time":{"start":1786930372996},"status":"unknown","steps":[],"attachments":[],"parameters":[],"attachmentsCount":0,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":false,"attachmentStep":false},{"name":"cross_end_context::<lambda>","time":{"start":1786930372997},"status":"unknown","steps":[],"attachments":[],"parameters":[],"attachmentsCount":0,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":false,"attachmentStep":false},{"name":"ensure_admin_login::<lambda>","time":{"start":1786930372998},"status":"unknown","steps":[],"attachments":[],"parameters":[],"attachmentsCount":0,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":false,"attachmentStep":false},{"name":"ensure_driver_login::<lambda>","time":{"start":1786930372998},"status":"unknown","steps":[],"attachments":[],"parameters":[],"attachmentsCount":0,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":false,"attachmentStep":false},{"name":"app_driver::1","time":{"start":1786930372999,"stop":1786930373247,"duration":248},"status":"passed","steps":[],"attachments":[],"parameters":[],"attachmentsCount":0,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":false,"attachmentStep":false},{"name":"admin_page::1","time":{"start":1786930373247,"stop":1786930373926,"duration":679},"status":"passed","steps":[],"attachments":[],"parameters":[],"attachmentsCount":0,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":false,"attachmentStep":false},{"name":"app_driver::<lambda>","time":{"start":1786930373247},"status":"unknown","steps":[],"attachments":[],"parameters":[],"attachmentsCount":0,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":false,"attachmentStep":false},{"name":"admin_page::<lambda>","time":{"start":1786930373926},"status":"unknown","steps":[],"attachments":[],"parameters":[],"attachmentsCount":0,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":false,"attachmentStep":false},{"name":"admin_config::<lambda>","time":{"start":1786930373927},"status":"unknown","steps":[],"attachments":[],"parameters":[],"attachmentsCount":0,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":false,"attachmentStep":false},{"name":"driver_android_config::<lambda>","time":{"start":1786930373927},"status":"unknown","steps":[],"attachments":[],"parameters":[],"attachmentsCount":0,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":false,"attachmentStep":false},{"name":"config::<lambda>","time":{"start":1786930373928},"status":"unknown","steps":[],"attachments":[],"parameters":[],"attachmentsCount":0,"shouldDisplayMessage":false,"stepsCount":0,"hasContent":false,"attachmentStep":false}],"labels":[{"name":"story","value":"司机APP接单到管理端核算打款-车队长全额收款流程"},{"name":"tag","value":"smoke"},{"name":"severity","value":"blocker"},{"name":"feature","value":"跨端 E2E — 司机接单到管理端核算打款"},{"name":"tag","value":"cross_end"},{"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":"TestDriverToSettlementTeamLeader"},{"name":"host","value":"yunba-126"},{"name":"thread","value":"48468-MainThread"},{"name":"framework","value":"pytest"},{"name":"language","value":"cpython3"},{"name":"package","value":"tests.cross_end.test_driver_to_settlement"},{"name":"resultFormat","value":"allure2"}],"parameters":[],"links":[],"hidden":false,"retry":false,"extra":{"severity":"blocker","retries":[],"categories":[],"tags":["p0","cross_end","smoke"]},"source":"f43b3909b7ed59be.json","parameterValues":[]}