Java 如何使用void方法中的变量值?
我有一些从网站上获取价值的无效测试:Java 如何使用void方法中的变量值?,java,selenium,junit,Java,Selenium,Junit,我有一些从网站上获取价值的无效测试: @Test public void MemberEditInfo(){ ... WebElement element = driver.findElement(By.id("Member_Email")); String elementval = element.getAttribute("value"); } 如何在另一个类中使用Stringelementval的值
@Test
public void MemberEditInfo(){
...
WebElement element = driver.findElement(By.id("Member_Email"));
String elementval = element.getAttribute("value");
}
如何在另一个类中使用String
elementval
的值(该方法为void,不返回任何值,因为如果它将返回值,那么Junit将不起作用)?不能在返回类型为void
的函数中返回值。尝试将其更改为静态值或在另一个类中调用静态方法。您可能最终不得不为此定义一个新类。您不能在返回类型为void
的函数中返回值。尝试将其更改为静态值或在另一个类中调用静态方法。您可能最终不得不为此定义一个新类。我不使用JUnit,因此如果您不能返回除void之外的其他内容,一个选项是在此类中创建一个静态类属性,并将字符串放入其中。从另一个类中,您只需引用它
在这个类中,Test1
static String elementVal;
@Test
public void MemberEditInfo()
{
...
WebElement element = driver.findElement(By.id("Member_Email"));
this.elementVal = element.getAttribute("value");
}
在另一个类中,Test2
String elementVal = Test1.elementVal;
我不使用JUnit,因此如果不能返回除void之外的其他内容,一个选项是在这个类中创建一个静态类属性,并将字符串放入其中。从另一个类中,您只需引用它
在这个类中,Test1
static String elementVal;
@Test
public void MemberEditInfo()
{
...
WebElement element = driver.findElement(By.id("Member_Email"));
this.elementVal = element.getAttribute("value");
}
在另一个类中,Test2
String elementVal = Test1.elementVal;
包起来
WebElement element = driver.findElement(By.id("Member_Email"));
String elementval = element.getAttribute("value");
比如说,转化为一种方法
public static String returnAttributeValue(driver_variable_type driver, String attr, String attrName) {
driver.findElement(By.id(attr)).getAttribute(attrName);
}
只需在测试和需要的地方使用此方法。只需包装即可
WebElement element = driver.findElement(By.id("Member_Email"));
String elementval = element.getAttribute("value");
比如说,转化为一种方法
public static String returnAttributeValue(driver_variable_type driver, String attr, String attrName) {
driver.findElement(By.id(attr)).getAttribute(attrName);
}
在您的测试和您需要它的地方都使用这个方法。我想这是一个很好的方法,但是当Test1结束时,test2中的变量elementval有空值。您认为,当Test1关闭时,我如何为这种情况保存元素val的值?老实说,最佳实践是测试不应该依赖彼此的数据。你真的应该找到一个更好的,不同的方法来做到这一点。每个测试都应该是独立的,并且应该能够以任何顺序运行。谢谢,我会找到另一个决定。我想这是一个很好的方法,但是当Test1结束时,test2中的变量elementval有空值。您认为,当Test1关闭时,我如何为这种情况保存元素val的值?老实说,最佳实践是测试不应该依赖彼此的数据。你真的应该找到一个更好的,不同的方法来做到这一点。每个测试应该是独立的,应该能够以任何顺序运行。谢谢,我会找到另一个决定。在每次新登录网站之前,我需要做一个额外的测试,它将为用户接收电子邮件值?此语句应该有一些返回变量。它应该是一些字符串?此方法必须返回字符串类型的结果(来自eclipse)。在每次新登录网站之前,我需要做一个额外的测试,它将为用户接收电子邮件值?此语句应该有一些返回变量。它应该是一些字符串?此方法必须返回字符串类型的结果(来自eclipse)。