简体   繁体   English

如何在Java中使用Jenkins中的环境变量?

[英]How to use environment variables in Jenkins by the Java?

I am trying to access environment variables in Jenkins through Java: 我试图通过Java访问Jenkins中的环境变量:

 public static WebDriver getJenkinsDriver() throws MalformedURLException {
        DesiredCapabilities caps = new DesiredCapabilities();
        String url = "";    
        Map<String, String> env = System.getenv();
        for (String envName : env.keySet()) {
            System.out.format("%s=%s%n", envName, env.get(envName));
        }
        if (System.getenv("SELENIUM_SERVICE").equalsIgnoreCase("saucelabs")) {
            caps.setBrowserName(System.getenv("SELENIUM_BROWSER"));
            caps.setVersion(System.getenv("SELENIUM_VERSION"));
            caps.setCapability(CapabilityType.PLATFORM, System.getenv("SELENIUM_PLATFORM"));
            url = "http://ricardo...saucelabs.com:80/wd/hub";
            ...
        }
    }

Output of command for: 输出命令:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:JAVA_HOME=/usr/lib/jvm/java-8-oracle/​:CLASSPATH=$JAVA_HOME/lib/:CLASSPATH:PATH=$JAVA_HOME/bin/:PATH:$M2_HOME=/usr/share/maven/:M2=$M2_HOME/bin:PATH=$M2:$PATH
XAUTHORITY=/home/ricardoramos/.Xauthority
XMODIFIERS=@im=ibus
XDG_DATA_DIRS=/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/
GDMSESSION=ubuntu
MANDATORY_PATH=/usr/share/gconf/ubuntu.mandatory.path
TEXTDOMAINDIR=/usr/share/locale/
GTK_IM_MODULE=ibus
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-JQr3Phzwn6
DEFAULTS_PATH=/usr/share/gconf/ubuntu.default.path
XDG_CURRENT_DESKTOP=Unity
SWT_GTK3=0
UPSTART_SESSION=unix:abstract=/com/ubuntu/upstart-session/1000/2230
QT4_IM_MODULE=ibus
SESSION_MANAGER=local/falcon:@/tmp/.ICE-unix/2511,unix/falcon:/tmp/.ICE-unix/2511
LOGNAME=ricardoramos
JOB=dbus
PWD=/home/ricardoramos
IM_CONFIG_PHASE=1
LANGUAGE=pt_BR:pt:en
SHELL=/bin/bash 
...

But when you enter the if condition is displayed the message of NullPointerException, I set up the Jenkins as follows: 但是当你输入if条件时会显示NullPointerException消息,我按如下方式设置了Jenkins:

在此输入图像描述

在此输入图像描述

Must declare the environment variables at the end of .bashrc file or Jenkins himself It is smart enough to share these variables of the "Global properties" with the operating system? 必须在.bashrc文件或Jenkins本身的末尾声明环境变量。智能足以与操作系统共享“全局属性”的这些变量吗?

If you are able to use a cloud-based selenium grid to perform your testing I would recommend SauceLabs and Saucery3 as it will take care of all the plumbing for you. 如果您能够使用基于云的硒网格来执行测试,我会推荐SauceLabsSaucery3,因为它会为您处理所有管道。

Check out the project page . 查看项目页面

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM