轻松入门:用Selenium打开一个网页

Selenium 自动化测试由于其提供的各种优势而在测试人员中变得非常流行。当我们谈论自动化测试时,经常想到的第一件事就是我们最喜欢的自动化测试工具。它的简单性,可用性和易用性赢得了许多测试人员和开发人员的青睐。随着2004年 Selenium 的问世,Selenium 使自动化测试变得更加轻松,现在已成为许多测试最喜欢的工具。今天我就来讲讲 Selenium。

什么是Selenium?

Selenium 是一个免费的(开源)web自动化测试框架,用于验证跨不同浏览器和平台的 Web 应用程序,主要是基于 Web UI 的自动化测试。现在的版本,逐步增加了对移动端的自动化测试。Selenium 支持多种语言进行开发自动化测试脚本,有Java, Python,C#,Javascript 等等,还支持跨浏览器平台测试。

注意一下,Selenium 仅可以测试 Web 应用程序。我们既不能使用 Selenium 测试任何桌面(软件)应用程序,也不能测试任何移动应用程序。

Selenium套件

Selenium 不仅是单个工具,而是三个工具的套件,每个都可以满足组织的不同测试需求。

第一个是 Selenium IDE,它是 Firefox 的扩展,允许用户记录和回放测试。记录/播放范例可能是有限的,并不适合许多用户。

第二个是 Selenium WebDriver,提供了多种语言的API,以允许更多控制和标准软件开发实践的应用。

第三个是 Selenium Grid,它使使用 Selenium API 来控制分布在机器网格上的浏览器实例成为可能,从而允许并行运行更多测试。

在项目中,它们被称为“ IDE”,“ WebDriver”和“ Grid”。

WebDriver的诞生

因为我们一般是使用 WebDriver,觉得还是有必要说一下它和 Selenium 的关系。

Selenium 在浏览器内部使用 JavaScript 实现,而 WebDriver 使用浏览器本身的API集成到浏览器内部。两种方法各有优劣。例如,Selenium 可以瞬间打开一个新的 Chrome 浏览器,但却不能上传文件或者很好地处理用户交互,因为它是 JavaScript 实现的,必须限定在 JS 沙箱之内。

WebDriver 源自希望将其端到端测试与基础测试工具隔离开来的项目工作。 这是第一个可以从操作系统级别控制浏览器的跨平台测试框架。由于 WebDriver 构建在浏览器里面,它可以突破 Selenium 的限制,但打开一个新的浏览器却比较痛苦。所以开发者们决定把这两个集成到一起,就成了现在的 Selenium WebDriver。

为什么要使用Selenium?

我们已经了解了 Selenium 及其工具套件,那么让我们了解一下使它成为自动化测试工具中的佼佼者的原因:

  1. 开源工具:由于它是一个开源工具,因此不需要任何许可费用,这使其比其他自动化测试工具更具优势。
  2. 满足各种需求的套件:如前所述,Selenium 具有一套工具,因此可以满足用户的各种需求。你可以使用各种工具(例如WebDriver,Grid,IDE)来满足不同需求。
  3. 支持多语言:测试人员或开发人员使用自动化测试工具面临的主要挑战是对语言的支持。由于Selenium 支持所有主要语言,如 Java,JavaScript,Python,Ruby,C Sharp,.Net和PHP,因此测试人员更易于使用。
  4. 浏览器和操作系统支持: Selenium支持不同的浏览器,例如Chrome,Firefox,Opera,Internet Explorer,Edge和Safari,以及不同的操作系统,例如Windows,Linux,Mac。使用灵活。
  5. 社区支持: Selenium具有活跃的开放社区,可以帮助你解决很多问题,这些都使其成为自动化测试工具的最佳选择。

 

用Selenium自动打开一个网页

如果你是第一次认识 Selenium,肯定会觉得 Selenium 很有趣,也很神奇,因为它可以模仿人类行为来操作浏览器。话不多说,我们现在就以Python语言为例,来自动打开一个网址。相信我,很简单。

由于本文是以 Python 为例,因此首先需要你搭建好 Python环境。Selenium 对 Python 的环境要求为Python 2.7Python 3.4以上。由于 Python 环境的搭建较为基础,我默认大家已经搭建好。

1.下载Selenium

若要安装 Selenium 的Python客户端,只需在终端输入pip install selenium即可完成安装。(我这里用的 Pycharm 编辑器,大家也可以下载一个)

轻松入门:用Selenium打开一个网页

2.下载浏览器驱动

由于 Selenium 需要对浏览器进行操作,因此除了 Selenium,我们还需要下载浏览器驱动。我选用的是现在用的最多的 Chrome 浏览器,因此需要下载 Chrome对应的驱动

Selenium 支持大多数主流浏览器,对应的驱动大家可以网上搜索一下。浏览器的驱动与浏览器版本相关,因此需要下载对应版本的驱动。驱动下载后,需要将其加入环境变量中。同时,记住驱动本地路径,后面会用到。

3.代码实现

轻松入门:用Selenium打开一个网页

步骤如下:

导入核心模块 selenium.webdriver,在这里我还导入了 time 模块,因为避免出现打开速度过快,无法区分打开浏览器和打开网页

打开浏览器,这里就会用到之前驱动下载后的路径

打开网页,打开Chrome浏览器后,会打开一个默认的空白标签页,接下来就可以在标签页中打开一个网页了,这里我们用的是百度首页

④ 最后,就是关闭标签页或者浏览器

接下来运行代码,就会看到 WebDriver 帮我们自动打开了百度首页,是不是很神奇?你可以打开任意你喜欢的网站哦。

轻松入门:用Selenium打开一个网页

 

总结一下

你知道什么是 Selenium 吗?你知道为什么要使用它吗?现在你应该可以回答这两个问题了。Selenium 是最好的自动化测试工具之一,可用于自动化 Web 浏览器交互,之后我们还可以对网站进行更多操作,比如登录你的账号,搜索喜欢的话题等等。如果你能够熟练地运用和组合这些操作,你会发现还有更多有趣的事情等着你去探索!