Jan*_* vO 5 xvfb docker protractor
当在docker容器内运行端到端测试时,我们需要浏览器宽,以确保位于最右侧的元素(aButton)实际上是可见的并且像
expect(mainPage.aButton.isDisplayed()).toBeTruthy();
成功.
显示浏览器宽度时,我们总是得到一个接近1050的值作为最大值:
browser.driver.manage().window().getSize().then(function(size) {
    console.log('browser size', size);
});
显示:
browser size { height: 748,
               width: 1050,
               class: 'org.openqa.selenium.Dimension',
               hCode: 436207616 }
当使用这两个泊坞窗图像来运行测试时,它们会因为按钮不可见而失败.在不在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
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
在此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);
}
我们如何获得广泛的浏览器?(我们的网站显然没有使用响应式设计)
我不确定您的问题是否出在 Docker、Protractor 或 xvfb 中...但在 Protractor 方面,我会尝试设置特定的浏览器大小。maximize()超出 IE可能提供的  大小。
因此,请尝试在 Protractor 配置 onPrepare 中设置以下内容:
browser.manage().window().setSize(2024, 800); // or whatever
这应该会给你一个广泛的浏览器......但不确定它是否会通过你的测试。
我也可以尝试更改“xvfb”的分辨率......
| 归档时间: | 
 | 
| 查看次数: | 2420 次 | 
| 最近记录: |