我正在使用nightwatch.js运行功能测试。我在本地环境中工作正常,但是当我在容器环境中运行测试时(所以我可以将它连接到我的CI管道并在每个版本上运行它),我要么遇到资产加载问题,要么屏幕截图的问题。
当测试失败时,它会截取屏幕截图,并且我将截屏目录映射到主机,因此我可以轻松地看到屏幕截图。没有失败,我在屏幕截图中得到了一个没有样式的页面,页面javascript似乎没有运行。我怀疑页面实际上并没有加载任何类型的资产:不是我的CSS是从同一个容器提供的,也不是我的客户端JS,这就是测试失败的原因。
我在selenium容器中尝试了chromedriver和firefox,我的应用程序也是在容器中运行的node.js应用程序;当我连接到容器时,我的应用程序正在使用浏览器,我看到了我期望看到的内容。我试过了selenium独立图像和blueimp的图像。针对外部网站的测试运行正常。
ETA:我的应用程序在看到请求时转储了一条消息,并且只看到一个请求:主网址。没有资产要求。
答案 0 :(得分:0)
事实证明这是无关的。在我的资产编译步骤中出现了问题,所以资产在我的开发机器上是404,而在我的其他测试环境中没有。我很抱歉。