概述
Selenium是一个开源自动化测试套件,适用于跨浏览器和平台的Web应用程序。 它是一组软件工具,每种工具都有不同的方法来支持测试自动化。
Selenium3.*的组件如下:
- Selenium IDE(集成开发环境 Integrated Development Environment)
- Selenium WebDriver
- Selenium Grid
Selenium3.停止直接使用Selenium RC。 Selenium Core已从最新版本的Selenium 3.中完全删除。
Selenium开源,基于Apache 2.0 License。github: https://github.com/SeleniumHQ/selenium
Selenium IDE
Selenium IDE的介绍请参考 https://www.jianshu.com/p/2259f4a8d4c4,实际上Katalon Recorder更好用。
- python测试开发项目实战-目录 https://china-testing.github.io/practices.html
- python工具书籍下载-持续更新 https://china-testing.github.io/python_books.html
- python 3.7极速入门教程 - 目录 https://china-testing.github.io/python3_quick.html
Selenium WebDriver
Selenium WebDriver是浏览器自动操作的编程接口,更好地支持动态网页。
- 支持很多浏览器,如Chrome,IE,Edge,Firefox,Opera,Safar。
- 支持很多编程语言,如Java,C#,Ruby,Python,JavaScript(Node)
Selenium WebDriver有两种系统配置。
- 只有Selenium Client
安装请自行搞定。
快速入门示例:
执行结果:
Selenium客户端和浏览器驱动程序使用JsonWireProtocol通过HTTP方法相互通信。 当我们执行如上所述的自动操作的代码时,Selenium Client在内部使用JsonWireProtocol与浏览器驱动程序交互并执行浏览器操作。
在JsonWireProtocol网站上,我们可以检查命令是否自动运行。
https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol
- Selenium Client + Selenium Server
主要适用于PHP等非官方支持的语言及Selenium Grid。
参考资料
- 讨论钉钉群 21745728
- 本文最新版本地址
- 本文涉及的python测试开发库 谢谢点赞!
- 本文相关海量书籍下载
- selenium 书籍下载: https://china-testing.github.io/selnium_books.html
Selenium Grid
Selenium Grid允许我们在不同的机器上并行运行不同浏览器的测试。也就是说,针对运行不同浏览器和操作系统的不同计算机同时运行多个测试。 Selenium Grid与Selenium WebDriver一起使用。
Selenium官方网站有关于Selenium Grid的详细解释。
http://www.seleniumhq.org/docs/07_selenium_grid.jsp
Selenium Grid由Hub和Node组成。在下图中,Node由三台机器(Linux,Windows10,macOS)组成,每个节点可以使用两个浏览器。
Hub知道Node的信息,当来自User Code的执行请求到来时,Hub向相应的Node发出执行请求,并在请求的Node上执行自动操作。
由于Selenium Grid支持并行执行,当Hub同时从用户代码接收多个执行请求时,Hub同时向相应的节点发出多个执行请求。
Selenium Grid的执行,我们在后面有空会介绍。