appium运行过程中报错,总提示无法将命令代理到远程服务器,Error: socket hang up

文章描述了在使用Appium进行自动化测试时遇到的网络连接失败和超时错误。作者通过排查日志发现可能由于等待60秒无响应导致关闭,且启动了两次APPium实例。通过设置‘newCommandTimeout’参数解决了超时问题,并指出多次启动APPium或未正确结束session可能导致类似错误,提供‘--session-override’参数作为解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

图一是appium报出来的错误,查了下应该是网络连接失败导致的

图二只是在只执行该方法的时候报的错,这个报错可能会在某个元素上报出来,可能在任何时候都会出现这个错误

图三就是执行器报的错误了

图四 是我为了控制执行器始终执行一次,选择了class方法,在执行的时候,每一个test文件都会重新启动一遍APP

开始一直再找这个错误原因,试过降低appium版本和Androidsdk的版本,但是都没有用,后来

重新排查Appium上的日志,发现有一行报错 Shutting down because we waited 60 seconds for a command 这是提示因为我们等了60秒才接到命令而关机,

但我不确定是不是因为超时了60秒而中断连接,因为在执行到某个元素上就会报错,我猜想不会是元素的问题,于是我用sleep进行调试,发现超60秒会在不同的元素上报这个错误,排除了元素错误的可能性,唯一可能性可能原因是启动了两次APP,有一个已经超时所以强制中段了连接导致程序停止运行,然后尝试使用“newCommandTimeout”自定义了超时时间,然后就正常运行了,临时解决办法

经过代码排查发现,开始我用的不是clsaa方法,为了保持driver一致性使用了class方法,所以

问题出现在了我启动了两次appium_Desired,会导致你在运行的时候还会重新启动一遍

相同提示Shutting down because we waited 60 seconds for a command ,也可能是上次的自动化测试调用quit导致session残留,在60s后会自动退出,退出的时候会影响到已有的session,这是appium设计的一个问题,加参数 --session-override也可以

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值