java - 无法在 @Test Junit Selenium Web 驱动程序中使用定位器

标签 java eclipse junit

我是 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 {
}

[eclipse - problem]

最佳答案

那是因为你已经声明了

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/

相关文章:

java - 如何使用Java修改Xml标签并在Xml文件中插入新标签?

java - 为什么在这种情况下调用父类方法而不是子类方法?

c++ - 为什么我不能在 C++ 中用 a[n][n] 声明表达式 a[1][1] 后观看它?

java - JUnit AssertEquals 失败

java - 使用正则表达式断言 RestAssured 响应正文

java - 将字符串传递给字符串数组引用

java - 计算 y = 1/1 + 2/3 + 3/5 + 4/7 + ....... + n/(2n-1) 的值,其中 n 是用户输入

eclipse - SBT 从工作区本地解析

java - Eclipse SWT ScrolledComposite 拒绝滚动

java - 断言 HashMap 和 MapWithDefault 之间的相等性