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)。
95 lines
20 KiB
XML
95 lines
20 KiB
XML
<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="1" failures="0" skipped="0" tests="1" time="5.776" timestamp="2026-07-29T08:44:39.133799+08:00" hostname="Y8126"><testcase classname="cross_end.tests.test_driver_to_settlement.TestDriverToSettlement" name="test_driver_to_settlement_full_flow" time="5.407"><error message="failed on setup with "selenium.common.exceptions.WebDriverException: Message: Cannot start the 'com.arpa.ynchenggangdriver' application. Consider checking the driver's troubleshooting documentation. Original error: Error executing adbExec. Original error: 'Command ''C:\Users\23184\AppData\Local\Android\Sdk\platform-tools\adb.exe' -P 5037 -s emulator-5554 shell am start-activity -W -n com.arpa.ynchenggangdriver/com.arpa.ntocc.MainActivity -S -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000' exited with code 255'; Command output: Exception occurred while executing 'start-activity': java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 xflg=0x4 cmp=com.arpa.ynchenggangdriver/com.arpa.ntocc.MainActivity } from null (pid=7312, uid=2000) not exported from uid 10231 	at com.android.server.wm.ActivityTaskSupervisor.checkStartAnyActivityPermission(ActivityTaskSupervisor.java:1263) 	at com.android.server.wm.ActivityStarter.executeRequest(ActivityStarter.java:1220) 	at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:855) 	at com.android.server.wm.ActivityTaskManagerService.startActivityAndWait(ActivityTaskManagerService.java:1621) 	at com.android.server.am.ActivityManagerService.startActivityAndWait(ActivityManagerService.java:3316) 	at com.android.server.am.ActivityManagerShellCommand.runStartActivity(ActivityManagerShellCommand.java:875) 	at com.android.server.am.ActivityManagerShellCommand.onCommand(ActivityManagerShellCommand.java:261) 	at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97) 	at android.os.ShellCommand.exec(ShellCommand.java:38) 	at com.android.server.am.ActivityManagerService.onShellCommand(ActivityManagerService.java:10466) 	at android.os.Binder.shellCommand(Binder.java:1183) 	at android.os.Binder.onTransact(Binder.java:961) 	at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:5853) 	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2768) 	at android.os.Binder.execTransactInternal(Binder.java:1478) 	at android.os.Binder.execTransact(Binder.java:1418) Stacktrace: UnknownError: Cannot start the 'com.arpa.ynchenggangdriver' application. Consider checking the driver's troubleshooting documentation. Original error: Error executing adbExec. Original error: 'Command ''C:\Users\23184\AppData\Local\Android\Sdk\platform-tools\adb.exe' -P 5037 -s emulator-5554 shell am start-activity -W -n com.arpa.ynchenggangdriver/com.arpa.ntocc.MainActivity -S -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000' exited with code 255'; Command output: Exception occurred while executing 'start-activity': java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 xflg=0x4 cmp=com.arpa.ynchenggangdriver/com.arpa.ntocc.MainActivity } from null (pid=7312, uid=2000) not exported from uid 10231 	at com.android.server.wm.ActivityTaskSupervisor.checkStartAnyActivityPermission(ActivityTaskSupervisor.java:1263) 	at com.android.server.wm.ActivityStarter.executeRequest(ActivityStarter.java:1220) 	at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:855) 	at com.android.server.wm.ActivityTaskManagerService.startActivityAndWait(ActivityTaskManagerService.java:1621) 	at com.android.server.am.ActivityManagerService.startActivityAndWait(ActivityManagerService.java:3316) 	at com.android.server.am.ActivityManagerShellCommand.runStartActivity(ActivityManagerShellCommand.java:875) 	at com.android.server.am.ActivityManagerShellCommand.onCommand(ActivityManagerShellCommand.java:261) 	at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97) 	at android.os.ShellCommand.exec(ShellCommand.java:38) 	at com.android.server.am.ActivityManagerService.onShellCommand(ActivityManagerService.java:10466) 	at android.os.Binder.shellCommand(Binder.java:1183) 	at android.os.Binder.onTransact(Binder.java:961) 	at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:5853) 	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2768) 	at android.os.Binder.execTransactInternal(Binder.java:1478) 	at android.os.Binder.execTransact(Binder.java:1418) at getResponseForW3CError (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\protocol\errors.js:846:36) at asyncHandler (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\protocol\protocol.js:485:77) at process.processTicksAndRejections (node:internal/process/task_queues:104:5) The above error is caused by Error: Cannot start the 'com.arpa.ynchenggangdriver' application. Consider checking the driver's troubleshooting documentation. Original error: Error executing adbExec. Original error: 'Command ''C:\Users\23184\AppData\Local\Android\Sdk\platform-tools\adb.exe' -P 5037 -s emulator-5554 shell am start-activity -W -n com.arpa.ynchenggangdriver/com.arpa.ntocc.MainActivity -S -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000' exited with code 255'; Command output: Exception occurred while executing 'start-activity': java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 xflg=0x4 cmp=com.arpa.ynchenggangdriver/com.arpa.ntocc.MainActivity } from null (pid=7312, uid=2000) not exported from uid 10231 	at com.android.server.wm.ActivityTaskSupervisor.checkStartAnyActivityPermission(ActivityTaskSupervisor.java:1263) 	at com.android.server.wm.ActivityStarter.executeRequest(ActivityStarter.java:1220) 	at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:855) 	at com.android.server.wm.ActivityTaskManagerService.startActivityAndWait(ActivityTaskManagerService.java:1621) 	at com.android.server.am.ActivityManagerService.startActivityAndWait(ActivityManagerService.java:3316) 	at com.android.server.am.ActivityManagerShellCommand.runStartActivity(ActivityManagerShellCommand.java:875) 	at com.android.server.am.ActivityManagerShellCommand.onCommand(ActivityManagerShellCommand.java:261) 	at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97) 	at android.os.ShellCommand.exec(ShellCommand.java:38) 	at com.android.server.am.ActivityManagerService.onShellCommand(ActivityManagerService.java:10466) 	at android.os.Binder.shellCommand(Binder.java:1183) 	at android.os.Binder.onTransact(Binder.java:961) 	at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:5853) 	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2768) 	at android.os.Binder.execTransactInternal(Binder.java:1478) 	at android.os.Binder.execTransact(Binder.java:1418) at ADB.startApp (C:\Users\23184\.appium\node_modules\appium-uiautomator2-driver\node_modules\appium-adb\build\lib\tools\app-commands.js:615:15) at process.processTicksAndRejections (node:internal/process/task_queues:104:5) at async AndroidUiautomator2Driver.ensureAppStarts (file:///C:/Users/23184/.appium/node_modules/appium-uiautomator2-driver/build/lib/commands/aut.js:100:5) at async AndroidUiautomator2Driver.performPostExecSetup [as performSessionPostExecSetup] (file:///C:/Users/23184/.appium/node_modules/appium-uiautomator2-driver/build/lib/uiautomator2-server/session.js:187:9) at async AndroidUiautomator2Driver.startSession [as startUiAutomator2Session] (file:///C:/Users/23184/.appium/node_modules/appium-uiautomator2-driver/build/lib/uiautomator2-server/session.js:245:5) at async AndroidUiautomator2Driver.createSession (file:///C:/Users/23184/.appium/node_modules/appium-uiautomator2-driver/build/lib/driver.js:295:28) at async AppiumDriver.createSession (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\build\lib\appium.js:271:44) at async runCommandPromise (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\driver.js:119:24) at async AppiumDriver.executeCommand (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\driver.js:162:15) at async defaultBehavior (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\build\lib\appium.js:582:24) at async AppiumDriver.executeWrappedCommand (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\build\lib\appium.js:694:22) at async AppiumDriver.executeCommand (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\build\lib\appium.js:598:21) at async asyncHandler (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\protocol\protocol.js:401:25)"">tests\cross_end\conftest.py:98: in app_driver
|
|
d = create_driver(cfg, platform="android")
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
tests\app\_shared.py:46: in create_driver
|
|
return webdriver.Remote(appium_host, options=options)
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
D:\Python\Python312\Lib\site-packages\appium\webdriver\webdriver.py:251: in __init__
|
|
super().__init__(
|
|
D:\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:300: in __init__
|
|
self.start_session(capabilities)
|
|
D:\Python\Python312\Lib\site-packages\appium\webdriver\webdriver.py:345: in start_session
|
|
response = self.execute(RemoteCommand.NEW_SESSION, w3c_caps)
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
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\selenium\webdriver\remote\errorhandler.py:232: in check_response
|
|
raise exception_class(message, screen, stacktrace)
|
|
E selenium.common.exceptions.WebDriverException: Message: Cannot start the 'com.arpa.ynchenggangdriver' application. Consider checking the driver's troubleshooting documentation. Original error: Error executing adbExec. Original error: 'Command ''C:\Users\23184\AppData\Local\Android\Sdk\platform-tools\adb.exe' -P 5037 -s emulator-5554 shell am start-activity -W -n com.arpa.ynchenggangdriver/com.arpa.ntocc.MainActivity -S -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000' exited with code 255'; Command output:
|
|
|
|
E Exception occurred while executing 'start-activity':
|
|
|
|
E java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 xflg=0x4 cmp=com.arpa.ynchenggangdriver/com.arpa.ntocc.MainActivity } from null (pid=7312, uid=2000) not exported from uid 10231
|
|
|
|
E at com.android.server.wm.ActivityTaskSupervisor.checkStartAnyActivityPermission(ActivityTaskSupervisor.java:1263)
|
|
|
|
E at com.android.server.wm.ActivityStarter.executeRequest(ActivityStarter.java:1220)
|
|
|
|
E at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:855)
|
|
|
|
E at com.android.server.wm.ActivityTaskManagerService.startActivityAndWait(ActivityTaskManagerService.java:1621)
|
|
|
|
E at com.android.server.am.ActivityManagerService.startActivityAndWait(ActivityManagerService.java:3316)
|
|
|
|
E at com.android.server.am.ActivityManagerShellCommand.runStartActivity(ActivityManagerShellCommand.java:875)
|
|
|
|
E at com.android.server.am.ActivityManagerShellCommand.onCommand(ActivityManagerShellCommand.java:261)
|
|
|
|
E at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97)
|
|
|
|
E at android.os.ShellCommand.exec(ShellCommand.java:38)
|
|
|
|
E at com.android.server.am.ActivityManagerService.onShellCommand(ActivityManagerService.java:10466)
|
|
|
|
E at android.os.Binder.shellCommand(Binder.java:1183)
|
|
|
|
E at android.os.Binder.onTransact(Binder.java:961)
|
|
|
|
E at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:5853)
|
|
|
|
E at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2768)
|
|
|
|
E at android.os.Binder.execTransactInternal(Binder.java:1478)
|
|
|
|
E at android.os.Binder.execTransact(Binder.java:1418)
|
|
|
|
E
|
|
E Stacktrace:
|
|
E UnknownError: Cannot start the 'com.arpa.ynchenggangdriver' application. Consider checking the driver's troubleshooting documentation. Original error: Error executing adbExec. Original error: 'Command ''C:\Users\23184\AppData\Local\Android\Sdk\platform-tools\adb.exe' -P 5037 -s emulator-5554 shell am start-activity -W -n com.arpa.ynchenggangdriver/com.arpa.ntocc.MainActivity -S -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000' exited with code 255'; Command output:
|
|
|
|
E Exception occurred while executing 'start-activity':
|
|
|
|
E java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 xflg=0x4 cmp=com.arpa.ynchenggangdriver/com.arpa.ntocc.MainActivity } from null (pid=7312, uid=2000) not exported from uid 10231
|
|
|
|
E at com.android.server.wm.ActivityTaskSupervisor.checkStartAnyActivityPermission(ActivityTaskSupervisor.java:1263)
|
|
|
|
E at com.android.server.wm.ActivityStarter.executeRequest(ActivityStarter.java:1220)
|
|
|
|
E at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:855)
|
|
|
|
E at com.android.server.wm.ActivityTaskManagerService.startActivityAndWait(ActivityTaskManagerService.java:1621)
|
|
|
|
E at com.android.server.am.ActivityManagerService.startActivityAndWait(ActivityManagerService.java:3316)
|
|
|
|
E at com.android.server.am.ActivityManagerShellCommand.runStartActivity(ActivityManagerShellCommand.java:875)
|
|
|
|
E at com.android.server.am.ActivityManagerShellCommand.onCommand(ActivityManagerShellCommand.java:261)
|
|
|
|
E at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97)
|
|
|
|
E at android.os.ShellCommand.exec(ShellCommand.java:38)
|
|
|
|
E at com.android.server.am.ActivityManagerService.onShellCommand(ActivityManagerService.java:10466)
|
|
|
|
E at android.os.Binder.shellCommand(Binder.java:1183)
|
|
|
|
E at android.os.Binder.onTransact(Binder.java:961)
|
|
|
|
E at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:5853)
|
|
|
|
E at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2768)
|
|
|
|
E at android.os.Binder.execTransactInternal(Binder.java:1478)
|
|
|
|
E at android.os.Binder.execTransact(Binder.java:1418)
|
|
|
|
E
|
|
E at getResponseForW3CError (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\protocol\errors.js:846:36)
|
|
E at asyncHandler (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\protocol\protocol.js:485:77)
|
|
E at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
|
E The above error is caused by
|
|
E Error: Cannot start the 'com.arpa.ynchenggangdriver' application. Consider checking the driver's troubleshooting documentation. Original error: Error executing adbExec. Original error: 'Command ''C:\Users\23184\AppData\Local\Android\Sdk\platform-tools\adb.exe' -P 5037 -s emulator-5554 shell am start-activity -W -n com.arpa.ynchenggangdriver/com.arpa.ntocc.MainActivity -S -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000' exited with code 255'; Command output:
|
|
|
|
E Exception occurred while executing 'start-activity':
|
|
|
|
E java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 xflg=0x4 cmp=com.arpa.ynchenggangdriver/com.arpa.ntocc.MainActivity } from null (pid=7312, uid=2000) not exported from uid 10231
|
|
|
|
E at com.android.server.wm.ActivityTaskSupervisor.checkStartAnyActivityPermission(ActivityTaskSupervisor.java:1263)
|
|
|
|
E at com.android.server.wm.ActivityStarter.executeRequest(ActivityStarter.java:1220)
|
|
|
|
E at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:855)
|
|
|
|
E at com.android.server.wm.ActivityTaskManagerService.startActivityAndWait(ActivityTaskManagerService.java:1621)
|
|
|
|
E at com.android.server.am.ActivityManagerService.startActivityAndWait(ActivityManagerService.java:3316)
|
|
|
|
E at com.android.server.am.ActivityManagerShellCommand.runStartActivity(ActivityManagerShellCommand.java:875)
|
|
|
|
E at com.android.server.am.ActivityManagerShellCommand.onCommand(ActivityManagerShellCommand.java:261)
|
|
|
|
E at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97)
|
|
|
|
E at android.os.ShellCommand.exec(ShellCommand.java:38)
|
|
|
|
E at com.android.server.am.ActivityManagerService.onShellCommand(ActivityManagerService.java:10466)
|
|
|
|
E at android.os.Binder.shellCommand(Binder.java:1183)
|
|
|
|
E at android.os.Binder.onTransact(Binder.java:961)
|
|
|
|
E at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:5853)
|
|
|
|
E at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2768)
|
|
|
|
E at android.os.Binder.execTransactInternal(Binder.java:1478)
|
|
|
|
E at android.os.Binder.execTransact(Binder.java:1418)
|
|
|
|
E
|
|
E at ADB.startApp (C:\Users\23184\.appium\node_modules\appium-uiautomator2-driver\node_modules\appium-adb\build\lib\tools\app-commands.js:615:15)
|
|
E at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
|
E at async AndroidUiautomator2Driver.ensureAppStarts (file:///C:/Users/23184/.appium/node_modules/appium-uiautomator2-driver/build/lib/commands/aut.js:100:5)
|
|
E at async AndroidUiautomator2Driver.performPostExecSetup [as performSessionPostExecSetup] (file:///C:/Users/23184/.appium/node_modules/appium-uiautomator2-driver/build/lib/uiautomator2-server/session.js:187:9)
|
|
E at async AndroidUiautomator2Driver.startSession [as startUiAutomator2Session] (file:///C:/Users/23184/.appium/node_modules/appium-uiautomator2-driver/build/lib/uiautomator2-server/session.js:245:5)
|
|
E at async AndroidUiautomator2Driver.createSession (file:///C:/Users/23184/.appium/node_modules/appium-uiautomator2-driver/build/lib/driver.js:295:28)
|
|
E at async AppiumDriver.createSession (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\build\lib\appium.js:271:44)
|
|
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)
|
|
E at async AppiumDriver.executeCommand (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\basedriver\driver.js:162:15)
|
|
E at async defaultBehavior (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\build\lib\appium.js:582:24)
|
|
E at async AppiumDriver.executeWrappedCommand (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\build\lib\appium.js:694:22)
|
|
E at async AppiumDriver.executeCommand (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\build\lib\appium.js:598:21)
|
|
E at async asyncHandler (C:\Users\23184\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\build\lib\protocol\protocol.js:401:25)</error></testcase></testsuite></testsuites> |