Docker 带铲斗管道的量角器e2e试验

Docker 带铲斗管道的量角器e2e试验,docker,protractor,headless,xvfb,bitbucket-pipelines,Docker,Protractor,Headless,Xvfb,Bitbucket Pipelines,我已经编写了所有e2e测试,它们在我的本地机器和Codeship上成功运行。 我想把我们的CI从代码库转移到Bitbucket管道。所以我用测试环境创建了自己的Docker映像。 当我在本地工作区中运行docker conatiner时,测试工作正常,但当build在bitbucket管道中运行时,所有测试都会因超时而失败,说明在页面上找不到angular。 服务器肯定已经启动并运行在容器中,ant测试也会启动,但问题在于页面打开。 有人对此有什么想法吗? 如果需要任何代码,我会发布所有需要的内

我已经编写了所有e2e测试,它们在我的本地机器和Codeship上成功运行。 我想把我们的CI从代码库转移到Bitbucket管道。所以我用测试环境创建了自己的Docker映像。 当我在本地工作区中运行docker conatiner时,测试工作正常,但当build在bitbucket管道中运行时,所有测试都会因超时而失败,说明在页面上找不到angular。 服务器肯定已经启动并运行在容器中,ant测试也会启动,但问题在于页面打开。 有人对此有什么想法吗?
如果需要任何代码,我会发布所有需要的内容。

因此我设法解决了我的问题。 不确定它是否对其他人有用,但问题出现在我的环境设置中。 我忘了添加webpack服务的启动,它应该生成一些必需的服务器文件和服务器源的缩小文件。
因此服务器启动成功,但从浏览器请求路由失败,因为它无法找到请求的文件。

您是在测试Angular应用程序还是常规web应用程序?根据我的经验,这是一个Angular appAs,在Docker中运行E2E,Selenium Webdriver需要一点时间启动,因此,在测试运行时,应用程序不会加载到浏览器中(这就是角度误差的来源)。尝试使用与BitBucket中相同的配置运行测试。我的猜测是映像启动,测试立即开始运行,而不是等待映像内部的一切启动。这是有道理的,但我不确定。在docker compose文件中,我首先运行几个bash脚本(env vars exporting等),然后启动我的应用程序,然后检查服务器是否已启动,直到启动测试。我认为页面上传可能会有一些延迟。正如我之前写的,我在工作区中本地运行的容器和测试是一样的。我建议看一看
dragrator.conf.js
,因为你可能把
seleniumAddress
功能
搞错了。嘿,我已经为这个问题挣扎了好几天了。我有一个Angular 4应用程序运行,带有量角器e2e测试,本地运行也很好。我甚至有一个用于角度项目的Docker图像和另一个运行量角器测试的Docker图像。你能指导我在管道上运行测试吗!我不能做“docker run”,因为它在管道中不可用,也不能运行“npm测试”,因为我需要在localhost:4200中提供应用程序,但如果我运行“npm start”,npm测试将永远不会启动