无桌面Centos7系统安装Cypress@9.0.0并运行

news2025/1/11 21:02:49

一、安装Cypress

安装前准备

1、安装npm

下载安装包

cd /usr/local
mkdir node
cd node
wget https://npm.taobao.org/mirrors/node/v15.8.0/node-v15.8.0-linux-x64.tar.gz  
ls -l

解压这个包

tar -zxvf node-v15.8.0-linux-x64.tar.gz  

你会发现已经有一个node的目录解压出来.查看bin下有npm, 也有node命令文件.
创建sfot link

ln -s /usr/local/node/node-v15.8.0-linux-x64/bin/yarn /usr/local/bin/yarn
ln -s /usr/local/node/node-v15.8.0-linux-x64/bin/npm /usr/local/bin/npm
ln -s /usr/local/node/node-v15.8.0-linux-x64/bin/node /usr/local/bin/node
ln -s /usr/local/node/node-v15.8.0-linux-x64/bin/npx /usr/local/bin/npx
ln -s /usr/local/node/node-v15.8.0-linux-x64/bin/n /usr/local/bin/n

npm加个镜像

npm install -g cnpm --registry=https://registry.npm.taobao.org

如果要更新npm或者node参考:https://blog.csdn.net/bobo789456123/article/details/125586137

2、安装Cypress9.0.0

cd /your/project/path  // 进入你的项目中
npm install cypress@9.0.0 --save-dev
安装运行时依赖

不然会报一些Xvfb错误 说明链接:https://docs.cypress.io/guides/continuous-integration/introduction#Dependencies
也可以使用官网提供的浏览器镜像解决,镜像地址:https://hub.docker.com/r/cypress/browsers/
Centos系统安装

yum install -y xorg-x11-server-Xvfb gtk2-devel gtk3-devel libnotify-devel GConf2 nss libXScrnSaver alsa-lib

Ubuntu/Debian系统

apt-get install libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth xvfb
linux 无界面环境安装chrome,chromedriver,selenium

这里主要是安装chrome,使用到selenium框架可以把这个都安装上

安装chrome

1、下载安装脚本
在下载目录中,执行以下命令,将安装脚本下载到本地

wget https://intoli.com/install-google-chrome.sh

2、然后授予可执行权限

chmod 755 ./install-google-chrome.sh

3、执行脚本

./install-google-chrome.sh

安装脚本会自动下载、安装chrome(合适的版本),并且目前两个系统中,所缺少的依赖,都会被安装。
4、测试安装结果

google-chrome-stable --no-sandbox --headless --disable-gpu --screenshot https://www.baidu.com/

如果在当前文件夹中出现screenshot.png 则安装成功
5、查看linux 安装的谷歌浏览器版本

#  google-chrome --version
Google Chrome 109.0.5414.74

还有一种方式可以尝试安装桌面再安装浏览器:https://blog.csdn.net/s_sunnyy/article/details/79276480
👇可以不安装,自己做个记录

安装chromedriver

1、在​https://npm.taobao.org/mirrors/chromedriver​​中找到对应版本的chromedriver.
2、下载文件包

wget https://npm.taobao.org/mirrors/chromedriver/75.0.3770.90/chromedriver_linux64.zip

3、解压文件包

unzip chromedriver_linux64.zip

解压后,在/opt/google/ 会多出一个文件chromedriver
4、修改chromedriver 执行权限

chmod +x chromedriver

5、连接文件

ln -s /opt/google/chromedriver /usr/bin/chromedriver
安装selenium
yum install Xvfb
pip install pyvirtualdisplay
pip install selenium

二、运行用例

进入项目,执行下面命令

yarn cypress run

其他运行方式,参考:https://www.cnblogs.com/poloyy/p/13626189.html
用例正常运行了,但是出现个报错Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are “tcp” and on UNIX “unix”)
原因:查看有的说是root账户问题,有的是版本不兼容问题。
在这里插入图片描述
解决方法

# whereis google-chrome
google-chrome: /usr/bin/google-chrome /usr/share/man/man1/google-chrome.1.gz
# vim /usr/bin/google-chromeexec -a "$0" "$HERE/chrome" "$@"  改为
exec -a "$0" "$HERE/chrome" "$@" --user-data-dir --no-sandbox

参考:http://t.zoukankan.com/wangyuehan-p-9807635.html

Cypress官方说明文档:https://docs.cypress.io/guides/guides/parallelization#Machines-View

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/159801.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

11、Javaweb_JSPMVCELJSTL三层架构用户列表案例

JSP: 1. 指令 * 作用&#xff1a;用于配置JSP页面&#xff0c;导入资源文件 * 格式&#xff1a; <% 指令名称 属性名1属性值1 属性名2属性值2 ... %> * 分类&#xff1a; 1. page &#xff1a; 配置JSP页面的 * content…

①【Spring】一文了解IOC容器

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ 一文掌握IOC一、IOC二、IOC容器的实现BeanFact…

一文掌握fastapi微服务开发

目录 一、概述 1.1 微服务 1.1.1 微服务的优势 1.1.2 微服务的缺点 1.2 为何使用Python开发微服务 1.3 FastAPI概述 二、开发 2.1 安装FastAPI 2.1.1 安装虚拟环境 2.1.2 创建虚拟环境 2.1.3 激活虚拟环境 2.1.4 安装FastAPI 2.2 FastAPI简单使用 2.2.1 查询 2.…

java注解以及如何利用反射获取注解的属性值

一、什么是注解 1.Annotation是从JDK5.0开始引入的新技术 2.Annotation的作用 : &#xff08;1&#xff09;不是程序本身&#xff0c;可以对程序作出解释(这一点和注释(comment)没什么区别)&#xff08;2&#xff09;可以被其他程序(比如:编译器等)读取 3.Annotation的格式…

【每日一题】【LeetCode】【第十一天】杨辉三角

解决之路 题目描述 测试案例&#xff08;部分&#xff09; 第一次 杨辉三角感觉还是挺经典的代码题目&#xff1f;之前大一学C语言好像写过一次。 不过&#xff0c;自己当时就不会写&#xff0c;这次自己先试试能不能想出解决方案。 输入数字是几&#xff0c;那就要输出几…

亚马逊云科技帮助Gemsouls在云上快速实现技术验证与部署

元宇宙热度居高不下&#xff0c;它所创造的虚拟世界进一步拉近了人与人之间的距离&#xff0c;用数字化的形式消除地理与空间上的隔阂。而高度拟真化的虚拟人与AI虚拟社交&#xff0c;是元宇宙落地的重要领域&#xff0c;打造以人工智能驱动的虚拟人社交平台已成为行业大势。 …

DNS 的一些基础知识,以及 DNS 转换域名的过程

DNS(Domain Name System)&#xff0c;主要作用是将域名转成 IP&#xff0c;本文主要讲解了 DNS 的一些基础知识&#xff0c;以及 DNS 转换域名的过程。DNS 是什么dig命令绝大多数网络通信都是基于 TCP/IP 协议&#xff0c;而 TCP/IP 协议的基础是 IP&#xff0c;所以网络中的计…

获取未来时间 一年或N年

需求 展示从本月初开始 一年的时间 或N年的时间 以便用户选择思路 一年12个月 是已知的 从本月到12月可以生成本年的每天数据从1月至上月可以生成所需得到最后一年的数据今年加最后一年的月份可拼接一年时间 所以中间年份是所需年分-1的数组数据中间年份都是1-12月 可以通过年份…

软件的生命周期和测试的生命周期的区分

软件的生命周期测试的生命周期软件测试贯穿于软件的整个生命周期在需求分析阶段测试人员的活测试人员需要站在用户角度分析&#xff1a;软件需求是否合理&#xff1b;站在技术角度分析&#xff1a;技术上是否可行&#xff0c;还有没有优化的空间&#xff1b;站在测试角度分析&a…

VALL-E:微软全新语音合成模型可以在3秒内复制任何人的声音

近日&#xff0c;微软研究人员宣布了一种新的语音合成AI模型 VALL-E&#xff0c;给出3秒样音就可以精确地模拟一个人的声音。一旦它学会了一个特定的声音&#xff0c;VALL-E可以复制说话者的情绪和语气&#xff0c;即使说话者本人从未说过的单词也可以模仿。 论文地址&#xf…

xlCompiler转换为程序的优秀工具

xlCompiler转换为程序的优秀工具 xlCompiler是将oxel文件转换为程序的优秀工具。无需担心删除oxel文件中使用的宏和公式。该工具将您所做的转换为Exe可执行文件&#xff0c;这比分发原始文件时要低得多。最终的文件不需要氧气来执行&#xff0c;您也会有一种在简单的氧气环境中…

D. Friendly Spiders(bfs+筛法)

传送门题意&#xff1a;给你n个蜘蛛&#xff0c;每个蜘蛛有自己的腿数&#xff0c;如果某两个蜘蛛可以直接联系&#xff0c;那么这两个蜘蛛的最大公约数就不为1&#xff0c;否则这两只蜘蛛就不能直接联系。现在给你两个蜘蛛的序号i,j问这两只蜘蛛是否可以直接或者通过其他的蜘蛛…

SDK安全专项评测证书

SDK安全专项行动”是中国信息通信研究院安全研究所大数据应用与安全创新实验室共同发起的&#xff0c;实验室紧跟信息技术发展趋势&#xff0c;依托数据安全、移动安全等领域深厚积累&#xff0c;通过前瞻研究和实践探索&#xff0c;形成了完整的SDK评测方案和指标体系。 SDK产…

【HCIA-openEuler】实验手册—05【openEuler软件管理】

文章目录一、实验介绍1、内容描述2、实验目的二、配置Yum源步骤1&#xff1a;进入yum repo目录步骤2&#xff1a;更改openEuler_x86_64.repo文件步骤3&#xff1a;刷新列出软件列表三、使用RPM命令管理软件1、RPM查询命令步骤1&#xff1a;执行以下命令&#xff0c;通过yum和rp…

华为DHCP实验配置

配置AR1为PC2分配地址 dhcp enable ip pool DHCP_PC2 network 192.168.20.200 mask 24 gateway-list 192.168.20.254 dns-list 192.168.20.100 excluded-ip-address 192.168.20.100 int g0/0/1 ip address 192.168.20.254 24 dhcp select global 配置AR1为PC3分配IP地址 dhcp e…

一个令人赞不绝口的代码 Debug 神器

在编写程序时&#xff0c;无论是对于初学者还是对于专业开发人员&#xff0c;都会花费大量时间来调试或修复源代码错误&#xff0c;也就是 Debug。 这个过程繁琐复杂&#xff0c;包括 Bug 复现和 Bug 定位等环节。如果有了自动化的 Debug 程序&#xff0c;就可以显著提高编程实…

Three.js一学就会系列:05 加载3D模型

系列文章目录 Three.js一学就会系列&#xff1a;01 第一个3D网站 Three.js一学就会系列&#xff1a;02 画线 Three.js一学就会系列&#xff1a;03 炫酷3D划线 Three.js一学就会系列&#xff1a;04 炫酷3D文字 文章目录系列文章目录前言一、核心代码讲解引入插件轨道控制器加载…

ES6 课程概述⑤

文章目录9-1. Fetch Api 概述9-2. 基本使用参数返回值9-3 **Response 对象**9-4 Request 对象9-5 Headers 对象9-6 文件上传10-1 迭代器背景知识JS 中的迭代器可迭代协议 与 for-of 循环可迭代协议for-of 循环展开运算符与可迭代对象生成器 (Generator)set 集合9-1. Fetch Api …

Unity 之 Addressable可寻址系统 -- 代码加载介绍

Unity 之 可寻址系统 -- 代码加载介绍 -- 进阶&#xff08;一&#xff09;一&#xff0c;可寻址系统代码加载1.1 回调形式1.2 异步等待1.3 面板赋值1.4 同步加载二&#xff0c;可寻址系统分标签加载2.1 场景搭建2.2 代码示例2.3 效果展示三&#xff0c;代码加载可寻址的解释概述…

算法第九期——DFS(深度优先搜索)的树上应用

树 树是一种特殊的图 。 特点&#xff1a; 若树有n个点,则有n-1条边。树有连通性但没有回路。从一个点出发可以到达任意一个&#xff0c;而且路径是唯一的。树的重心u&#xff08;最平衡的点&#xff09;: 以树上任意一个结点为根计算它的子树的结点数&#xff0c;如果结点…