Java 有关Selenium TestNG中变量的错误

Java 有关Selenium TestNG中变量的错误,java,selenium,junit,testng,Java,Selenium,Junit,Testng,我试图从IntelliJ运行下面的代码,但反过来出现了一个错误(如下)。我只想使用Xpath定位器单击网站上的一个按钮,并添加一个断言来验证我的测试。构建这样一个简单测试的最佳方法是什么 import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.testng.annotations.Test; import java

我试图从IntelliJ运行下面的代码,但反过来出现了一个错误(如下)。我只想使用Xpath定位器单击网站上的一个按钮,并添加一个断言来验证我的测试。构建这样一个简单测试的最佳方法是什么


import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.testng.annotations.Test;
import java.util.List;

public class ButtonTest extends CommonScenario {

  private static WebDriver driver;

  @Test()
  public void button_test() {
    button b = driver.findElements(By.xpath("//button[text()='Teleworking"));
  }
错误:

Error:(16, 5) java: cannot find symbol
      symbol:   class button
      location: class selenium.ButtonTest

没有
按钮
driver.findElements
返回
WebElement

List<WebElement> elements = driver.findElements();
WebElement element = driver.findElement();

没有名为button的类来启动对象b。试试WebElements。 所以这个方法的代码是

public void button_test() {
List<WebElement> b = driver.findElements(By.xpath("//button[text()='Teleworking"));
}
公共无效按钮\u测试(){
列表b=driver.findElements(By.xpath(//button[text()='Teleworking”);
}

请注意,您使用的是findElement而不是findElement,它将返回一个webelement列表,而不是单个webelement。

请检查是否有xpath
“//按钮[text()='Teleworking'
。如果有,请按如下方式更新脚本

 WebElement button = driver.findElement(By.xpath("//button[text()='Teleworking"));
若您有多个按钮具有与上面相同的xpath,那个么您需要通过列表处理它,在这种情况下,您可以使用下面的xpath

List<WebElement> button = driver.findElements(By.xpath("//button[text()='Teleworking"));
List button=driver.findElements(By.xpath(“//button[text()='Teleworking”);

好的,我想用下面的代码单击特定元素(按钮)。解决方案是什么?:
@Test()public void button_Test(){driver.findelelement(By.xpath(//button[text()='Teleworking”)。单击();}
@Fahri是什么阻止了你这么做?我忘了说对不起。我得到以下错误:selenium.buttonest.button\u测试中的java.lang.NullPointerException(buttonest.java:16)