npm 包 selenium-launcher 使用教程

阅读时长 7 分钟读完

简介

在前端自动化测试中,selenium 无疑是一个非常重要的工具。而 selenium-launcher 是一个 npm 包,它提供了许多便捷的方法,用于在不同浏览器上启动 selenium 服务。

本文档将详细介绍 selenium-launcher 的使用方法,包括 npm 包的安装、如何使用 selenium-launcher 启动 Chrome 和 Firefox 浏览器,以及如何在不同的环境下使用其它浏览器。

安装

通过 npm 安装 selenium-launcher:

安装完毕后,在需要使用的代码中引入它:

启动浏览器

启动 Chrome 浏览器

要启动 Chrome 浏览器,只需要使用下面的代码:

这里的 webdriver 参数是通过 chromedriver 包来安装的。如果你没有安装过 chromedriver,可以通过以下命令来安装:

在这个例子中,我们使用了一个全局变量 webdriver,它是一个由 chromedriver 包提供的对象。
当然,你也可以显式地引入:

启动 Firefox 浏览器

要启动 Firefox 浏览器,只需要使用下面的代码:

同样的,在这里,webdriver 参数是通过 geckodriver 包来安装的。如果你没有安装过 geckodriver,可以通过以下命令来安装:

如果你没有使用过 selenium-launcher,这两个例子可能看起来有些怪异。正常情况下,我们通常会使用 WebdriverIO 或 Nightwatch 这类的框架来启动浏览器。不过,由于 selenium-launcher 是一个独立的 npm 包,所以我们需要显式地指定要使用的浏览器和浏览驱动器。

不同环境和浏览器的支持

奇怪的 Firefox 版本问题

在一些情况下,可能需要安装特定版本的 Firefox,以便于正常地使用 Selenium。

例如,在某些 macOs 版本上,如果你安装了最新版的 Firefox,你将会遇到以下错误:

为了解决这个问题,你需要安装 48 版本的 Firefox:

使用其它浏览器

你也可以在 selenium.start 方法中添加其它浏览器的配置信息。

例如,下面的代码可以用于启动 Safari 浏览器:

如果你需要在分布式环境中运行测试,你可以使用 SaucelabsBrowserstack 这些提供了分布式浏览器测试的服务。

示例代码

下面是一个完整的例子,该例子使用了 selenium-launcher 来启动 Chrome 浏览器,然后使用 WebdriverIO 来测试网站中的元素。

首先,需要安装以下 npm 包:

然后,以下是完整的测试代码:

-- -------------------- ---- -------
----- ---------------- - -----------------------------
----- ----------- - -----------------------
----- ------------ - ------------------------

----- ------------ - -
  -------- -------- --------------
  ------- ---
--

------------------------------------------------------ -- -
  ----- ------- - --------------------
    ----- ----------------------
    --------- ----------
    -------------------- ------------- ----------
    ----- ----------
  ---

  ------ --------------
    -----------------------------
    -------------------- ------------
    ------------ - --------- - ------- - ------ - -----------------------------------
    ------------------------ -- -
      ------------------ ---- -----------
      ------ --------------
    --
    -------- -- -
      ------------------------
    ---
---
展开代码

总的来说,我们通过 selenium-launcher 包来启动 Chrome 浏览器,然后通过 WebdriverIO 来控制浏览器,执行一些简单的操作,最后关闭浏览器和 selenium 服务。

尾声

通过这篇文章,你应该已经掌握了 selenium-launcher 包的简单用法了。这里提供了一些很好的例子,用于在 Chrome 和 Firefox 浏览器上进行测试,同时在需要时也可以使用其它浏览器。当然,如果你在实践过程中遇到任何问题,欢迎在下面留言,我们将为你解答。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5efd8018403f2923b035bb81

纠错
反馈

纠错反馈