我有一个使用Maven的自定义Selenium项目。我从test.properties
文件获取配置属性,并使用ConfigManager类在代码中使用它。现在我需要隐藏版本控制中的一些配置信息,并计划将其添加为环境变量。我的test.properties
文件如何访问这些环境变量?该文件现在具有硬编码值,我想用环境变量替换它,并从那里它将被代码读取和执行。
所以我需要知道如何在本地和Circle CI中访问env变量。
答案 0 :(得分:1)
package com.facebook.configs;
import lombok.Getter;
@Getter
public enum LocalConfig {
INSTANCE;
private String community = System.getenv("FACEBOOK_URL") ==null ? "www.facebook.com" : System.getenv("FACEBOOK_URL");
private int port = System.getenv("PORT") == null ? -1 : Integer.parseInt(System.getenv("PORT"));
private String protocol = System.getenv("PROTOCOL") == null ? "http" : System.getenv("PROTOCOL");
private String username= System.getenv("USERNAME") == null ? "USER_EMAIL_OR_PHONE" : System.getenv("USERNAME");
private String password= System.getenv("PASSWORD") == null ? "USER_PASSWORD" : System.getenv("PASSWORD");
}
您可以执行上述操作,我已创建了一个示例配置文件。您必须分别在IDE中设置环境变量值,或者从jenkins传递它,它将作为环境变量传递。此外,如果键值为null,您可以使用默认值,它将选择默认值,如图所示。
LocalConfig.INSTANCE.getProtocol()+"://" + LocalConfig.INSTANCE.getCommunity()
您可以直接访问上面显示的变量。