You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅在Jenkins运行时执行特定ChromeDriver配置代码?

实现Jenkins环境下仅添加指定ChromeDriver选项

要实现仅在Jenkins运行测试时添加force-device-scale-factor=0.70和high-dpi-support=0.70这两个Chrome选项,你可以通过判断Jenkins环境标识来条件执行代码,以下是两种常用方案:

方案1:利用Jenkins自带环境变量判断

Jenkins运行构建时会自动设置专属环境变量(比如BUILD_NUMBER、JENKINS_HOME),直接读取这些变量即可识别Jenkins环境:

System.setProperty("webdriver.chrome.silentOutput", "true");
ChromeOptions co = new ChromeOptions();
co.addArguments("--remote-allow-origins=*");
co.addArguments("--start-maximized");
// co.addArguments("--user-data-dir=" + System.getProperty("java.io.tmpdir"));

// 判断是否处于Jenkins环境:读取BUILD_NUMBER变量(Jenkins独有)
String buildNumber = System.getenv("BUILD_NUMBER");
if (buildNumber != null && !buildNumber.isEmpty()) {
    co.addArguments("force-device-scale-factor=0.70");
    co.addArguments("high-dpi-support=0.70");
}

co.setExperimentalOption("excludeSwitches", new String[] { "enable-automation" });
co.addArguments("--disable-notifications");
tlDriver.set(new ChromeDriver(co));

方案2:通过自定义系统属性控制

在Jenkins构建配置中给JVM添加自定义参数,再在代码中读取该参数判断:

Jenkins配置操作:

在任务的构建步骤里,给JVM添加参数:
-Drun.in.jenkins=true

修改后的代码:

System.setProperty("webdriver.chrome.silentOutput", "true");
ChromeOptions co = new ChromeOptions();
co.addArguments("--remote-allow-origins=*");
co.addArguments("--start-maximized");
// co.addArguments("--user-data-dir=" + System.getProperty("java.io.tmpdir"));

// 判断是否处于Jenkins环境:读取自定义系统属性
String isJenkins = System.getProperty("run.in.jenkins");
if ("true".equals(isJenkins)) {
    co.addArguments("force-device-scale-factor=0.70");
    co.addArguments("high-dpi-support=0.70");
}

co.setExperimentalOption("excludeSwitches", new String[] { "enable-automation" });
co.addArguments("--disable-notifications");
tlDriver.set(new ChromeDriver(co));

两种方案都能精准控制目标代码的执行时机:方案1无需额外配置Jenkins,方案2更灵活可控,可根据实际场景选择。

内容的提问来源于stack exchange,提问作者PleasePlease

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 23:40:05