【web自动化测试】Playwright快速入门,5分钟上手
我喜欢Playwright! 这是微软开源的一款非常强大的自动化工具,再过几年,他很有可能取代Selenium在浏览器自动化的通知地位。使用过一段时间,我没有找到很好的中文资料可以参考,导致很多问题无法得到及时解决,因此我决定自己记录一下使用的笔记,算是给社区回馈。
开始
这次我想整理一下如何快速搭建Playwright的执行环境,其中有一些坑,我也会记录,以后重新搭环境的时候照着操作就可以了。
Playwright 目前支持的编程语言有 JavaScript、Python、Java、.NET,本教程使用 Python 语言演示。要在 Python 语言当中使用 Playwright,需要执行两个步骤。第一步,安装python的执行环境。第二步,安装 Playwright。
安装
安装python只需要从官方网站下载安装包,点击安装就可以完成。首先我们打开python的官方网站,然后点击 download 下载安装包。不同的操作系统会推荐不同的安装包。下载完成后点击安装文件完成安装。

安装 Playwright
Playwright 的 Python语言安装包几乎包含了所有需要用到的组件,安装 playwright 工具唯一需要做的事情就是打开命令行工具,输入安装指令:
pip install playwright
playwright install
pip install playwright 安装语言包工具,除此之外,playwright 需要依赖浏览器环境才能运行,playwright install 的意思是下载和安装依赖的浏览器。浏览器不需要提前安装,通过这行命令,程序会自动下载一个 chrioum 浏览器和一个 firefox 浏览器,之后的浏览器操作都会在这些浏览器上运行。耐心等待浏览器下载完成后,就完成了安装,以后每次运行不会再重复下载。
如果觉得等待时间太长,也可以选择单独安装 chromium 浏览器或者 firefox 浏览器,目前支持的浏览器有chromium, chrome, chrome-beta, msedge, msedge-beta, msedge-dev, firefox, webkit。
playwright install chromium
# or
playwright install firefox
所有关于 playwright 的命令行参数,你都可以通过 help 指令查看:
$ playwright --help
Usage: npx playwright [options] [command]
Options:
-V, --version output the version number
-h, --help display help for command
Commands:
open [options] [url] open page in browser specified via -b, --browser
codegen [options] [url] open page and generate code for user actions
install [options] [browser...] ensure browsers necessary for this version of Playwright are installed
install-deps [browser...] install dependencies necessary to run browsers (will ask for sudo permissions)
cr [options] [url] open page in Chromium
ff [options] [url] open page in Firefox
wk [options] [url] open page in WebKit
screenshot [options] <url> <filename> capture a page screenshot
pdf [options] <url> <filename> save page as pdf
show-trace [options] [trace] Show trace viewer
help [command] display help for command
运行
当安装好 Playwright 以及浏览器之后,我们可以通过下面的代码来简单运行。这个程序会打开一个浏览器,并且访问一个网址,然后你就可以在浏览器上执行操作了。你做的每步操作,都会被 playwright 录制下来,生成运行代码,显示在一个 Inspector 的界面中,这些代码可以拷贝下来,保存到代码库当中。
playwright codegen http://www.baidu.com

【web自动化测试】Playwright快速入门,5分钟上手的更多相关文章
- 使用ASP.NET 构建 Web 应用程序快速入门-8小时的免费培训视频
- Scott Hanselman的中文博客[转载] [原文发表地址] Building Web Apps with ASP.NET Jump Start - 8 Hours of FREE Trai ...
- 自动化测试---PageObjects快速入门(一)
PageObject快速入门 介绍: Page Object是selenium的一种设计模式, 是在web自动化测试中将一个页面设备成一个class或基础库来实际的方法这种模式的好处有以下几点:1.让 ...
- GeoServer基础教程(二):GeoServer的Web管理界面快速入门
转载:http://blog.163.com/daimiao_study/blog/static/248923117201542522742373/ GeoServer的控制和管理是基于网页形式,所有 ...
- Spring Boot2 快速入门教程-到上手
Spring Boot2 教程合集 入门 纯 Java 代码搭建 SSM 环境 创建一个 Spring Boot 项目的三种方法 理解 Spring Boot 项目中的 parent 基础配置 配置文 ...
- web前端html快速入门
HTML 学前端之间不得不知道一个网站:http://www.w3school.com.cn/ 网上有很多教程关于前端的,写的特别详细,也写的特别好.我们应该要自已理解,一些相应的前端的知识,不能只是 ...
- 1 flume快速入门——十分钟学会flume
flume ## 1.1 Flume定义 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统.Flume基于流式架构,灵活简单. 大数据框架大致分为3类: ...
- pthon web框架flask(二)--快速入门
快速入门 迫切希望上手?本文提供了一个很好的 Flask 介绍.假设你已经安装 Flask, 如果还没有安装话,请浏览下 安装 . 一个最小的应用 一个最小的应用看起来像这样: from flask ...
- 前端学习 node 快速入门 系列 —— 报名系统 - [express]
其他章节请看: 前端学习 node 快速入门 系列 报名系统 - [express] 最简单的报名系统: 只有两个页面 人员信息列表页:展示已报名的人员信息列表.里面有一个报名按钮,点击按钮则会跳转到 ...
- Python Web自动化测试入门与实战,从入门到入行
Python Web自动化测试入门与实战 购买地址 · 京东:https://item.jd.com/69239480564.html 天猫:https://detail.tmall.com/it ...
随机推荐
- MySQL用户管理与字符集
用户管理与字符集 一.用户管理 用户名的概念 用户名是由两部分组成的 user和host 1.1 创建用户 create user 'yysue'@'192.168.5.38' identified ...
- 基于SqlSugar的开发框架循序渐进介绍(5)-- 在服务层使用接口注入方式实现IOC控制反转
在前面随笔,我们介绍过这个基于SqlSugar的开发框架,我们区分Interface.Modal.Service三个目录来放置不同的内容,其中Modal是SqlSugar的映射实体,Interface ...
- 【摸鱼神器】一次搞定 vue3的 路由 + 菜单 + tabs
做一个管理后台,首先要设置路由,然后配置菜单(有时候还需要导航),再来一个动态tabs,最后加上权限判断. 这个是不是有点繁琐?尤其是路由的设置和菜单的配置,是不是很雷同?那么能不能简单一点呢?如果可 ...
- 第06组 Alpha冲刺 (2/6)
目录 1.1 基本情况 1.2 冲刺概况汇报 1.郝雷明 2. 方梓涵 3. 黄少丹 4. 董翔云 5.曾丽莉 6. 詹鑫冰 7.鲍凌函 8.杜筱 9.曹兰英 10. 吴沅静 1.3 冲刺成果展示 1 ...
- 基于云服务MRS构建DolphinScheduler2调度系统
摘要:本文介绍如何搭建DolphinScheduler并运行MRS作业. 本文分享自华为云社区<基于云服务MRS构建DolphinScheduler2调度系统>,作者: 啊喔YeYe . ...
- 20212115朱时鸿-关于python技能树以及markdown编辑器的测评
csdn的链接:https://blog.csdn.net/m0_68116569/article/details/124049366 计算机连接:https://gitee.com/zhu-shih ...
- C++:最大子数组差
最大子数组差 内存限制:128 MiB 时间限制:1000 ms 题目描述: 给定一个整数数组,找出两个不重叠的子数组A和B,使两个子数组和的差的绝对值|SUM(A) - SUM(B) ...
- 聊聊 C# 中的多态底层 (虚方法调用) 是怎么玩的
最近在看 C++ 的虚方法调用实现原理,大概就是说在 class 的首位置存放着一个指向 vtable array 指针数组 的指针,而 vtable array 中的每一个指针元素指向的就是各自的 ...
- JDK1.7HashMap源码分析
1.1首先HashMap中的Hash(哈希)是什么? Hash也称散列,哈希,对应的英文都是Hash.基本原理就是把任意长度的输入通过Hash算法变成固定长度的输出,这个映射的规则就是对应的Ha ...
- 2021.03.06【NOIP提高B组】模拟 总结
T1 看起来十分复杂,打表后发现答案是 \(n*m\mod p\) 具体的证明... 原式的物理意义,就是从坐标原点(0,0),用每一种合法的斜率, 穿过坐标[1 ~ n , 1 ~ m]的方阵中的整 ...