最近在使用Airtest这套框架尝试web自动化界面测试的时候,在脚本之前都可正常运行的情况下,偶有的时候遇到连接错误,报错:Connection abourted. ConnectionResetError(10054,'远程主机强迫关闭了一个现有的连接。',None,10054, None)
![d33e88aa656e8fcdff1b79208886a165.png](https://i-blog.csdnimg.cn/blog_migrate/570f9339f4a47560169b55ca89f7b043.jpeg)
非常奇怪,因为脚本之前运行都没有问题的,重新启动IDE无效,更新新版IDE无效。想着这肯定是连接服务的地方出问题了,后来排查过后发现是chromedriver版本不匹配导致的。
是由于chrome自动更新了,chromedriver还是旧的,chrome浏览器的chromedriver版本不一致,所以需要手动更新一下:
https://chromedriver.storage.googleapis.com/index.htmlchromedriver.storage.googleapis.com![23aab71d99692e8c382f3fb22e764391.png](https://i-blog.csdnimg.cn/blog_migrate/1e161f242ce8e37f7bf6949914eeba01.jpeg)
网上已经有人整理过chrome各版本对应的chromedriver版本可供参照的。
chromedriver与chrome对应各版本及下载地址:https://blog.csdn.net/cz9025/article/details/70160273
找到对应的chromedriver版本下载更新到IDE解压的目录下替换掉chromedriver即可。
替换前最好先备份一下旧版,这是个良好的习惯。替换后关闭浏览器重新启动AirtestIDE,运行脚本,过了。
可是,隔了几天再次运行脚本的时候,发现又报错了。同样是浏览器连接相关的问题,但这次错误是:WebDriverEexception:unknown error: DevToolsActivePort file dosen't exist. 下面还打印了Chrome Driver info,猜测估计还是chrome driver驱动的问题了。
![ec5403be633f6a6d1901b8ba56e48492.png](https://i-blog.csdnimg.cn/blog_migrate/4276728f3f0eadf9278f71c4afbfda53.jpeg)
查看当前chromedriver的版本跟当前chrome浏览器的版本其实相差不大,都是70.0xxx ,但是尾数不一样,但既然有最新的就还是下载最新的chromedriver 71.xx 试试了,替换后再运行脚本就成功了!