Selenium自动化测试框架介绍

本文简要介绍Selenium 的Webdriver 架构,我对selenium的相关知识点进行了整理,大家可免费下载:Selenium自动化测试框架详细介绍ppt及示例脚本.rar

Selenium简介

Selenium是浏览器的自动化测试工具,与浏览器进行交互,实现对web应用的自动化测试,Selenium包括Selenium IDE, Selenium Webdriver 和 Selenium Grid三个工具。

Selenium IDE (Integrated Development Environment)是一个浏览器插件,提供脚本录制、脚本生成和回放功能,初次使用selenium的新手可以用它来做一些简单的测试,

Selenium Webdriver 是一个浏览器自动化框架,接受脚本命令并发送到浏览器(通过浏览器驱动来实现),支持多种语言(包括Java, Ruby, Python, PHP, JavaScript, C#等)和多种浏览器,并且支持windows,Linux,macOS等操作系统。

Selenium Grid实现在多个机器上并行运行 selenium,也就是同时在多个机器上执行测试,并且可以是不同的浏览器和操作系统(跨平台)。

下面详细介绍一下Selenium Webdriver 架构。

Selenium Webdriver 架构

Selenium Webdriver API实现脚本语言与浏览器之间的通信,Selenium Webdriver 架构包括四个基本组件:

  • Selenium Language Bindings/Selenium Client Library:Selenium语言绑定/客户端库
  • JSON Wire Protocol:JSON有线协议
  • Browser Driver:浏览器驱动
  • Browser:浏览器

Selenium支持多种语言,包括Ruby、Java、Python、C#、JavaScript、GO、Haskell、JavaScript、Perl、PHP、R和Dart。可参考网站:https://www.selenium.dev/downloads/#client-drivers 。执行测试用例时,selenium 代码将被转换为JSON格式,发送给浏览器驱动。

JSON(JavaScript Object Notation)是一种用于在Web上交换数据的开放标准。JSON有线协议是一种REST API ,基于HTTP协议实现selenium客户端与remote server(浏览器驱动的HTTP服务器)的交互,浏览器驱动(HTTP server)接收到命令(HTTP requests)后,将请求发送到对应的浏览器上执行,并返回HTTP响应。如果是POST请求,将在浏览器上执行相应的操作;如果发送的是GET请求,浏览器将发送HTTP响应,发送到浏览器驱动,然后浏览器驱动使用JSON有线协议将响应发送到客户端。

不同的浏览器对应各自的驱动程序,驱动下载和使用方法可参考官方文档:https://www.selenium.dev/documentation/en/webdriver/driver_requirements/ ,或者参考文章Selenium多浏览器测试


本文标题:Selenium自动化测试框架介绍

文章作者:hiyo

文章链接:https://hiyongz.github.io/posts/selenium-architecture-introduce/

许可协议:本博客文章除特别声明外,均采用CC BY-NC-ND 4.0 许可协议。转载请保留原文链接及作者。

关注微信公众号,及时接收最新技术文章!