我有两个类文件。Class_login.java和Class_Company.java。我在属性文件中的不同位置存储了一个xpath。使用Class_login.java编写一个方法来加载此属性文件。
static Properties objprop1 = new Properties();
public static FileInputStream fileInputS = null;
static void propManager() throws IOException {
fileInputS = new FileInputStream("C:\\Test-Automation\\FinanceSys\\myproj\\src\\test\\resources\\xpath.properties");
objprop1.load(fileInputS);
}在Class_login.java中,在方法外部声明了objprop1。
我需要在Class_Company.java中再次加载此文件。如果我像使用Class_login.PropertyManager();一样使用它,并且使用相同的objprop1,则文件不会加载,并且找不到xpath。
因此,我用不同的名称(static void PropertyManager() {)创建了相同的方法,并
public static Properties objprop = new Properties();
我知道这不是正确的方式。但是,如果不这样做,还能做什么呢?在Class_Company.java的main方法中,我分别调用了这两个方法,这样就不会像前面那样出现null xpath错误。
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Class_login LogFeature = new Login();
Class_Company CC = new CCompany();
**Class_Company.PropertyManager();**
LogFeature.OpenBrowser("CH32");
LogFeature.EnterURL("http://localhost:90/AppFin");
LogFeature.PageMaximise();
LogFeature.EnterUserName("uname");
LogFeature.EnterPassword("abcd!@");
LogFeature.ClickLoginButton();
Thread.sleep(2000);
**Class_Company.propManager();**
CC.clickNewCompany("Manage");请告诉我做这件事的正确方法。我希望在两个类文件中都使用objprop,并且只在Class_Company.java中使用一次。而不是上面突出显示的两倍。
发布于 2018-12-17 13:14:42
这是您需要的基本示例:
全局变量声明:
Class variableCollection {
public static string data;
}您可以通过扩展类或对象引用来使用此变量。
class login extends variableCollection{
}或
class login{
variableCollection objvar = new variableCollection();
objvar.data = "";
}您可以以相同的方式在多个类中使用相同的变量。
https://stackoverflow.com/questions/53804983
复制相似问题