You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WinAppDriver传--driver-args启动崩溃 如何启用execute_driver_script

问题根因

WinAppDriver是独立实现的Windows平台UI自动化驱动,虽然兼容Appium协议,但原生不支持Appium文档中记载的--driver-args、--allow-insecure这类Appium专属启动参数,传入未定义的启动参数时程序不会做友好报错,会直接触发未处理异常崩溃,这是你遇到问题的核心原因。

排查与解决方案
  • 先校验WinAppDriver版本
    只有v1.2.1及以上正式版本的WinAppDriver才支持execute_driver_script能力,先确认本地安装版本,版本过低先升级到最新正式版再做后续操作。
  • 修正WinAppDriver启动命令
    WinAppDriver原生仅支持3个位置启动参数,顺序为:绑定IP地址、监听端口、服务基础路径,不支持JSON配置文件传参,也不支持长选项传参。你当前配置里的三个基础参数,直接按位置传入即可,正确启动命令示例:
    "C:\Program Files (x86)\Windows Application Driver\WinAppDriver.exe" 10.28.1.147 4723 /wd/hub
    直接删除命令里的--driver-args和对应的JSON文件路径参数,用上述命令启动就不会出现崩溃问题。
  • 关于execute_driver_script的启用说明
    WinAppDriver本身没有实现Appium那套安全特性校验逻辑,只要版本满足要求,用上述原生命令正常启动后,默认就支持调用execute_driver_script接口,不需要额外加安全类启动参数,你之前参考Appium文档加的allow-insecure配置属于多余配置,不需要传给WinAppDriver。
  • 如果你是要对接Appium服务的场景
    所有--allow-insecure、配置文件传参这类能力都是Appium服务端的功能,不要把这类参数传给WinAppDriver:
    1. 先按上面的正确命令启动WinAppDriver作为下游驱动
    2. 单独启动Appium服务时传入安全参数放行对应能力,示例命令:
      appium --allow-insecure=execute_driver_script
    3. 测试脚本统一连接Appium服务地址,由Appium转发请求到WinAppDriver即可
  • 修正JSON配置的格式错误
    如果你后续是给Appium服务用JSON文件传参,当前配置有两个格式问题需要修正:
    {
      "address": "10.28.1.147",
      "allow-insecure": ["execute_driver_script"],
      "base-path": "/wd/hub",
      "port": 4723
    }
    
    一是port字段需要传数字类型,不能用字符串;二是allow-insecure字段要求传字符串数组类型,不能传单个字符串,格式错误也会导致Appium服务启动失败。
避坑提示

不要把Appium服务端的参数直接套用到WinAppDriver上,二者是上下游关系,不是同一个程序,参数体系不通用。WinAppDriver的参数解析逻辑没有做容错处理,遇到不识别的参数会直接崩溃,不会输出明确报错信息。

内容的提问来源于stack exchange,提问作者Michael Gonzales

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 09:54:27