如何从一个类访问另一个类的Java类变量值(动态)?

时间:2019-05-31 15:28:38

标签: java selenium

我的要求是,我想读取一个页面中的一些数据,并与另一个页面数据一起验证该数据,以确保两个不同页面中存在的两个数据相同。 我正在使用硒和Java

注意:运行时我正在从UI中读取所有数据。

Class User{

String userText;

public User(){}

public void getUserName(){

// Here i'm reading the text from the user page
userText = driver.findElement(By.xpath("some xpath")).getText();
}

}

Class Admin{

public adminText;

// Here i'm reading the text from the admin page

public void getAdminUserName(){
adminText = driver.findElement(By.xpath("some xpath")).getText();
}

// Now I wanted to use, User class variable value userText in the admin class. So that I can assert both the data's (User and Admin).

User obj = new User();

assertEquals(obj.userText, adminText); // Asertion failed.

}
}

但是,如果我为User类创建一个对象,则将userText变量分配为null。所以我的主张失败了。

任何人都可以让我知道,我如何才能将一个类的值访问另一个类? 我知道我们可以使用静态,但是我觉得在这里这样做是一种不好的做法。

1 个答案:

答案 0 :(得分:0)

您没有调用方法,创建管理对象或将adminText定义为String。

Class User{

String userText;

public User(){}

public void getUserName(){

// Here i'm reading the text from the user page
userText = driver.findElement(By.xpath("some xpath")).getText();
}

}

Class Admin{

String adminText;

// Here i'm reading the text from the admin page

public void getAdminUserName(){
adminText = driver.findElement(By.xpath("some xpath")).getText();
}

// Now I wanted to use, User class variable value userText in the admin class. So that I can assert both the data's (User and Admin).



}

User obj = new User();
obj.getUserName();

Admin adminObj = new Admin();
adminObj.getAdminUserName();

assertEquals(obj.userText, adminObj.adminText); // Asertion failed.

不是一个完整的答案,因为您仍然需要导航到另一页。 driver.get(page_1),driver.get(page_2)