在我的测试中,我将在一个方法中捕获一个字符串,然后在另一个方法中使用它。这是我想要做的一个例子:
public class stackOverflowExample {
public static WebDriver driver;
public static Properties OR = null;
@Test
public void test_1() throws InterruptedException {
System.setProperty("webdriver.ie.driver","D:\\iedriver\\IEDriverServer.exe");
driver=new InternetExplorerDriver();
driver.get("http://www.google.com");
Thread.sleep(1500);
String string1 = driver.findElement(By.id("btnK")).getText();
System.out.println(string1);
}
public void test_2() {
System.out.println(string1);
}
}
如何在test_2()方法中使用string1?
*编辑:
为了清楚我尝试这样做的原因,我正在进行以下测试:
答案 0 :(得分:0)
从技术上讲,你不打算做什么。单元测试意味着独立于每个。
同样afaik,执行测试时没有严格的排序。我的意思是,test_2()实际上可以在test_1()之前进行测试,因此无论如何string1都不可用于test_2()。测试也可以并行运行。
正确的方法是,IMO也是在test_2()中调用获取string1的调用...如果您认为在类中的每个测试都需要获取string1的这一步,请考虑使用@Before注释对于setup(),这是一个在所有测试之前执行并在类级别变量中存储string1的函数。
希望这有帮助。
答案 1 :(得分:0)
你想要它:
public class SomeTest {
public static String string1 = null; // It's a global String
@Test
public void test1() {
string1 = "blabla"; // Change value for global String
System.out.println(string1); // Print value of global String
}
@Test
public void test2() {
System.out.println(string1); // Print value of global String
}
}