我是 JUnit Selenium 的新手,我发现了问题。
我无法在 @Test 方法中使用定位器找到元素。当我输入 driver
时,我没有预测搜索。如果我输入 @Before
,则可以。
例如我无法打字
@Test
..
driver.findElement(By.id("gs_htif0")).sendKeys("blabla");
我的类(class)包含 -
@Before
public void setUp() throws Exception {
WebDriver driver;
System.setProperty("webdriver.gecko.driver", "C:\\geckodriver.exe");
driver = new FirefoxDriver();
String baseURL = "https://www.google.com";
driver.get(baseURL);
}
@Test
public void test() {
driver.**___PROBLEM___**
}
@After
public void tearDown() throws Exception {
}
最佳答案
那是因为你已经声明了
WebDriver driver;
本地在setUp方法中,在您的情况下也使用@Before
进行注释。
您应将其移至类(class)级别并进一步用作 -
public class SomeTest {
WebDriver driver;
@Before
public void setUp() throws Exception {
...
driver = new FirefoxDriver();
...
driver.get(baseURL);
}
@Test
public void test() {
driver.getTitle(); //just an example
}
.... // other methods
}
关于java - 无法在 @Test Junit Selenium Web 驱动程序中使用定位器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42597945/