多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

Selenium2.0常见bug及改正方法-自动化测试

更新时间:2022-04-22 09:18:09 作者:多测师 浏览:180

  1. java.lang.NoClassDefFoundError:.... 该错误指出了依赖的缺失,具体是什么依赖见Error后面的部分,因为1.0 和 2.0所依赖的包有区别,如果是使用maven,可能要进行修改,具体可以看缺失哪个包,然后直接百度,然后上 http://mvnrepository.com/ 上面去找包,然后将依赖补充到pom.xml里面就好,比如 java.lang.NoClassDefFoundError: org/apache/http/conn/HttpClientConnectionManager",查了谷歌,发现缺失或者需要更新的是httpclient,那么去刚刚的仓库里面找这个文件,找到合适的版本,将相关依赖代码copy到pom里面即可。

Selenium2.0常见bug及改正方法-自动化测试

  2. org.openqa.selenium.WebDriverException: Target URL ... is not well-formed.在可以运行的时候可能无法打开页面出现这个错误,这个是因为你地址没有写好,譬如忘了写http://。举个例子,我是org.openqa.selenium.WebDriverException: Target URL www.gmail.com is not well-formed.结果发现是应该写https://www.gmail.com.然后就好了。

  3.id 变化导致selenium无法正确定位的问题,由于使用脚本,有些元素的ID可能是动态的,所以你每一次操作看到的id都是不同的,如果使用某一次的ID作为定位的标准,肯定是无法定位到元素的。此时比较好的做法有两个:1.使用其他第一无二的元素,2.使用xpath,可以先定位到父节点,利用DOM树解决。

  4. 点击速度太快,这种经常一个元素还没有出来就已经开始各种下一步操作,这样子很容易导致定位失败或者其他错误,所以最好每次都给一点页面加载时间,可以通过thread.wait(x ms)来实现,可以暂停x毫秒。

  5. iframe:这个是新手最容易失手的地方。如果想定位iframe里面的东西,我就必须进入这个iframe先,可以使用这行代码进入:driver.switchTo().frame(driver.findElement(By.xpath(...)));当然不一定要用xpath,可以用id什么的。然后退出使用driver.switchTo().defaultContent();

  6. 记得从iframe出来!!之前的代码里面有一个页面进入iframe登录之后还是在同一个页面,只是登陆部分通过js控制看不到而已,这时候如果以为是进入一个新的页面,结果其他页面元素死活无法定位。

  以上内容为大家介绍了自动化测试中的Selenium2.0常见bug及改正方法,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部