gpt4 book ai didi

docker - 无法在 docker 容器中创建 Protractor 测试报告

转载 作者:行者123 更新时间:2023-12-02 19:38:47 25 4
gpt4 key购买 nike

如果我在 protractor 上运行测试在我的机器上正确生成了报告并保存了屏幕截图。我现在的目标是进行自动化测试,我将使用 docker .

我的 docker-compose.yml看起来像这样

version: '2'

services:
app:
image: app
ports:
- 9000:9000
selenium:
image: selenium/standalone-chrome
ports:
- 4444:4444
volumes:
- /dev/shm:/dev/shm
protractor:
volumes:
- ./tmp:/assets/tmp
image: test
command: "dockerize -wait http://selenium:4444 -wait http://app:9000 -timeout 60m protractor /assets/conf.js"

这样做的问题是报告和屏幕截图没有保存到卷中。如果不使用 docker Protractor 的图像我使用本地镜像,它可以与应用程序和 Selenium 图像一起正常工作。

出于测试目的,我已在我的卷(本地)上手动添加了该文件夹,并且可以看到该文件夹​​正在被删除,因此我假设链接是正确的。

我的 conf.js作为方法 onPrepare添加看起来像的记者
onPrepare: function() {
jasmine.getEnv().addReporter(new HtmlReporter({
baseDirectory: '/assets/tmp/screenshots'
}));
}
}

使用的记者是 protractor-html-screenshot-reporter .

我的问题是问题可能出在哪里,报告路径,权限等,以及什么可能是修复或替代方法

提前致谢

最佳答案

经过一番调试发现jasmine版本不同(本地和 docker 图像)并且没有触发创建屏幕截图的方法。

版本不同是因为 protractor使用 npm install -g protractor 安装( 2.5.14.0.13 )。

使用 protractor 创建图像版本 2.5.1解决了这个问题。

关于docker - 无法在 docker 容器中创建 Protractor 测试报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41166717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com