程序员python数据分析人工智能机器学习软件测试Python专家之路

selenium工具python快速入门1简介

2019-02-13  本文已影响22人  python测试开发

概述

Selenium是一个开源自动化测试套件,适用于跨浏览器和平台的Web应用程序。 它是一组软件工具,每种工具都有不同的方法来支持测试自动化。

Selenium3.*的组件如下:

Selenium3.停止直接使用Selenium RC。 Selenium Core已从最新版本的Selenium 3.中完全删除。

官网:http://www.seleniumhq.org/

图片.png

Selenium开源,基于Apache 2.0 License。github: https://github.com/SeleniumHQ/selenium

图片.png

Selenium IDE

Selenium IDE的介绍请参考 https://www.jianshu.com/p/2259f4a8d4c4,实际上Katalon Recorder更好用。

Selenium WebDriver

Selenium WebDriver是浏览器自动操作的编程接口,更好地支持动态网页。

Selenium WebDriver有两种系统配置。

安装请自行搞定。

快速入门示例:

图片.png

执行结果:

图片.png

Selenium客户端和浏览器驱动程序使用JsonWireProtocol通过HTTP方法相互通信。 当我们执行如上所述的自动操作的代码时,Selenium Client在内部使用JsonWireProtocol与浏览器驱动程序交互并执行浏览器操作。

在JsonWireProtocol网站上,我们可以检查命令是否自动运行。

https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol

图片.png 图片.png

主要适用于PHP等非官方支持的语言及Selenium Grid。

参考资料

Selenium Grid

Selenium Grid允许我们在不同的机器上并行运行不同浏览器的测试。也就是说,针对运行不同浏览器和操作系统的不同计算机同时运行多个测试。 Selenium Grid与Selenium WebDriver一起使用。

Selenium官方网站有关于Selenium Grid的详细解释。
http://www.seleniumhq.org/docs/07_selenium_grid.jsp

图片.png

Selenium Grid由Hub和Node组成。在下图中,Node由三台机器(Linux,Windows10,macOS)组成,每个节点可以使用两个浏览器。

图片.png

Hub知道Node的信息,当来自User Code的执行请求到来时,H​​ub向相应的Node发出执行请求,并在请求的Node上执行自动操作。

图片.png

由于Selenium Grid支持并行执行,当Hub同时从用户代码接收多个执行请求时,Hub同时向相应的节点发出多个执行请求。

图片.png

Selenium Grid的执行,我们在后面有空会介绍。

上一篇 下一篇

猜你喜欢

热点阅读