5introduction>the_selenium_project_and_tools


title: “Selenium 项目和工具”
weight: 1

Selenium 控制网页浏览器

Selenium 有很多功能,
但其核心是 web 浏览器自动化的一个工具集,
它使用最好的技术来远程控制浏览器实例,
并模拟用户与浏览器的交互。

它允许用户模拟终端用户执行的常见活动;将文本输入到字段中,选择下拉值和复选框,并单击文档中的链接。
它还提供许多其他控件,比如鼠标移动、任意 JavaScript 执行等等。

虽然 Selenium 主要用于网站的前端测试,但其核心是浏览器用户代理库。
这些接口在应用程序中无处不在,它们鼓励与其他库进行组合,以满足您的目的。

一个接口来统治它们

该项目的指导原则之一是支持所有(主要)浏览器技术的通用接口。
Web 浏览器是非常复杂的,高度工程化的应用程序,
以完全不同的方式执行它们的操作,但是在执行这些操作时,它们通常看起来是一样的
即使文本以相同的字体呈现,图像也会显示在相同的位置,并且链接会将您带到相同的目的地。
下面发生的事情就像白天和黑夜一样不同。
Selenium “抽象”了这些差异,向编写代码的人隐藏了它们的细节和复杂性。
这允许您编写几行代码来执行一个复杂的工作流程,
但是这几行代码将在 Firefox、 Internet Explorer、 Chrome 和所有其他支持的浏览器上执行。

工具和支持

Selenium 的极简设计方法使其具有通用性,可以作为更大应用程序中的组件。
Selenium 保护伞下提供的周边基础设施为您提供了组合自己的
[浏览器 grid]({{< ref “/grid/_index.md” >}}) 的工具,
因此测试就可以跨一系列机器在不同的浏览器和多个操作系统上运行。

想象一下,
服务器机房或数据中心的一组计算机同时启动浏览器,访问站点的链接、表单和表格