我正在尝试使用Jenkins作业运行UI自动化,该作业在Windows VM上作为jenkins从属运行,作为CI管道的一部分。 我有一个问题,屏幕分辨率设置得非常低(1024,768) 如何更改默认分辨率,以便当jenkins打开新连接时,它将具有更大的分辨率?
答案 0 :(得分:2)
如果您的UI自动化涉及运行Chrome,您可能会发现运行Headless Chrome会很有帮助。这样,从属设备的屏幕分辨率无关紧要,因为您可以指定要使用的分辨率。
我能够在Windows Server Jenkins奴隶上运行这些Chrome启动参数来实现这一目标:
--headless --window-size=1920,1080
在我的情况下,使用Nightwatch,这是nightwatch.json文件的片段:
"desiredCapabilities": {
"browserName": "chrome",
"chromeOptions": {
"args": ["--window-size=1920,1080", "--headless"]
},
// ...
答案 1 :(得分:0)
您是否已将您的webapp容器作为本地服务(tomcat或jenkins slave?)启动。重点是Windows服务不能拥有GUI,甚至是奇迹,WebDriver以某种方式设法打开1024,768窗口:) 将您的webapp容器作为普通用户的控制台应用程序启动。
答案 2 :(得分:0)
理论上,运行powerscript命令作为构建步骤:
set-displayresolution 1920 1080 -Force
应该这样做,但我现在有些问题......
确实有效:使用所需分辨率使用RDP连接到VM,然后断开连接。测试将在最后使用的分辨率中运行。
答案 3 :(得分:0)
我在尝试在Jenkins上运行UI测试时遇到了同样的问题
问题:默认情况下,jenkins作为Windows服务运行,无法在桌面上运行测试。
所以修复:
java -jar "C:\path\to\Jenkins\jenkins.war" --httpPort=8081
它将在桌面上运行Jenkins(非Windows服务),允许在那里运行你的UI测试