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

Play wright自动化测试工具该如何更加完美地使用

目录

1.1 拦截网络请求

1.2 pytest 管理用例

1.3 PO模型

1.4 API 和 UI 自动化测试融合

1.5 数据驱动

1.6 动态挑选用例执行

1.6 Allure测试报告

1.7 持续集成


1.1 拦截网络请求

网络拦截:

  • 无响应 pass

  • 中止 route.abort("aborted")

  • 放行 route.continue_()

  • 处理, 返回自定义的响应 route.fulfill()

Playwright使用 router 方法,并且传递以下参数:

  • url 要拦截地址表达式:

n glob表达式

n 正则表达式

n 返回布尔值的函数

  • handler ,拦截后进行执行的函数

n 接受 router 参数

中止响应,代码示例:

自定义响应,代码示例:

本来访问百度,自定义返回中访问到了金山文档首页。

1.2 pytest 管理用例

市面上的流行框架:unittest(标准库)、pytest(第三方库)

安装插件:

代码示例:

执行命令:# 获得网页报告

pytest --html=report.html

报告见下:

1.3 PO模型

playwright本身是支持PO模型的。

如打卡设置页,编写定位方法的py文件

测试用例时直接操作定位元素,组成业务逻辑即可

1.4 API 和 UI 自动化测试融合

好处:缩短自动化测试代码的整体运行时长。举个例子,我们要测试表单结果这个功能,只有查看表单结果这个操作本身才是我们的测试范围, 在查看表单结果之前的所有操作,例如用户注册—用户登录—用户创建表单—发布表单-填写表单 ,这一系列操作都属于“非测试部分”。

关键点:当从 API 请求切换到 UI 操作时,登录态应该从接口请求中带过来。(既保持同一会话cookie或 token)

1.5 数据驱动

数据驱动,指在自动化测试中处理测试数据的方式。方法是采用操作yaml文件进行测试数据与功能函数分离,代码示例见下:

备注:

  1. 还有excel、json等格式文件的方式,这里不概述。

  2. 需要提前安装库 pip install PyYaml

1.6 动态挑选用例执行

pytest框架支持多种方式的测试用例的挑选,这里我只介绍一种方式:

  • pytest.ini 文件中设置规则:markers = debug01

  • 需调试的测试用例打上标签: @pytest.mark.debug01

  • 执行命令 (--headful 带头执行,默认是无头模式)

pytest -m debug01 --headful

1.6 Allure测试报告

安装pip install allure-pytest

报告截图:

1.7 持续集成

持续集成这里采用的是jenkins,不过第一次运行会报错:jenkins目录没有浏览器驱动:

这个时候需要将C:\Users\win\AppData\Local\ms-playwright下的浏览器驱动复制到

jenkins的要求目录下,如:

C:\Windows\System32\config\systemprofile\AppData\Local\ms-playwright

备注:jenkins的job命令:

G:cd G:\InterAutoTest_Wworkon playwrightPRO && python run.py

2. 案例实战

测试用例要求:打卡功能,固定卡预览后,卡片类型是固定卡

测试脚本:

 作为一位过来人也是希望大家少走一些弯路,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步!

留【自动化测试】即可

相关文章:

Play wright自动化测试工具该如何更加完美地使用

目录 1.1 拦截网络请求 1.2 pytest 管理用例 1.3 PO模型 1.4 API 和 UI 自动化测试融合 1.5 数据驱动 1.6 动态挑选用例执行 1.6 Allure测试报告 1.7 持续集成 1.1 拦截网络请求 网络拦截: 无响应 pass 中止 route.abort("aborted") 放行 route…...

数据可视化学习笔记:Python实现汽车品牌销售量矩形树图

引言 本文将介绍如何使用 Python 和 Pyecharts 库创建一个汽车品牌销售量的矩形树图。我们将使用 Pandas 读取 CSV 文件数据,然后对数据进行处理、封装,最后将数据可视化为矩形树图。 准备工作 首先,我们需要先安装好相关库: PandasPyecharts可以使用 pip 命令进行安装:…...

【深蓝学院】手写VIO第3章--基于优化的 IMU 与视觉信息融合--作业

0. 题目 1. T1 T1.1 绘制阻尼因子曲线 将尝试次数和lambda保存为csv,绘制成曲线如下图 iter, lambda 1, 0.002000 2, 0.008000 3, 0.064000 4, 1.024000 5, 32.768000 6, 2097.152000 7, 699.050667 8, 1398.101333 9, 5592.405333 10, 1864.135111 11, 1242.7567…...

企业级信息系统开发讲课笔记4.11 Spring Boot中Spring MVC的整合支持

文章目录 零、学习目标一、Spring MVC 自动配置(一)自动配置概述(二)Spring Boot整合Spring MVC 的自动化配置功能特性 二、Spring MVC 功能拓展实现(一)创建Spring Boot项目 - SpringMvcDemo2021&#xff…...

chatgpt赋能python:Python安装EGG——一个简单的指南

Python安装EGG——一个简单的指南 如果你使用Python有一段时间了,你可能会遇到需要安装扩展包(Package)的情况。在Python中,这些扩展包的文件格式通常是.egg(Easy Installable GZip)。在本文中&#xff0c…...

Web前端-React学习

React基础 React 概述 React 是一个用于构建用户界面的JavaScript库。 用户界面: HTML页面(前端) React主要用来写HTML页面, 或构建Web应用 如果从MVC的角度来看,React仅仅是视图层(V),也就…...

【Rust项目实战】sensleak,扫描 Git 仓库中的敏感信息

github仓库:https://github.com/open-rust-initiative/sensleak-rs Rust是一门神奇的编程语言,它提供了内存安全、零成本抽象、并发安全等特性,使开发人员能够编写高性能、高抽象和安全的代码。 这是我用rust开发的第一个工作,希望…...

搭建一个定制版New Bing吧

项目介绍 项目地址:https://github.com/adams549659584/go-proxy-bingai 引用项目简介:用 Vue3 和 Go 搭建的微软 New Bing 演示站点,拥有一致的 UI 体验,支持 ChatGPT 提示词,国内可用,国内可用&#xff…...

使用AIGC工具提升论文阅读效率

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…...

本周大新闻|Vision Pro头显重磅发布;苹果收购AR厂商Mira

本周XR大新闻,上周Quest 3发布之后,本周苹果MR头显Vision Pro正式发布,也是本周AR/VR新闻的重头戏。 ​AR方面,苹果发布VST头显Vision Pro(虽然本质是台VR,但以AR场景为核心)以及visionOS&…...

在Spring Boot微服务使用JedisCluster操作Redis集群String字符串

记录&#xff1a;449 场景&#xff1a;在Spring Boot微服务使用JedisCluster操作Redis集群的String字符串数据类型。 版本&#xff1a;JDK 1.8,Spring Boot 2.6.3,redis-6.2.5,jedis-3.7.1。 1.微服务中配置Redis信息 1.1在pom.xml添加依赖 pom.xml文件&#xff1a; <…...

5.1 合并数据

5.1 合并数据 5.1.1 堆叠合并数据1、横向堆叠 concat()2、纵向堆叠 concat()和append() 5.1.2 主键合并数据 merge()和join()5.1.3 重叠合并数据 combine_first() 5.1.1 堆叠合并数据 堆叠就是简单地把两个表拼在一起&#xff0c;也被称作轴向连接、绑定或连接。依照连接轴的方…...

华为OD机试真题 JavaScript 实现【求解立方根】【牛客练习题】

一、题目描述 计算一个浮点数的立方根&#xff0c;不使用库函数。保留一位小数。 数据范围&#xff1a;∣val∣≤20 。 二、输入描述 待求解参数&#xff0c;为double类型&#xff08;一个实数&#xff09; 三、输出描述 输出参数的立方根。保留一位小数。 四、解题思路…...

初探BERTPre-trainSelf-supervise

初探Bert 因为一次偶然的原因&#xff0c;自己有再次对Bert有了一个更深层地了解&#xff0c;特别是对预训练这个概念&#xff0c;首先说明&#xff0c;自己是看了李宏毅老师的讲解&#xff0c;这里只是尝试进行简单的总结复述并加一些自己的看法。 说Bert之前不得不说现在的…...

Ficus 第二弹,突破限制器的 Markdown 编辑管理软件!

大家好&#xff0c;我们是 ggG 团队&#xff0c;我们开发的 markdown 笔记管理软件 Ficus Beta 版本正式发布了。详情可以见我们官网&#xff0c;也可以来我们仓库查看。 相对于 Alpha 版本&#xff08;可以在我们之前的博客中查看&#xff09;&#xff0c;主要有 3 点明显的提…...

基于Springboot+vue+协同过滤+前后端分离+鲜花商城推荐系统(用户,多商户,管理员)+全套视频教程

基于Springbootvue协同过滤前后端分离鲜花商城推荐系统(用户,多商户,管理员)(毕业论文11000字以上,共33页,程序代码,MySQL数据库) 代码下载: 链接&#xff1a;https://pan.baidu.com/s/1mf2rsB_g1DutFEXH0bPCdA 提取码&#xff1a;8888 【运行环境】Idea JDK1.8 Maven MySQL…...

MixQuery系列(一):多数据源混合查询引擎调研

背景 存储情况 当前的存储引擎可谓百花齐放,层出不穷。为什么会这样了?因为不存在One for all的存储,不同的存储总有不同的存储的优劣和适用场景。因此,在实际的业务场景中,不同特点的数据会存储到不同的存储引擎里。 业务挑战 然而异构的存储和数据源,却给分析查询带…...

d2l学习——第一章Introduction

x.0 环境配置 使用d2l库&#xff0c;安装如下&#xff1a; conda create --name d2l python3.9 -y conda activate d2lpip install torch1.12.0 torchvision0.13.0 pip install d2l1.0.0b0mkdir d2l-en && cd d2l-en curl https://d2l.ai/d2l-en.zip -o d2l-en.zip u…...

【python】【Word】用正则表达式匹配正文中的标题(未使用样式)并通过win32com指定相应样式

标题的格式 二级标题&#xff1a; 数字.数字. 文字 三级标题&#xff1a;数字.数字.数字 文字 python代码 使用方法 只保留一个需要应用的WORD文档运行程序&#xff0c;逐行匹配 使用效果 代码 import win32com.client import redef compile_change_Word_titlestyle():#…...

Matlab实现光伏仿真(附上完整仿真源码)

光伏发电电池模型是描述光伏电池在不同条件下产生电能的数学模型。该模型可以用于预测光伏电池的输出功率&#xff0c;并为优化光伏电池系统设计和控制提供基础。本文将介绍如何使用Matlab实现光伏发电电池模型。 文章目录 1、光伏发电电池模型2、使用Matlab实现光伏发电电池模…...

JVM零基础到高级实战之Java内存区域方法区

JVM零基础到高级实战之Java内存区域方法区 JVM零基础到高级实战之Java内存区域方法区 文章目录 JVM零基础到高级实战之Java内存区域方法区前言JVM内存模型之JAVA方法区总结 前言 JVM零基础到高级实战之Java内存区域方法区 JVM内存模型之JAVA方法区 JAVA方法区是什么&#xf…...

SpringCloud-stream一体化MQ解决方案-消费者组

参考资料: 参考demo 参考视频1 参考视频2 官方文档(推荐) 官方文档中文版 关于Kafka和rabbitMQ的安装教程,见本人之前的博客 rocketMq的安装教程 rocketMq仪表盘安装教程 重!!!...

HNU计算机图形学-作业二

HNU计算机图形学-作业二 作业二&#xff1a;纹理和照明前言介绍实施详细信息任务1&#xff1a;加载复杂对象任务2&#xff1a;纹理映射和照明任务3&#xff1a;互动活动和动画额外任务&#xff1a;增强场景的视觉效果&#xff08;最高20%&#xff09; 最终实现效果 作业二&…...

湖南大学OS-2020期末考试解析

【特别注意】 答案来源于@wolf以及网络 是我在备考时自己做的,仅供参考,若有不同的地方欢迎讨论。 【试卷评析】 这张卷子有点老了,部分题目可能有用。如果仔细研究应该会有所收获。 【试卷与答案】 一、选择题(15%) 1.下列关于进程状态转换,不正确的是:C A. …...

【用户认证】密码加密,用户状态保存,cookie,session,token

相关概念 认证与授权 认证&#xff08;authentication &#xff09;是验证你的身份的过程&#xff0c;而授权&#xff08;authorization&#xff09;是验证你有权访问的过程 用户认证的逻辑 获取用户提交的用户名和密码根据用户名&#xff0c;查询数据库&#xff0c;获得完…...

LVS+Keepalivedd

Keepalived 一、Keepalived及其工作原理二、实验非抢占模式的设置 三、脑裂现象四、Nginx高可用模式 一、Keepalived及其工作原理 keepalived是一个基于VRRP协议来实现的LVS服务高可用方案&#xff0c;可用解决静态路由出现的单点故障问题。 在一个LVS服务集群中通常有主服务器…...

WPF开发txt阅读器7:自定义文字和背景颜色

文章目录 添加控件具体实现代码说明 txt阅读器系列&#xff1a; 需求分析和文件读写目录提取类&#x1f48e;列表控件与目录字体控件绑定书籍管理系统&#x1f48e;用树形图管理书籍 添加控件 除了字体、字体大小之外&#xff0c;文字和背景颜色也会影响阅读观感&#xff0c…...

Elasticsearch文件存储

分析Elasticsearch Index文件是如何存储的&#xff1f; 主要是想看一下FST文件是以什么粒度创建的&#xff1f; 首先通过kibana找一个索引的shard&#xff0c;此处咱们就以logstash-2023.05.30索引为例 查看下shard分布情况 GET /_cat/shards/logstash-2023.05.30?vindex …...

chatgpt赋能python:如何安装pyecharts

如何安装pyecharts Pyecharts是一个基于echarts的数据可视化工具&#xff0c;它是Python语言的一个库&#xff0c;可以通过Python编程语言进行数据可视化&#xff0c;并且能通过交互式的方式展示出来。 在本文中&#xff0c;我们将介绍如何安装pyecharts&#xff0c;如果您是…...

cmake 添加一个库

目录 项目格式 cmake基本语法 设置编译器 添加库 链接库 添加库的头文件 cmake打印字符串 库的cmake文件 cmake生辰库 mian函数中使用 让库成为可选的 cmake基本语法 设置option变量 cmake设置条件链接库 链接库 添加头文件 修改cmake配置文件 修改引用的源码…...

太原网站建设哪家好/成都网站seo设计

常用功能命令1.导出整个数据库1mysqldump -u 用户名 -p –default-character-setlatin1 数据库名 > 导出的文件名(数据库默认编码是latin1)23mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql2.导出一个表1mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名23mysql…...

c 做网站/关键词搜索技巧

文章目录前言&#x1f680; 一、概述&#x1f680; 二、事件分析&#x1f308; 2.1 邮件投递&#x1f308; 2.2 实施诈骗&#x1f680; 三、资产分析&#x1f308; 3.1 资产特点&#x1f308; 3.2 溯源结果前言 微步情报局监测发现多起黑产组织针对国内手机用户的邮件和短信诈骗…...

网站流量做那些好/seo外包顾问

Windows XP是一款经典的操作系统&#xff0c;同时也是一款很老的操作系统&#xff0c;不过尽管如此&#xff0c;还是有一批用户在使用XP系统&#xff0c;所以发行一些软件的时候还是要测试在XP系统中能否运行&#xff0c;这时候我们就可以借助VirtualBox虚拟机安装一个XP系统来…...

泰州网站建设服务好/中国职业技能培训中心官网

思维方法1&#xff1a;模型思维法。将复杂的研究对象或物理过程&#xff0c;通过运用理想化、抽象化、简化、类比等手段&#xff0c;突出事物的本质特征和规律&#xff0c;形成样板式的概念、实物体系和情景过程&#xff0c;即物理模型。思维方法2&#xff1a;图像思维法。就是…...

广州 企业网站建设/互联网营销方案策划

在给定的网格中&#xff0c;每个单元格可以有以下三个值之一&#xff1a; 值 0 代表空单元格&#xff1b; 值 1 代表新鲜橘子&#xff1b; 值 2 代表腐烂的橘子。 每分钟&#xff0c;任何与腐烂的橘子&#xff08;在 4 个正方向上&#xff09;相邻的新鲜橘子都会腐烂。 返回直…...

itc 做市场分析的网站/优化大师是什么软件

一、如果没有签合同被辞退可以要求给补偿吗 1、没有签合同被辞退有补偿&#xff0c;可以要求双倍工资待遇。 2、法律依据&#xff1a;《中华人民共和国劳动合同法》 第八十二条 用人单位自用工之日起超过一个月不满一年未与劳动者订立书面劳动合同的&#xff0c;应当向劳动者…...