首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zalenium -无法启动正在测试的应用程序

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

Stack Overflow用户
提问于 2020-08-18 08:32:57
回答 1查看 85关注 0票数 0

我的AUT在一个docker容器中运行,它的URL是"http://localhost:8080/“。现在,当我使用Zalenium触发测试时,它会启动浏览器,但是当它试图导航到AUT的URL时,它找不到它。是不是因为我的AUT运行在一个docker容器中,而Zalenium也运行在一个单独的docker容器中,并且它们都不能相互通信?

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-08-18 16:43:06

我认为这就是它应该是如何工作的。理想情况下,您希望contains具有隔离性,除非您另有说明。

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

虽然这可能会在你的机器上工作,但它有一点静态。您可能希望将其编写为解决方案的一部分,以便它可以连接到多个。

在java you can use this中,要获取正在运行的机器名称:

代码语言:javascript
复制
    InetAddress addr;
    addr = InetAddress.getLocalHost();
    hostname = addr.getHostName();

或者,为了制作更便携的解决方案,您可能需要查看docker networking pages

我觉得this tutorial可能会帮到你。“使用独立容器联网”听起来很对。

总而言之,当你运行你的docker容器时,你需要将它们连接到同一个网络。默认值为:

代码语言:javascript
复制
--network bridge

或者创建您自己的桥:

代码语言:javascript
复制
docker network create --driver bridge MyBridgeName

并在该桥名称上运行这两个容器:

代码语言:javascript
复制
docker run -dit --name MyImageName --network MyBridgeName ImageToRun
docker run -dit --name OtherName --network MyBridgeName OtherImageToRun
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63460285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档