16-自动化测试——selenium介绍

目录

1.selenium是什么?

2.selenium特点

3.selenium工作原理


1.selenium是什么?

selenium是web应用中基于UI的自动化测试框架。

2.selenium特点

  • 支持多平台
  • 多浏览器
  • 多语言(Java、Python、C#、JS、Ruby......)
  • 有丰富的API

3.selenium工作原理

16-自动化测试——selenium介绍_第1张图片

1)自动化脚本代码

通过IDEA编写的代码。

2)WebDriver浏览器驱动

需要下载的。

3)浏览器

Edge浏览器、Chrome浏览器......

早期的Selenium RC已经被现在的WebDriver所替代,可以简单的理解为Selenium1.0+WebDriver构成现在的Selenium2.0。

现在说起selenium,一般指的是Selenium2.0。它由Selenium IDE, WebDriver,Selenium Grid组成。

分别做一下介绍:

①Selenium IDE

Selenium IDE是一个用于selenium测试的完成集成开发环境,可以直接录制在浏览器的用户操作,并且能回放、编辑和调试测试脚本。调试过程中可以逐步进行或调整执行的速度,并且可以在底部浏览日志出错信息。 录制的测试脚本可以以多种语言导出,比如java,C#,Python,Ruby等,方便掌握不同语言的测试人员操作。

②WebDriver

Selenium RC 在浏览器中运行 JavaScript 应用,会存在环境沙箱问题,而 WebDriver 可以跳出 JavaScript 的沙箱,针对不同的浏览器创建更健壮的、分布式的、跨平台的自动化测试脚本。基于特定语言(Java,C#,Python,Ruby,Perl,JavaScript等)绑定来驱动浏览器对 Web 元素进行操作和验证。

WebDriver的工作原理:

  • 启动浏览器后,selenium-webdriver 会将目标浏览器绑定到特定的端口,启动后的浏览器则作为 webdriver 的 remote server。
  • 客户端(也就是测试脚本),借助 ComandExecutor 发送 HTTP 请求给 sever 端(通信协议:The WebDriver Wire Protocol,在 HTTP request 的 body 中,会以 WebDriver Wire 协议规定的 JSON 格式的字符串来告诉 Selenium 我们希望浏览器接下来做什么事情)。
  • Sever 端需要依赖原生的浏览器组件,转化 Web Service 的命令为浏览器 native 的调用来完成操作。

16-自动化测试——selenium介绍_第2张图片

③Selenium Grid

Selenium Grid 是一个服务器,提供对浏览器实例访问的服务器列表,管理各个节点的注册和状态信息。可以实现在同一时刻不同服务器上执行不同的测试脚本。

 

你可能感兴趣的:(测试,selenium)