Cypress 测试框架:使用 Cypress.json 配置选项

阅读时长 5 分钟读完

Cypress 是现代化的前端测试框架,它的设计目标是提高编写、运行和调试测试的效率。Cypress 具有自己的 API 和专用的测试驱动器,可以与每个阶段的测试交互,从测试环境的搭建到结果的可视化展示。Cypress.json 是 Cypress 的配置文件,包含了一些基本配置选项,可以帮助我们集中控制测试环境和行为方式。

Cypress.json 基本结构

Cypress.json 是一个 JSON 格式的配置文件,位于项目的根目录,可以配置多个参数,包含如下结构:

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

配置选项

baseUrl

baseUrl 是 Cypress 运行测试用例时的主机地址,可以用于跨域访问、跳过测试用例中的访问错误等。

viewportWidth 和 viewportHeight

viewportWidth 和 viewportHeight 是测试用例的默认视窗大小,Cypress 支持自定义视窗大小和多种屏幕分辨率。

pageLoadTimeout 和 defaultCommandTimeout

pageLoadTimeout 是页面加载的超时时间,用来限制页面在多长时间内加载完成。defaultCommandTimeout 是 Cypress 命令的默认超时时间,用来限制某个命令执行的最大时长。

video

video 是用来控制 Cypress 是否录制测试用例的视频,Cypress 会将每次运行的视频保存在 video 目录下。

trashAssetsBeforeRuns

trashAssetsBeforeRuns 是在运行测试用例前是否清空之前运行遗留下来的文件。

chromeWebSecurity

chromeWebSecurity 是控制 Cypress 是否禁用 Chrome 浏览器的 Web 安全,Cypress 默认会禁用 Web 安全,它允许测试不同源之间的通信。

modifyObstructiveCode

modifyObstructiveCode 是控制 Cypress 是否自动修改一些阻塞代码,用来减少执行自动化测试时的提示和错误信息。

userAgent

userAgent 是自定义浏览器用户代理的字符串,用来控制浏览器的一些特性和行为。

示例代码

下面是一个完整的示例,以 cypress.json 文件名称保存在根目录中。

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

总结

Cypress 的配置选项可以大大改善测试用例的性能和行为方式,我们可以根据需要配置它来满足我们的需求。在实际使用中,可以根据项目需求和测试用例的特性来选择合适的配置方式。同时,我们也可以对 cypress.json 文件的中选项进行自定义扩展,从而实现更加灵活的配置方案。

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

纠错
反馈