为了账号安全,请及时绑定邮箱和手机立即绑定

Selenium TestNG 中有关变量的错误

Selenium TestNG 中有关变量的错误

Smart猫小萌 2024-01-05 14:45:13
我试图从 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
查看完整描述

3 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

没有button课。driver.findElements返回一个列表WebElement

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

如果您想要单个元素,请使用driver.findElement

WebElement element = driver.findElement();


查看完整回答
反对 回复 2024-01-05
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

没有名为 Button 的类来启动对象 b。尝试 WebElements。所以该方法的代码是

public void button_test() {
List<WebElement> b = driver.findElements(By.xpath("//button[text()='Teleworking"));
}

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


查看完整回答
反对 回复 2024-01-05
?
PIPIONE

TA贡献1829条经验 获得超9个赞

请检查 xpath 是否有单个元素"//button[text()='Teleworking"。如果是这样,请像下面一样更新您的脚本

 WebElement button = driver.findElement(By.xpath("//button[text()='Teleworking"));

如果您有多个具有与上面相同的 xpath 的按钮,那么您需要通过 List 来处理它,在这种情况下您可以使用下面的 XPath。

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



查看完整回答
反对 回复 2024-01-05
  • 3 回答
  • 0 关注
  • 120 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信