微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Zalenium-无法启动正在测试的应用程序

如何解决Zalenium-无法启动正在测试的应用程序

我的AUT在docker容器中运行,其URL为“ http:// localhost:8080 /”。现在,当我使用Zalenium触发测试时,它会启动浏览器,但是当它尝试导航到AUT的URL时,找不到它。是因为我的AUT在一个docker容器中运行,而Zalenium也在一个单独的docker容器中运行,并且它们彼此之间无法通信?

预先感谢。

解决方法

我认为这是应该起作用的方式。理想情况下,您希望容器包含隔离状态,直到您另行声明为止。

针对您的硒脚本,一种快速的解决方案,而不是localhost,请指定您的<machine name>。这样,您在zalenium中的脚本将希望通过网络(仍然是您)来解析地址,而不是尝试在其自己的网络环上内部解析localhost。

虽然这可能对您的机器有效,但它是静态的。您可能希望将其编写为解决方案的一部分,以便将其连接到多个。

在Java you can use this中获取正在运行的计算机名称:

    InetAddress addr;
    addr = InetAddress.getLocalHost();
    hostname = addr.getHostName();

或者,要提供一个更便于移植的解决方案,您可能需要查看docker networking pages

我认为this tutorial可能会对您有所帮助。 “使用独立容器联网”听起来不错。

总之,当您运行docker容器时,需要将它们附加到同一网络。默认值为:

--network bridge

或创建自己的桥:

docker network create --driver bridge MyBridgeName

并使用该网桥名称运行两个容器:

docker run -dit --name MyImageName --network MyBridgeName ImageToRun
docker run -dit --name OtherName --network MyBridgeName OtherImageToRun

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。