目录
了解自动化和selenium
为什么需要自动化为什么要做
为什么选择selenium作为我们的web自动化工具
环境部署
关于JAVA使用驱动器
selenium的基础语法
定位页面的元素
定位元素的方法
元素的操作
编辑 等待
了解自动化和selenium
为什么需要自动化为什么要做
- 自动化测试能够代替一部分的手工测试,自动化测试能够提高测试效率
- 随着功能的增加和版本的迭代,版本的回归测试越来越困难,所以仅仅通过人工测试来回归所有的版本肯定是不现实的,所以我们需要借助自动化来进行回归
为什么选择selenium作为我们的web自动化工具
- 免费开源
- 支持多浏览器,如chrome,火狐,IE等等
- 支持多系统,linux,mac,windows
- 支持多语言 java,python
- selenium包底层有很多使用的API
环境部署
- selenium工具包
- Chrome浏览器
- Chromeriver谷歌驱动
- Java版本最少是8
驱动的原理
驱动 selenium和浏览器的关系
关于JAVA使用驱动器
导入驱动器的jar包
org.seleniumhq.selenium
selenium-java
4.0.0
第一个驱动程序
selenium的基础语法
定位页面的元素
定位元素的方法
基础选择器
复合选择器
子类选择器,父类选择器
css选择器
在网页的前端开发页面找
xpath
- 定位元素必须唯一
元素的操作
点击操作click 提交submit
模拟按键输入send_keys
清除对象输入的文本内容clear()
获取文本gettext
等待
- 代码的执行速度比较快,而前端页面渲染的速度相对较慢一点,可能导致结果是:代码已经执行到下一步了,页面还没有渲染出来,元素找不到
强制等待
- 让程序暂停一会,等待指定的时间之后继续执行下一步
- 优点:语法简单,适合调试的时候用
- 缺点:需要等待固定的时间,造成测试的时间大量消耗,大大减少了自动化的测试效率
隐式等待
在规定的时间范围内,轮询等待元素出现之后就立即结束,如果在规定的时间内元素仍然没有出现,则会爆出一个NoSuchElementException
- 隐式等待作用在webdriver的整个生命周期,只要没有走到driver.quit,即没有退出浏览器,隐式等待是会一种存在的
- 优点:节省了大量的等待时间,元素展示之后就可以直接执行下一步,执行效率高
- 缺点:需要等待所有的元素都展现完才会执行下一步,仍然会有额外的时间上的浪费
显示等待
可以针对某一个元素来进行测试
- 优点:针对某一个元素进行等待,极大降低了自动化的整体的等待时间
- 缺点:写法更加的复杂
- 等待什么时候为止,即等待括号里的条件满足为止,如果条件在指定的时间没有满足,就抛出异常
常用方法
为什么需要自动化为什么要做
- 自动化测试能够代替一部分的手工测试,自动化测试能够提高测试效率
- 随着功能的增加和版本的迭代,版本的回归测试越来越困难,所以仅仅通过人工测试来回归所有的版本肯定是不现实的,所以我们需要借助自动化来进行回归
为什么选择selenium作为我们的web自动化工具
- 免费开源
- 支持多浏览器,如chrome,火狐,IE等等
- 支持多系统,linux,mac,windows
- 支持多语言 java,python
- selenium包底层有很多使用的API
环境部署
- selenium工具包
- Chrome浏览器
- Chromeriver谷歌驱动
- Java版本最少是8
- 免费开源
- 支持多浏览器,如chrome,火狐,IE等等
- 支持多系统,linux,mac,windows
- 支持多语言 java,python
- selenium包底层有很多使用的API
环境部署
- selenium工具包
- Chrome浏览器
- Chromeriver谷歌驱动
- Java版本最少是8
驱动的原理
驱动 selenium和浏览器的关系
导入驱动器的jar包
org.seleniumhq.selenium selenium-java4.0.0 第一个驱动程序
selenium的基础语法
定位页面的元素
定位元素的方法
基础选择器
复合选择器
子类选择器,父类选择器
css选择器
在网页的前端开发页面找
xpath
- 定位元素必须唯一
元素的操作
点击操作click 提交submit
模拟按键输入send_keys
清除对象输入的文本内容clear()
获取文本gettext
等待
- 代码的执行速度比较快,而前端页面渲染的速度相对较慢一点,可能导致结果是:代码已经执行到下一步了,页面还没有渲染出来,元素找不到
强制等待
- 让程序暂停一会,等待指定的时间之后继续执行下一步
- 优点:语法简单,适合调试的时候用
- 缺点:需要等待固定的时间,造成测试的时间大量消耗,大大减少了自动化的测试效率
隐式等待
在规定的时间范围内,轮询等待元素出现之后就立即结束,如果在规定的时间内元素仍然没有出现,则会爆出一个NoSuchElementException
- 隐式等待作用在webdriver的整个生命周期,只要没有走到driver.quit,即没有退出浏览器,隐式等待是会一种存在的
- 优点:节省了大量的等待时间,元素展示之后就可以直接执行下一步,执行效率高
- 缺点:需要等待所有的元素都展现完才会执行下一步,仍然会有额外的时间上的浪费
显示等待
可以针对某一个元素来进行测试
- 优点:针对某一个元素进行等待,极大降低了自动化的整体的等待时间
- 缺点:写法更加的复杂
- 等待什么时候为止,即等待括号里的条件满足为止,如果条件在指定的时间没有满足,就抛出异常
常用方法



