使用jenkins更改UI测试的默认分辨率

时间:2014-06-19 08:41:14

标签: jenkins resolution

我正在尝试使用Jenkins作业运行UI自动化,该作业在Windows VM上作为jenkins从属运行,作为CI管道的一部分。 我有一个问题,屏幕分辨率设置得非常低(1024,768) 如何更改默认分辨率,以便当jenkins打开新连接时,它将具有更大的分辨率?

4 个答案:

答案 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服务运行,无法在桌面上运行测试。

所以修复:

  1. run>> services.msc>>停止系统服务Jenkins.exe
  2. 右键单击Jenkins.exe>>属性>>启动类型 - 手动>>保存
  3. 创建一个可执行文件(.bat,.exe,...)将其保存在某处并输入:
  4. java -jar "C:\path\to\Jenkins\jenkins.war" --httpPort=8081

    1. 将此可执行文件的快捷方式添加到Windows自动运行目录
    2. 它将在桌面上运行Jenkins(非Windows服务),允许在那里运行你的UI测试