Selenium WebDriver架构

Selenium WebDriver架构

Selenium WebDriver API提供编程语言和浏览器之间的通信工具。下图显示了Selenium WebDriver的体系结构表示。

WebDriver架构有四个基本组件:

  • Selenium语言绑定
  • JSON有线协议
  • 浏览器驱动
  • 真正的浏览器

以下是上述组件的详细描述。

1. Selenium语言绑定/Selenium客户端库

Selenium开发人员已经构建了语言绑定/Selenium客户端库以支持多种语言。 例如,如果要在java中使用浏览器驱动程序,请使用java绑定。 所有受支持的语言绑定都可以从Selenium的官方网站( https://www.seleniumhq.org/download/#client-drivers )下载。

2. JSON有线协议

JSON(JavaScript Object Notation)是一种用于在Web上交换数据的开放标准。 它支持对象和数组等数据结构。 因此,从JSON编写和读取数据很容易。 要了解有关JSON的更多信息,请访问 - http://www.zyiz.net/json/

JSON Wire Protocol提供了一种在服务器和客户端之间传输数据的传输机制。 JSON Wire Protocol是各种REST Web服务的行业标准。

3. 浏览器驱动

Selenium使用特定于每个浏览器的驱动程序,以便与浏览器建立安全连接,而不会泄露浏览器功能的内部逻辑。 浏览器驱动程序也特定于用于自动化的语言,如Java,C#等。
当使用WebDriver执行测试脚本时,将在内部执行以下操作。

  • 生成HTTP请求并将其发送到每个Selenium命令的浏览器驱动程序。
  • 驱动程序通过HTTP服务器接收HTTP请求。
  • HTTP Server决定执行在浏览器上执行的指令的所有步骤。
  • 执行状态将发送回HTTP Server,随后将其发送回自动化脚本。

4. 浏览器

Selenium WebDriver支持的浏览器:

  • Internet Explorer
  • Mozilla Firefox
  • Google Chrome
  • Safari