当前位置: 首页 > news >正文

如何在Ubuntu 20.04.6 LTS系统上运行Playwright自动化测试

写在前面

  • 这里以 Ubuntu 20.04.6 LTS为例。
  • 示例代码:自动化测试代码。

如果过程中遇到其他非文本中提到的错误,可以使用搜索引擎搜索错误,找出解决方案,再逐步往下进行。

一、 环境准备

1.1 安装python3

1.1.1 使用APT安装Python3
sudo apt update
sudo apt install -y python3
1.1.2 使用PPA安装较新版本的Python3
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.9 # 这里安装的是 Python 3.9

1.1.3 从源代码编译安装Python3

1)首先需要安装依赖项

sudo apt-get update
sudo apt-get install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev wget

2)然后可以从官方下载源代码包并解压

wget https://www.python.org/ftp/python/3.x.x/Python-3.x.x.tgz
tar -xf Python-3.x.x.tgz
cd Python-3.x.x

3)最后进行编译和安装:

./configure --enable-optimizations
make -j8
sudo make altinstall

4)查看已安装python版本

python3 --version
python3 -V

1.2 安装pip3

通常安装python3后,不会自动安装pip。你需要手动安装pip。

sudo apt update
sudo apt install -y python3-pip

查看pip版本

pip3 --version
pip3 -V

1.3 安装jdk

allure生成测试报告,需要有java环境,否则会无法生成。

# 检查是否安装了java,已安装会显示jdk版本
java --version# 安装jdk
sudo apt update
sudo apt install -y openjdk-8-jdk

1.4 使用Git拉取自动化测试代码/复制自动化测试代码到Ubuntu 20.04.6 LTS

如果使用git拉取自动化测试代码,需要在Ubuntu 20.04.6 LTS环境安装git。

sudo apt update
sudo apt install -y git# 查看git版本
git --version

二、安装pipenv,管理环境所需依赖

# 安装pipenv,用于管理环境依赖
pip install pipenv

2.1 可能的报错1

我们需要卸载出现问题的setuptools 版本:68.2.0, 安装setuptools==67.6.1

pip uninstall setuptools
pip install setuptools==67.6.1

2.2 可能的报错2

1)打开终端,并编辑用户主目录下的.bashrc文件

nano ~/.bashrc

2)在.bashrc文件末尾添加以下行:

export PATH="$HOME/.local/bin:$PATH"

3)保存文件并关闭编辑器
在nano编辑器中保存并退出文件,您可以使用以下步骤:

按下Ctrl和O键。这将提示您输入文件名以保存更改。

输入文件名并按下Enter键。

然后按下Ctrl和X键,将关闭nano编辑器并返回到终端。

注意:如果您还没有保存文件,则按下Ctrl和X键将提示您是否放弃更改或保存更改。如果要放弃更改,请按下N键;如果要保存更改,请按下Y键,然后输入文件名并按下Enter键。

如果您在编辑器中有任何其他问题,请使用Ctrl和G键来查看nano编辑器的帮助页面。

4) 执行以下命令使更改生效或者您可以重新启动终端

source ~/.bashrc

三、安装项目所需依赖

3.1 进入自动化测试代码根目录,安装项目所需依赖包

pipenv install

注意:如果当前python版本不是3.9(自动化代码指定的版本),是3.x版本(3.x指的是当前安装的python版本),需要使用如下命令

pipenv install --python 3.x --skip-lock
3.1.1 可能的报错

# 确保安装了 python3.x-venv   (3.x指的是当前安装的python版本)apt install python3.x-venv# 使用Python 3.x的venv模块来创建虚拟环境
sudo apt install python3.x-venv# 以下命令激活虚拟环境
source myenv/bin/activate

3.2. 安装浏览器驱动和浏览器依赖

进入自动化测试代码根目录,在pipenv管理的虚拟环境里面安装playwright所需浏览器驱动

pipenv run playwright install

环境中缺失浏览器所需依赖,运行时会报错如下:

我们需要在pipenv管理的虚拟环境中安装浏览器所需依赖:

pipenv run playwright install-deps

四、运行测试

进入自动化测试代码根目录,在pipenv管理的虚拟环境里面运行测试

pipenv run python run.py

相关文章:

如何在Ubuntu 20.04.6 LTS系统上运行Playwright自动化测试

写在前面 这里以 Ubuntu 20.04.6 LTS为例。示例代码:自动化测试代码。 如果过程中遇到其他非文本中提到的错误,可以使用搜索引擎搜索错误,找出解决方案,再逐步往下进行。 一、 环境准备 1.1 安装python3 1.1.1 使用APT安装Py…...

c++ sort函数cmp比较参数传入

开始 假定有一个结构体 struct node{int p,r,val; };第一种 定义cmp函数&#xff0c;sort直接传入cmp bool cmp(node a,node b){return a.p<b.p;} sort(vec.begin(),vec.end(),cmp);第二种 lamada表达式&#xff1f;&#xff1f;这个中括号里面可以不为空&#xff0c;但是…...

【计算机网络笔记】什么是计算机网络?

前言计算机网络的定义交换网络什么是Internet从组成细节角度看从服务角度看 最后感谢 &#x1f496; 本篇文章总字数&#xff1a;1342字 预计阅读时间&#xff1a;5~10min 建议收藏之后慢慢阅读 前言 计算机网络通信技术计算机技术。 计算机网络是通信技术与计算机技术紧密结…...

极简C++(2) 类与对象

类与对象的基本概念 CLASS类将数据以及数据上的操作封装在一起 OBJECT对象是有具体类类型的变量 打个比方&#xff0c;类就像一个制作月饼的摸具&#xff0c;那么我们可以通过这个摸具来放入面粉和馅料编程一个月饼&#xff0c;那么摸具就是类&#xff0c;而各种各样的月饼便是…...

【Java 进阶篇】JavaScript流程控制语句详解

JavaScript是一门高级编程语言&#xff0c;具备丰富的流程控制语句&#xff0c;用于控制程序的执行流程。在本篇博客中&#xff0c;我们将深入探讨JavaScript的流程控制语句&#xff0c;包括条件语句、循环语句、以及其他一些控制语句。这篇博客将逐步介绍这些概念&#xff0c;…...

【Page-level Heap Fengshui -- Cross-Cache Overflow】corCTF2022-cache-of-castaways

前言 什么叫 Cross Cache 呢&#xff1f;其实就是字面意思&#xff0c;我们知道内核中的大部分结构体都有自己的专属 slab 内存池。那现在我们可以想象一下这个场景&#xff0c;我们拥有一个特定 kmem-cache 的溢出漏洞&#xff0c;那么我们该如何利用呢&#xff1f; 程序分析…...

vue-mixin

1.vue中&#xff0c;混入(mixin)是一种特殊的使用方式。一个混入对象可以包含任意的组件配置选项(data, props, components, watch,computed…)可以根据需求"封装"一些可复用的单元&#xff0c;并在使用时根据一定的策略合并到组件的选项中&#xff0c;使用时和组件自…...

力扣刷题 day43:10-13

1.完全平方数 给你一个整数 n &#xff0c;返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数&#xff0c;其值等于另一个整数的平方&#xff1b;换句话说&#xff0c;其值等于一个整数自乘的积。例如&#xff0c;1、4、9 和 16 都是完全平方数&#xff0c;而 3 …...

3、在docker 容器中安装tomcat

&#xff11;、在服务器上查找tomcat镜像,查看前5条 docker search tomcat --limit 5​​​​​​​ 2、拉取镜像到本地 拉取官方的tomcat到本地 docker pull tomcat:9.0.34-jdk8 3、查看本地镜像 docker images |grep tomcat 4、启动tomcat 服务 使用默认配置 docker ru…...

工业互联网系列1 - 智能制造中有哪些数据在传输

工业互联网以网络为基础&#xff0c;需要传输的数据种类多种多样&#xff0c;这些数据对于实时监控、生产优化、设备维护和决策支持等方面都至关重要。 以下是一些常见智能制造业中需要传输的数据类型&#xff1a; 传感器数据&#xff1a;制造设备上安装的传感器&#xff08;如…...

centos7部署Nginx和RabbitMQ

文章目录 Nginx安装部署【简单】简介安装 RabbitMQ安装部署【简单】简介安装 Nginx安装部署【简单】 简介 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器&#xff0c;同时也提供了IMAP/POP3/SMTP服务。Nginx可以托管用户编写的WEB应用程序成为可访问的网页服务&am…...

Nacos集群搭建

Nacos集群搭建 1.集群结构图 Nacos集群图&#xff1a; 其中包含3个nacos节点&#xff0c;然后一个负载均衡器代理3个Nacos。这里负载均衡器可以使用nginx。 三个nacos节点的地址&#xff1a; 节点ipportnacos1192.168.150.18845nacos2192.168.150.18846nacos3192.168.150…...

运维小工具分享

1.windwos时间同步工具 通过NetTime软件同步 通过一个免费的同步时间软件来进行对时操作 软件官网链接&#xff1a;http://timesynctool.com/ 修改Windows主机时间&#xff0c;修改时间&#xff0c;时间差为10年、3年、4月份、24小时、2小时、1分钟&#xff1b;都可以及时与“…...

Eclipse插件安装版本不兼容问题解决方案——Papyrus插件为例

项目场景: Eclipse Papyrus安装后,没有新建Papyrus工程选项,也没有新建Papyrus Model的选项。 打开Papyrus Model会报错 问题描述 同样的,安装其他插件也是。可能某个插件之前安装是好用的,结果Eclipse的版本更新了,就再也安装不好用了 原因分析: 根本原因是因为包之…...

【Qt之QTimer】使用及技巧

简介 QTimer是Qt中的定时器类&#xff0c;用于执行定时操作&#xff0c;如在一段时间间隔后触发某个槽函数或执行特定的代码。它提供了灵活的定时功能&#xff0c;可以用于处理各种时间相关的任务。它是基于Qt的事件循环机制工作的。 主要函数说明 构造函数&#xff1a; QTim…...

零基础快速自学SQL,2天足矣。

此文是《10周入门数据分析》系列的第6篇。 想了解学习路线&#xff0c;可以先行阅读“ 学习计划 | 10周入门数据分析 ” 上一篇分享了数据库的基础知识&#xff0c;以及如何安装数据库&#xff0c;今天这篇分享数据库操作和SQL。 SQL全称是 Structured Query Language&#x…...

Meta开源数字水印Stable Signature,极大增强生成式AI安全

全球社交、科技巨头Meta&#xff08;Facebook、Instagram等母公司&#xff09;在官网宣布&#xff0c;开源数字水印产品Stable Signature&#xff0c;并公开论文。 据悉&#xff0c;Stable Signature是由Meta和INRIA&#xff08;法国国家信息与自动化研究所&#xff09;联合开…...

python实现分词器

在Python中实现分词有很多方法&#xff0c;具体取决于你的应用场景和数据。下面我会介绍一种常用的分词库——jieba。如果你的数据是英文&#xff0c;你也可以使用nltk库。 中文分词 使用jieba进行中文分词&#xff1a; 首先&#xff0c;你需要安装jieba库。如果还未安装&am…...

第五十二章 学习常用技能 - Global 映射

文章目录 第五十二章 学习常用技能定义数据库定义命名空间Global映射 第五十二章 学习常用技能 定义数据库 创建本地数据库&#xff1a; 登录管理门户。选择系统管理 > 配置 > 系统配置 > 本地数据库。选择创建新数据库以打开数据库向导。输入新数据库的以下信息&a…...

vue实现瀑布流

1、在 src 目录下创建 component文件夹&#xff0c;在文件夹中创建 vue文件。 2、在 Vue文件中写入以下内容 <div class"pubu"><div class"left"><div class"pubu-item" v-for"item in left" :key"item.id"…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

pam_env.so模块配置解析

在PAM&#xff08;Pluggable Authentication Modules&#xff09;配置中&#xff0c; /etc/pam.d/su 文件相关配置含义如下&#xff1a; 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块&#xff0c;负责验证用户身份&am…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问&#xff1a;说说对 IP 数据报中 TTL 的理解&#xff1f;我们都知道&#xff0c;IP 数据报由首部和数据两部分组成&#xff0c;首部又分为两部分&#xff1a;固定部分和可变部分&#xff0c;共占 20 字节&#xff0c;而即将讨论的 TTL 就位于首…...

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术&#xff1a;基于互相关的相干体技术&#xff08;Correlation&#xff09;第二代相干体技术&#xff1a;基于相似的相干体技术&#xff08;Semblance&#xff09;基于多道相似的相干体…...

Python Einops库:深度学习中的张量操作革命

Einops&#xff08;爱因斯坦操作库&#xff09;就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库&#xff0c;用类似自然语言的表达式替代了晦涩的API调用&#xff0c;彻底改变了深度学习工程…...

群晖NAS如何在虚拟机创建飞牛NAS

套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...

0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化

是不是受够了安装了oracle database之后sqlplus的简陋&#xff0c;无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话&#xff0c;配置.bahs_profile后也能解决上下翻页这些&#xff0c;但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可&#xff0c…...