Selenium 有两个测试用例,运行完第一个,运行第二个用例就会报如下的错误(单独运行第二个用例没有任何问题)

testjson · 2022年09月15日 · 最后由 testjson 回复于 2022年09月16日 · 6219 次阅读

WARNING urllib3.connectionpool:connectionpool.py:812 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。')': /session/a58ba9bcffc1e4a3746c07fa46e41b47/element

共收到 7 条回复 时间 点赞



这是写的两个用例

Driver.get_driver 是单例的吗

落羽之梦 回复

你问的是单个用例吗?我是把 driver 单独封装了个方法,然后每个测试用例的 前置类操作里 调用了 driver

看异常信息应该是第一个用例跑完后资源没有释放 第二个开启新 session 时无法连接 可以从这个方面来排查

额,我说的是单例模式~,你的 driver 是不是只初始化一次

fiskeryang 回复

确实是这方面的问题,我已经改成用夹具 fixture 把 driver 放在外部,还有登录,也就是说我所有的用例,只启动一次 driver,只登录一次,然后跑完所有的测试用例,再调用 fixture 里的 driver.quit() 进行关闭浏览器

落羽之梦 回复

嗯嗯,是只启动了一次,问题找到了,就是第一个用例执行完,就把 driver 给关了,导致第二个用例找不到,现在已改成用夹具 fixture,问题已解决

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册