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

如何配置Jenkins Windows代理以适配Squish UI测试?

解决Jenkins Windows代理无桌面会话下的Squish UI测试问题

方案1:将Jenkins代理注册为带桌面权限的Windows服务

  • 通过Windows服务让代理运行在带交互桌面的会话中:
    1. 使用sc命令创建服务,指定有权限的本地用户:
      sc create JenkinsAgent binPath= "java -jar C:\path\to\agent.jar -jnlpUrl <你的JNLP地址> -secret <节点密钥>" obj= ".\本地管理员账户" password= "账户密码" type= own start= auto displayname= "带桌面的Jenkins代理"
      
    2. 打开服务属性的「登录」选项卡,勾选「允许服务与桌面交互」
    3. 重启服务,此时代理绑定到用户桌面会话,Squish可正常执行UI测试

方案2:通过自动登录+任务计划启动代理

  • 利用Windows用户登录后的桌面会话启动代理:
    1. 配置Windows自动登录(需确保机器处于安全环境)
    2. 创建任务计划,触发条件设为「用户登录时」,执行命令:
      java -jar C:\path\to\agent.jar -jnlpUrl <你的JNLP地址> -secret <节点密钥>
      
    3. 任务设置中指定运行在当前用户会话,确保代理关联桌面

方案3:绕过JNLP网络重定向与认证限制

  • 针对网络重定向或认证失败问题,直接使用节点原生JNLP地址并配置代理参数:
    • 使用Jenkins节点的直接JNLP链接,避免重定向:
      java -jar agent.jar -jnlpUrl http://<Jenkins服务器IP>:8080/computer/<节点名称>/slave-agent.jnlp -secret <节点密钥> -workDir "C:\Jenkins\工作目录"
      
    • 若存在代理服务器认证,添加JVM代理参数:
      java -Dhttp.proxyHost=proxy.example.com -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.example.com -Dhttps.proxyPort=8080 -jar agent.jar -jnlpUrl <你的JNLP地址> -secret <节点密钥>
      

关键注意事项

  • Squish UI测试必须依赖活跃的用户桌面会话,Windows默认的Session 0服务会话无法满足,必须绑定到Session 1及以上的交互会话
  • 确保运行代理的用户账户拥有本地登录、服务运行、访问Squish及测试资源的权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 08:26:00