12

Cypress 下载慢的解决办法

 3 years ago
source link: https://www.lfhacks.com/tech/cypress-download-failure
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Cypress 下载慢的解决办法

1211.jpg

Cypress 是新一代的 web UI 自动化测试框架,但是下载安装过程会遇到长时间的卡顿,导致安装失败。官方提供了解决方法,本文做一简单介绍。

常规安装方法

最方便的安装方法是使用 npm,使用下面的命令:

$ npm i cypress --save-dev

但是在某些环境下,从 npm 下载会遇到长时间没有响应,如下图中箭头所指:

好在 Cypress 官方提供了额外的下载方法,这个方法与 Puppeteer 的下载方法 类似,都是通过环境变量设置下载地址的方法。

无论在什么系统下,Cypress 都以一个应用程序压缩包的形式存在:cypress.zip

官方提供的压缩包下载地址为:https://download.cypress.io/desktop ,只要访问这个地址,就会自动检测你的操作系统,提供对应版本 cypress.zip 下载。

cypress.zip 压缩包的内容如下图所示:

上图中红色箭头所指是 Cypress 的可执行应用程序。根据系统的不同,压缩包内的程序有不同的格式。比如:

Mac下是*.app
Linux下是可执行文件
Windows下是*.exe

指定安装路径

为了能顺利安装,要避开 npm 默认下载路径 ,然后指定安装包的引用路径:

  • 使用官方下载地址

这种方法适合第一次安装,只要把下载地址 https://download.cypress.io/desktop 赋给环境变量 CYPRESS_DOWNLOAD_MIRROR (各类系统下设置环境变量的方法见 下文 ),这时候再执行 npm install 时就能从环境变量中指定的官方地址下载。

  • 指定本地的压缩包路径

这种方法适合本地已经有安装包,需要反复安装的情景。只要把本地文件地址(绝对路径,精确到文件名)赋给环境变量 CYPRESS_INSTALL_BINARY ,再执行 npm install 时就能自动下载并安装。

下面来看如何在不同系统下指定环境变量。

设置环境变量

Windows 命令提示符 (CMD)

在 Windows 的命令行下使用下面的命令设置 环境变量:

set CYPRESS_DOWNLOAD_MIRROR=https://download.cypress.io/desktop
set CYPRESS_INSTALL_BINARY=D:\path\to\your\app\cypress.zip

顺利安装效果如下图:

Windows PowerShell

在 Windows 的 PowerShell 里, set 不能用来设置 环境变量,需要改用 $env

D:> $env:CYPRESS_DOWNLOAD_MIRROR="https://download.cypress.io/desktop"
D:> $env:CYPRESS_INSTALL_BINARY="D:\path\to\your\app\cypress.zip"

顺利安装效果如下图:

在线下载安装:

指定本地路径:

Linux、Mac

Linux、Mac 下直接给环境变量赋值即可:

$ CYPRESS_DOWNLOAD_MIRROR="https://download.cypress.io/desktop"

下载地址的其他参数

官方的 下载地址 除了基本的自动检测系统类型,还能用 URL 参数指定系统类型。参数列表如下:

参数名称 可选值 platform win32,linux,darwin arch x64,ia32

如果指定下载 64bit Windows 的Cypress,使用下面的 URL:

https://download.cypress.io/desktop?platform=win32&arch=x64

真实的下载地址

官网将真实的下载地址存放在这个文件里:

https://download.cypress.io/desktop.json

访问效果如下:


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK