首页 > 解决方案 > bind() 失败:在服务器中执行基于 Selenium 的自动化测试时无法分配请求的地址 (99) 错误

问题描述

我有使用 Katalon 创建的 web ui 自动化测试代码,我尝试在本地运行它并且效果很好。然后我将我的代码推送到服务器,但是当我从服务器运行它时,它失败了。它无法打开我想要的 web/url。我生成代码以从服务器执行测试,但是当我运行该代码时发生了这种情况: 在此处输入图像描述

绑定失败

然后它一直加载浏览器直到它超时: 在此处输入图像描述

任何人都可以建议/评论或帮助解决这个问题吗?

标签: seleniumautomationselenium-chromedriverkatalon-studiowebui

解决方案


此错误消息...

[SEVERE]: bind() failed: Cannot assign requested address (99)

...暗示ChromeDriver无法绑定浏览上下文,即Chrome 浏览器会话。

使用标志启动ChromeDriver--verbose将有助于以更好的方式调试问题。


解决方案

根据[Errno 99] 启动 Dockerized Web 应用程序时无法分配请求的地址中的文档,可能的原因和解决方案是:

  1. 关闭可能在您的端口号上运行的所有进程。假设您在端口 8000 上运行:

    lsof -t -i tcp:8000 | xargs kill -9
    
  2. 您可能正在使用应用程序地址作为localhostor127.0.0.1并且您需要将其更改为0.0.0.0

  3. 另一个可能的原因可能是,尝试侦听未启用的 IPv6 地址。您可以启用 IPv6 支持(仅适用于 Linux 主机)或忽略该错误,因为ChromeDriver进程将在初始尝试失败后侦听 IPv4。

推荐阅读