目录
1.selenium是什么?
2.selenium特点
3.selenium工作原理
1.selenium是什么?
selenium是web应用中基于UI的自动化测试框架。
2.selenium特点
- 支持多平台
- 多浏览器
- 多语言(Java、Python、C#、JS、Ruby......)
- 有丰富的API
3.selenium工作原理
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 的调用来完成操作。
③Selenium Grid
Selenium Grid 是一个服务器,提供对浏览器实例访问的服务器列表,管理各个节点的注册和状态信息。可以实现在同一时刻不同服务器上执行不同的测试脚本。