首页 > 其他分享 >playwright环境配置和快速体验

playwright环境配置和快速体验

时间:2023-04-23 20:44:39浏览次数:38  
标签:Playwright 浏览器 配置 selenium playwright 测试 体验 上下文

  继selenium后,又一强大的web自动化框架出现在大众的视野。playwright!在这之前,谈及到UI自动化,大部份人想到的都是selenium。因为selenium2.0和3.0和4.0的发布,并没有过多的功能迭代,不能满足用户的需求。随着新框架的出现,慢慢被替代掉了。

一、playwright的优势在哪?

1、支持多语言打码

  支持Node.js、python、c#、Java、JavaScript语言

2、跨浏览器和跨平台

  Playwright支持所有现代渲染引擎,包括Chromeium、WebKit和Firefox

  跨平台:在Windows、Linux、macos上进行本地测试或在CI上进行无头或有头模进行测试

  测试移动网络:适用于Android和iOS的Google Chrome浏览器的本机移动仿真。同等的渲染引擎适用桌面和云端

3、稳定性

  自动等待。Playwright在执行动作之前等待元素可操作。它还具有一组丰富的内省 事件。两者的结合消除了人为超时的需要——这是不稳定测试的主要原因

  Web优先断言。Playwright断言是专门为动态网络创建的。检查会自动重试,直到 满足必要的条件

  追踪。配置测试重试策略,捕获执行跟踪、视频、屏幕截图以定位问题。

4、运行机制

  多重一切。测试跨越多个选项卡、多个来源和多个用户的场景。为不同的用户创建 具有不同上下文的场景,并在您的服务器上运行它们,所有这些都在一次测试中完成

  可信事件。悬停元素,与动态控件交互,产生可信事件。Playwright使用与真实用 户无法区分的真实浏览器输入管道。

  测试框架,穿透 Shadow DOM。Playwright 选择器穿透影子 DOM 并允许无缝地输 入帧

5、完全隔离-快速执行

  浏览器上下文。Playwright为每个测试创建一个浏览器上下文。浏览器上下文相当 于一个全新的浏览器配置文件。这提供了零消费的完全测试隔离。创建一个新的浏 览器上下文只需要几毫秒

二、环境准备

python要求版本在python3.7+版本

1、安装playwright

pip install playwright

2、安装所需要的浏览器

playwright install

一步即可安装所需的浏览器,并且不需要安装驱动包了(解决了selenium启动浏览器, 总是要找对应驱动包的痛点)

三、快速体验

启动浏览器打开百度页面

from playwright.sync_api import sync_playwright


with sync_playwright() as fp:
    browser = fp.chromium.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://www.baidu.com")

标签:Playwright,浏览器,配置,selenium,playwright,测试,体验,上下文
From: https://www.cnblogs.com/xdsa/p/17347673.html

相关文章

  • ensp基于 VRRP 的负载均衡出口链路配置
    1.项目背景公司采用ISP-A、ISP-B线路接入互联网,通过出口路由器R1、R2连接,通过VRRP功能实现了路由器的主备自动切换。由于公司业务的开展,原来的主备链路模式无法满足出口带宽的需求,现需更改为负载均衡模式,在出口链路互为备份的同时还能分流出口流量,增加出口带宽。公司拓扑如......
  • ai问答:使用vite如何配置多入口页面
    Vite是一个web开发构建工具,它可以用于开发单页应用和多页应用。要在Vite中配置多入口,可以:在vite.config.js中定义多个entry入口:exportdefault{build:{rollupOptions:{input:{main:resolve(__dirname,'index.html'),othe......
  • Springboot yml配置参数加密 ,jasypt自定义解密器
    原文链接:https://www.cnblogs.com/JCcccit/p/16868137.html前言 最近项目组开始关注一些敏感数据的明文相关的事宜,其实这些东西也是都有非常成熟的解决方案。既然最近着手去解决这些事情,那么也顺便给还未了解的大伙普及一下。Springbootyml配置参数数据加密(数据加密篇......
  • mybatis-plus没有将XML配置文件放到classpath路径下的解决办法
    1.需求:我将mapper接口对应的xml文件没有放到resources路径下,而是放到了如下图中,导致无法识别1.1默认可以放mapper对应配置文件的位置1.2本人实际放置的mapper对应的xml文件位置2.解决:2.1第一步:在pom文件中添加如下配置<build><resources><reso......
  • 修改网卡配置
    方案一:1,首先修改网卡物理配置文件,没有这个文件的话新建一个或者从已有的环境上拷贝一份过来按照要求进行修改vi/etc/udev/rules.d/70-persistent-net.rulesSUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}=="00:0c:29:3b:25:c4",ATTR{type}=="1",KE......
  • 【uni-app】【02】请求域名的全局配置。
    关于uni-app的请求问题,可以访问官方文档https://uniapp.dcloud.net.cn/api/request/request.html值得注意的一个点就是全局配置域名的问题。因为本地测试是localhost,但是实际部署前后端分离的,域名就不是localhost了,端口号什么的也可能要变,要是不用一个全局变量来代替域名,那后期......
  • Nginx配置跨域,覆盖后端服务跨域配置
    本篇文章主要介绍了,如何通过Nginx配置跨域,并覆盖后端服务跨域配置。先看下后端代码跨域配置:主要的目标是:不修改后端跨域配置代码,来实现Nginx跨域指定域名。@BeanpublicCorsFiltercorsFilter(){finalUrlBasedCorsConfigurationSourceurlBasedCorsCon......
  • hybridnet配置
    1、安装hybridnethelm repo add hybridnet https://alibaba.github.io/hybridnet/helm repo updatehelm install hybridnet hybridnet/hybridnet -n kube-system --set init.cidr=10.244.0.0/16  2、master节点添加标签,根据hybridnet-manager这个deploy添加......
  • SAP SD 配置路径
    编号配置项事务代码配置路径                             1销售组织结构层                             101定义销售组织SPR......
  • RK3588 Qt 交叉编译之四:配置及编译报错记录
    运行时出现错误提示:QIconvCodec::convertToUnicode:usingLatin-1forconversion,iconv_openfailedQIconvCodec::convertFromUnicode:usingLatin-1forconversion,iconv_openfailed原因是缺少iconv库,解决方案如下:./configure后添加编译-no-iconv运行时出现错误提......