无法在码头集装箱上创建量角器测试报告
问题描述:
如果我在我的机器上运行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
图像作为量角器,而是使用本地图像,它可以正常使用应用程序和硒图像。
为了测试的目的,我在我的卷(本地)上手动添加了该文件夹,并且可以看到该文件夹正在被删除,所以我假定该链接是正确的。
我conf.js
的方法onPrepare
添加的记者看起来像
onPrepare: function() {
jasmine.getEnv().addReporter(new HtmlReporter({
baseDirectory: '/assets/tmp/screenshots'
}));
}
}
使用的报告是protractor-html-screenshot-reporter。
我的问题是问题,其中可能是,在报告中,权限等什么路径可以修复或替代办法提前
答
由于经过一番调试发现jasmine
版本是不同的(本地和码头图片),并没有触发创建屏幕截图的方法。
版本不同,因为当使用npm install -g protractor
(2.5.1
vs 4.0.13
)安装protractor
时。
使用protractor
版本2.5.1
修复该问题。
我的直接想法是权限,但是,由于目录正在被删除,看起来像是有足够的访问权限。 – alecxe
@alecxe在'tmp'文件夹中,我添加了2个空文件夹,其中一个是'screenshots'。那个正在被删除,就像在本地流量中一样,但是不会像应该那样添加。其他文件夹保持不变,这导致我认为路径和权限是正确的。对于我能做些什么不同的想法,以获得关于此问题的更多见解? – taguenizy
@alecxe这是'茉莉花'版本的问题。 – taguenizy