【问题标题】:Passing String from Jenkins to Java code将字符串从 Jenkins 传递到 Java 代码
【发布时间】:2017-05-15 07:13:12
【问题描述】:

我的框架由 TestNG + Cucumber +Jenkins 组成,我正在使用 jenkins 中的 bat 文件配置运行该作业。

我的疑问是,我有一个类文件来启动浏览器,我将字符串值传递给 if 循环说,

如果字符串等于 "chrome" 然后很快启动 Chrome 浏览器。 有没有办法将 chrome 值从 jenkins 传递到类文件中?

示例:

public class launch(){

public static String browser ="chrome"

public void LaunchBrowser() throws Exception{

        if (browser.equalsIgnoreCase("chrome")) 
        {
launch chrome driver
}

} 

现在我想从 jenkins 传递 static string 值,

感谢您的帮助。

提前致谢。

【问题讨论】:

    标签: java selenium jenkins


    【解决方案1】:

    您可以执行以下操作

    public class Launch {
        //You would be passing the Browser flavor using -Dbrowser
        //If you don't pass any browser name, then the below logic defaults to chrome
        private static String browser =System.getProperty("browser", "chrome");
    
        public void LaunchBrowser() throws Exception {
            if (browser.equalsIgnoreCase("chrome")) {
                //launch chrome driver
            }
        } 
    }
    

    【讨论】:

    • 嗨 Krishnan,感谢您的回复,但我的要求是从 jenkins 发送字符串值,以便任何有权访问 jenkins 的人都可以更改值并开始构建?你能告诉我,如果我目前的框架可以做到这一点?
    • @Rahul 您可以通过将作业配置为接受参数来轻松做到这一点,然后您可以读取这些参数的值并通过 maven 命令行选项将它们设置到您的脚本中。例如,假设您的构建作业定义了一个名为“browser”的参数,那么您的 maven 命令行将类似于:mvn clean test -Dbrowser=$browser(更多信息请参见此处bayley.green-gaillard.com/blog/?p=92
    • 知道了!!但这里的问题是,我没有使用 Maven,我使用 bat 文件运行作业,其中 bat 配置了 TestNG XML。
    • @Rahul 即使使用批处理文件,您也应该能够做到这一点。这个想法是能够将 Jenkins 构建参数导出为 JVM 参数。完成后,您应该能够以任何方式运行代码,并且 JVM 参数(在本例中为浏览器风格)仍会暴露给您的代码。
    • 谢谢,如果可以的话,能否请您详细说明一下?我对这种配置很陌生,因此我要求您指定步骤,抱歉麻烦:)
    猜你喜欢
    • 1970-01-01
    • 2016-11-14
    • 1970-01-01
    • 1970-01-01
    • 2012-07-08
    • 2011-09-06
    • 2013-03-06
    • 2014-02-22
    • 2012-10-06
    相关资源
    最近更新 更多