【问题标题】:How to Pass Application URL through Command Line with Cucumber Feature file via cucumber options?如何通过黄瓜选项通过带有黄瓜功能文件的命令行传递应用程序 URL?
【发布时间】:2021-12-05 18:32:42
【问题描述】:

目前,我们的需求范围内有 9 个不同的 URL,并将其实现为配置文件应用程序 URL。 每次如果我必须更改应用程序 URL,我需要手动更新配置文件中的 URL,然后我可以执行 require 场景,这是一个繁琐的任务。

我想在命令行参数中传递应用程序 URL。

Config 文件的当前配置。

#application.url=http://node-1.nginx.portal.da-1.can.qa.aws.com
#http://node-1.nginx.portal.da-1.QA1.aws.com
#http://node-1.nginx.portal.da-1.QA2.qa.aws.com
#http://node-1.nginx.portal.da-1.QA3.qa.aws.com
#http://node-1.nginx.portal.da-1.QA4.qa.aws.com
#http://node-1.nginx.portal.da-1.QA5.qa.aws.com
#http://node-1.nginx.portal.da-1.QA6.qa.aws.com
public void LaunchApplication() {
        LOG.info("Launching web application URL: " + CONFIG.getProperty("application.url"));
        driver.manage().deleteAllCookies();
        driver.get(CONFIG.getProperty("application.url"));
    }

【问题讨论】:

    标签: selenium cucumber command-line-arguments cucumber-jvm cucumber-java


    【解决方案1】:

    假设您将 selenium cucumber 测试作为 maven 项目运行。

    使用 maven,您可以根据需要创建任意数量的 maven 系统属性,我经常使用 mvn 命令为我的 CI/CD 构建管道使用 Jenkins。

    这就是我要做的事情

    1. 通过添加系统属性变量来更新您的方法:

      public void LaunchApplication() {
        String appUrl = System.getProperty(applicationUrl);
      
        LOG.info("Launching web application URL: " + appUrl);
        driver.manage().deleteAllCookies();
        driver.get(appUrl);
      }
      
    2. 将该属性作为您的 mvn 命令传递,例如: mvn test -Pcucumber -Dcucumber.options="--tags @app-smoke-001" -Dbrowser=chrome -Dclose_browser=yes -DapplicationUrl="http://node-1.nginx.portal.da-1.can.qa.aws.com"

    【讨论】:

    • 这个。如果您有一组用于同一环境的 url,请使用不同的配置文件并提供配置文件名作为环境参数。
    • @M.P.Korstanje - 好声音,绝对是那里更好的物业建议
    • 你能给我相同的参考吗,即不同的 URL 配置的不同属性文件?如上所述,我正在检查 djmonki 提供的第一个建议。会及时通知您。
    • @djmonki 在尝试实施您建议的方式时,将 URL 设为 Null。您能否建议一种在这里声明变量的方法,看来我在这里遗漏了一些东西。 public void LaunchApplication() { String applicationUrl = null; //字符串 applicationUrl = null;字符串 appUrl = System.getProperty(applicationUrl); LOG.info("启动 Web 应用程序 URL:" + appUrl); driver.manage().deleteAllCookies(); driver.get(appUrl); }
    • 相同行为 - NLP 异常。 @M.P.Korstanje - 你能分享你对不同环境配置的建议并通过命令行传递吗?
    猜你喜欢
    • 2019-10-16
    • 1970-01-01
    • 2020-09-04
    • 1970-01-01
    • 2011-09-15
    • 2016-04-18
    • 2016-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多