首页 > 代码库 > 解决driver.findElement(By)运行到此处报null指针问题

解决driver.findElement(By)运行到此处报null指针问题

1.由于自动化页面上的元素定位太多,主要是通过By来定位,而By提供了id,xpath,name差不多就可以定位到元素

可以使用一个配置文件存储页面上的定位By值,然后从配置文件获取by值,行程by方式与by值的map对

这里遇到一个问题,就是driver.findElement(By)的时候会提示这个结果是void,无法转换成WebElement类型

定位了一下,发现是map.keySet()这个取出键值会去重

设计模式:

配置文件中存储(可理解名字:通过F12看到的name或者id或者xpath路径)

测试用例中准备数据(By的方式比如name/id/xpath:xpath的值)

页面准备定位所有元素方法,Map<String,WebElement> locateElements(测试用例中数据Map,配置文件p)

要注意从配置文件中取出来的值都是String类型,所以不是By值,自然无法定位到元素

 

解决driver.findElement(By)运行到此处报null指针问题