# 什么时候应该使用Grid

> Grid适合您吗?

URL: https://deploy-preview-2974--selenium-dev.netlify.app/zh-cn/documentation/grid/applicability/

---

什么情况下可以使用 `Selenium Grid` ？

* 想要在不同的浏览器类型、浏览器版本和操作系统上并行运行测试时
* 想要缩短执行测试案例所需的时间

`Selenium Grid` 可以并行地在多台计算机（称为节点）上运行测试案例. 对于大型和长时间运行的测试案例，这可以节省几分钟、几小时甚至几天的时间. 

这有效的缩短了测试结果的反馈时间，使得在测试的应用程序发生变化时能够更快地得到测试结果. 

`Grid` 可以并行地运行测试，支持多种不同的浏览器类型，并且可以同时运行多个相同浏览器的实例. 

举个例子，假设一个拥有六个节点的Grid. 第一台计算机拥有Firefox的最新版本，第二台拥有Firefox的上一个版本，第三台运行最新版Chrome，而其余三台机器是Mac Mini，允许在最新版本的Safari上并行运行三个测试. 

执行时间可以用一个简单的公式来表示：

```测试次数 × 平均测试时间 / 节点数 = 总执行时间```

       15      *       45s        /        1        =      11m 15s   // 没有Grid
       15      *       45s        /        5        =      2m 15s    // 5节点的Grid
       15      *       45s        /        15       =      45s       // 15节点的Grid
      100      *       120s       /        15       =      13m 20s   // 如果没有Grid, 需要3个多小时

在测试案例执行时，`Grid` 会按照测试配置将测试分配到相应的浏览器上运行. 

即使对于比较复杂的 `Selenium` 测试案例，这样的配置也可以极大地加快执行时间. 

`Selenium Grid` 是 `Selenium` 项目中的重要组成部分，由同一团队的核心Selenium开发人员并行维护. 
由于意识到测试执行速度的重要性，`Grid` 自设计之初就成为 `Selenium` 项目的关键部分.
