在组"usergroup1"中以名称"username1"的用户启动docker容器时.
并且该容器在本地文件系统上具有卷的文件/文件夹:例如.
$username1>docker run -v /homes/username1/output:output outputter
Run Code Online (Sandbox Code Playgroud)
使用root作为所有者创建文件.
我需要在Dockerfile或启动选项中做些什么来确保输出文件夹中的文件rigth与localuser:group相同,在这种情况下username1:usergroup1?
当在docker容器内运行端到端测试时,我们需要浏览器宽,以确保位于最右侧的元素(aButton)实际上是可见的并且像
expect(mainPage.aButton.isDisplayed()).toBeTruthy();
Run Code Online (Sandbox Code Playgroud)
成功.
显示浏览器宽度时,我们总是得到一个接近1050的值作为最大值:
browser.driver.manage().window().getSize().then(function(size) {
console.log('browser size', size);
});
Run Code Online (Sandbox Code Playgroud)
显示:
browser size { height: 748,
width: 1050,
class: 'org.openqa.selenium.Dimension',
hCode: 436207616 }
Run Code Online (Sandbox Code Playgroud)
当使用这两个泊坞窗图像来运行测试时,它们会因为按钮不可见而失败.在不在Docker/Xvfb内部的浏览器上运行测试时没有问题.
https://registry.hub.docker.com/u/caltha/protractor/
通过链接这样的本地版本(和一些日志文件夹进行调试..)修改了Xvfb配置的设置.
mkdir -p /tmp/docker/protractor/supervisor
docker run --rm \
--name run_protractor \
-v /tmp/docker/protractor:/var/log \
-v /tmp/testproject:/project \
-v /tmp/xvfb.conf:/etc/supervisor/conf.d/xvfb.conf:ro \
caltha/protractor
Run Code Online (Sandbox Code Playgroud)
Xvfb设置xvfb.conf的文件:
[program:xvfb]
command = Xvfb :1 -screen 0 1920x1080x16
stdout_logfile = /var/log/supervisor/%(program_name)s-out.log
stderr_logfile = /var/log/supervisor/%(program_name)s-err.log
Run Code Online (Sandbox Code Playgroud)
在此docker镜像上运行相同测试时,我们还会获得一个"小"浏览器:
http://www.function.fr/docker-with-chrome-and-selenium-and-firefox/
更多信息:我们在链接的Docker容器中启动所有"东西",用于集成/端到端测试,数据库容器,服务器的tomcat/rest/java容器.和角网站的npm容器.
protractor.conf.js:
....
onPrepare: function() {
browser.driver.manage().window().maximize();
//var width = 1224;
//var height = 800;
//browser.driver.manage().window().setSize(width, height); …Run Code Online (Sandbox Code Playgroud)