Web自动化-——selenium

目录

了解自动化和selenium

为什么需要自动化为什么要做

为什么选择selenium作为我们的web自动化工具

环境部署

关于JAVA使用驱动器 

selenium的基础语法 

定位页面的元素

定位元素的方法

 元素的操作

​编辑 等待


了解自动化和selenium

为什么需要自动化为什么要做

  • 自动化测试能够代替一部分的手工测试,自动化测试能够提高测试效率
  • 随着功能的增加和版本的迭代,版本的回归测试越来越困难,所以仅仅通过人工测试来回归所有的版本肯定是不现实的,所以我们需要借助自动化来进行回归

为什么选择selenium作为我们的web自动化工具

  • 免费开源
  • 支持多浏览器,如chrome,火狐,IE等等
  • 支持多系统,linux,mac,windows
  • 支持多语言 java,python
  • selenium包底层有很多使用的API

环境部署

  • selenium工具包
  • Chrome浏览器
  • Chromeriver谷歌驱动
  • Java版本最少是8

驱动的原理

Web自动化-——selenium_第1张图片

驱动 selenium和浏览器的关系 

Web自动化-——selenium_第2张图片

关于JAVA使用驱动器 

导入驱动器的jar包


            org.seleniumhq.selenium
            selenium-java
            4.0.0
        

第一个驱动程序

Web自动化-——selenium_第3张图片

selenium的基础语法 

定位页面的元素

Web自动化-——selenium_第4张图片

定位元素的方法

基础选择器

复合选择器

子类选择器,父类选择器 

css选择器

Web自动化-——selenium_第5张图片

在网页的前端开发页面找

 xpath

Web自动化-——selenium_第6张图片

Web自动化-——selenium_第7张图片

  • 定位元素必须唯一

 元素的操作

点击操作click 提交submit

Web自动化-——selenium_第8张图片

 

模拟按键输入send_keys 

清除对象输入的文本内容clear() 

Web自动化-——selenium_第9张图片

获取文本gettext 

Web自动化-——selenium_第10张图片 等待

  • 代码的执行速度比较快,而前端页面渲染的速度相对较慢一点,可能导致结果是:代码已经执行到下一步了,页面还没有渲染出来,元素找不到

强制等待 

Web自动化-——selenium_第11张图片

  •  让程序暂停一会,等待指定的时间之后继续执行下一步
  • 优点:语法简单,适合调试的时候用
  • 缺点:需要等待固定的时间,造成测试的时间大量消耗,大大减少了自动化的测试效率

Web自动化-——selenium_第12张图片

隐式等待

 在规定的时间范围内,轮询等待元素出现之后就立即结束,如果在规定的时间内元素仍然没有出现,则会爆出一个NoSuchElementException

  • 隐式等待作用在webdriver的整个生命周期,只要没有走到driver.quit,即没有退出浏览器,隐式等待是会一种存在的
  • 优点:节省了大量的等待时间,元素展示之后就可以直接执行下一步,执行效率高
  • 缺点:需要等待所有的元素都展现完才会执行下一步,仍然会有额外的时间上的浪费

显示等待

可以针对某一个元素来进行测试

 

 

  •  优点:针对某一个元素进行等待,极大降低了自动化的整体的等待时间
  • 缺点:写法更加的复杂
  • 等待什么时候为止,即等待括号里的条件满足为止,如果条件在指定的时间没有满足,就抛出异常

 常用方法

 

 

 

你可能感兴趣的:(测试开发,自动化,selenium,运维)