java - java.lang.NullPointerException 在使用 Selenium TestNG 和 Java 执行第二个 @test 注释方法时
问题描述
java.lang.NullPointerException 在使用 Selenium TestNG 和 Java 执行第二个 @test 注释方法时
代码试用:
public class Dropdown {
WebDriver driver;
@BeforeTest
public void Lanchdriver()
{
System.setProperty("webdriver.chrome.driver", "C:\\Users\\admin\\Downloads\\chromedriver_win32\\chromedriver.exe");
WebDriver driver =new ChromeDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("https://www.suzukimotorcycle.co.in/find-dealer");
WebElement dropdown1= driver.findElement(By.xpath("//*[@id='dealer_touch_points']"));
dropdown1.click();
Select select = new Select (dropdown1);
select .selectByVisibleText("Suzuki Premium Dealers");
}
@Test(priority=1)
public void select_dealer()
{
WebElement State_Dropdown =driver.findElement(By.id("dealer_state"));
Select State_Select =new Select (State_Dropdown);
State_Select.selectByValue("27");
}
}
错误:
FAILED: select_dealer java.lang.NullPointerException at myNewPackage.Dropdown.select_dealer(Dropdown.java:47)
解决方案
您已经声明了WebDriver的全局实例,例如driver
:
WebDriver driver;
因此,您无需再创建 WebDriver 的任何方法级别实例,并继续使用具有全局范围的WebDriver的相同实例,即driver
.
解决方案
您需要从方法内WebDriver
的行中删除该单词。因此,实际上您的代码行将是:WebDriver driver =new ChromeDriver();
select_dealer()
driver = new ChromeDriver();
推荐阅读
- c# - 从 DateTime 列中选择每天的最小时间值
- sqlite - Flutter 如何从 SQLite 数据库中的数据中对列表进行分组?
- java - 改造响应 500 空消息
- python - 我想制作一个随机数字和字母生成器,但这不起作用
- java - 为什么 Admob 插页式广告不显示在 AndroidOS 上?
- android - Jetpack Compose - 如何从 pointerInteropFilter 中提取目标
- r - 正则表达式字符串匹配单词模式
- ansible - ansible - 当 result.stdout 超过 1 行时失败
- python - 如何使用全局变量更新标签
- websphere - 如何将 IBM Maximo Websphere 主机添加到 Windows Server 网络负载平衡集群?