如何在Docker容器中启动一个宽浏览器,进行量angular器testing
在Docker容器中运行端到端testing时,我们需要浏览器很宽,以确保位于最右边的元素(aButton)实际上是可见的,并且像testing一样
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镜像运行testing时,由于button不可见,所以它们失败。 在不在Docker / Xvfb中的浏览器上运行testing时,没有任何问题。
https://registry.hub.docker.com/u/caltha/protractor/
通过链接一个像这样的本地版本(和一些用于debugging的日志文件夹)来修改Xvfbconfiguration的设置。
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镜像上运行相同的testing时,我们也得到一个“小”的浏览器:
http://www.function.fr/docker-with-chrome-and-selenium-and-firefox/
一些更多的信息:我们开始在链接的Docker容器中集成/端到端testing,数据库容器,服务器的tomcat / rest / java容器。 和一个NPM容器的angular度网站。
protractor.conf.js:
.... onPrepare: function() { browser.driver.manage().window().maximize(); //var width = 1224; //var height = 800; //browser.driver.manage().window().setSize(width, height); }
我们如何获得一个广泛的浏览器? (我们显然不会在我们的网站上使用响应式devise)
我不知道你的问题是在Docker,量angular器,或xvfb …但在量angular器方面,我会尝试设置一个特定的浏览器大小。 超出size maximize()
IE可能会提供。
所以请尝试在你的ProtractorconfigurationonPrepare中设置以下内容:
browser.manage().window().setSize(2024, 800); // or whatever
这应该给你一个广泛的浏览器…不知道它是否会通过你的testing。
我也可以尝试改变'xvfb的决议 …
将以下内容添加到您的docker-compose.yml文件中:
chrome: image: selenium/node-chrome-debug environment: SCREEN_WIDTH: 1920 SCREEN_HEIGHT: 1080 ports: - 5900 links: - seleniumhub:hub
如果你正在使用一个debugging节点,你就完成了。 如果你不是,不要害怕! 最大化将无法正常工作,但是driver.manage().window().setSize(new Dimension(1920, 1080));
将。
- Docker-selenium-chrome查看浏览器
- 奇怪的错误使用量angular器无头像时
- 用于angular-cli应用程序的Dockerfile返回ng:command not found
- 无法在docker容器中创build量angular器testing报告
- 使用Spinnaker从dockerhub部署Docker镜像到Aws Eb
- docker工具中的angular色testing运行者不会在浏览器中打开
- Docker中的量angular器testing – asynchronouscallback没有在由jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超时
- 无法从VS2017debuggingdocker中的Angular应用程序
- 访问项目文件夹外的文件