Playwright系列(11):Playwright命令行

简介: Playwright系列(11):Playwright命令行

大家好,我是阿萨。 自动化测试过程中很多人不喜欢用GUI工具,都喜欢用命令行。今天我们就学习下Playwright的命令行有哪些。


安装浏览器

使用命令行来安装浏览器。


# 不带参数,安装默认浏览器playwright install


安装指定浏览器。


# Install WebKitplaywright install webkit


查看所有支持的浏览器。


playwright install --help


安装系统依赖

系统依赖可以自动改安装,特别是在CI环境里。


# See command helpplaywright install-deps


也可以为单个浏览器安装依赖。


playwright install-deps chromium

也可以把 install-deps 和 install 结合起来,用一条命令安装浏览器和操作系统的依赖项。这将为 Chromium 做到这一点,但你也可以不使用它。。


playwright install --with-deps chromium


生成代码


playwright codegen wikipedia.org

运行codegen并在浏览器中执行操作。Playwright CLI将为用户互动生成JavaScript代码。codegen将尝试生成有弹性的基于文本的选择器。


保存认证状态

用-save-storage运行codegen,在最后保存cookies和localStorage。这对单独记录认证步骤并在以后重复使用很有用。


playwright codegen --save-storage=auth.json# 执行认证并退出。# auth.json将包含存储状态。

用 --load-storage 运行,以消耗先前加载的存储。这样,所有的cookie和localStorage将被恢复,使大多数网络应用进入认证状态。


playwright open --load-storage=auth.json my.web.appplaywright codegen --load-storage=auth.json my.web.app# 在认证状态下执行操作。


使用自定义设置的Codegen

如果你想在一些非标准的设置中使用codegen(例如,使用browser_context.route()),可以调用page.pause(),它将打开一个带有codegen控件的单独窗口。

同步:


from playwright.sync_api import sync_playwrightwith sync_playwright() as p:# Make sure to run headed.    browser = p.chromium.launch(headless=False)# Setup context however you like.    context = browser.new_context() # Pass any options    context.route('**/*', lambda route: route.continue_())# Pause the page, and start recording manually.    page = context.new_page()    page.pause()


异步


import asynciofrom playwright.async_api import async_playwright
async def main():async with async_playwright() as p:# 确保运行为首。        browser = await p.chromium.launch(headless=False)
# 以你喜欢的方式设置上下文。        context = await browser.new_context() # 传递任何选项await context.route('**/*', lambda route: route.continue_())
# 暂停页面,并手动开始录制。        page = await context.new_page()await page.pause()
asyncio.run(main())


打开页面


通过open,你可以使用Playwright捆绑的浏览器来浏览网页。Playwright 提供了跨平台的 WebKit 构建,可以用来在 Windows、Linux 和 macOS 上复制 Safari 的渲染。


# 在 Chromium 中打开页面playwright open example.com
# 在 WebKit 中打开页面playwright wk example.com


模拟设备


打开可以从playwright.devices列表中模拟移动和平板设备。


# 仿真 iPhone 11。playwright open --device="iPhone 11" wikipedia.org

仿真颜色方案和视口尺寸


# 仿真屏幕尺寸和颜色方案。playwright open --viewport-size=800,600 --color-scheme=dark twitter.com

仿真地理位置、语言和时区


# 仿真时区、语言和位置# 一旦页面打开,点击 "我的位置 "按钮,可以看到地理定位的作用playwright open --timezone="Europe/Rome" --geolocation="41.890221,12.492348" --lang="it-IT" maps.google.com


检查选择器在开放或编码过程中,你可以在任何浏览器的开发者工具控制台中使用以下API。


playwright.$(selector)

查询Playwright选择器,使用实际的Playwright查询引擎,例如。


playwright.$(selector)

与 playwright.$ 相同,但返回所有匹配的元素。


playwright.expect(selector)

在元素面板中显示元素(如果相应浏览器的DevTools支持)。


playwright.locator(selector)

使用实际的 Playwright 查询引擎来查询 Playwright 元素,例如。


playwright.selector(element)

生成给定元素的选择器。


屏幕截图


# 查看命令帮助playwright screenshot --help


# 在页面加载后('load'事件触发),等待3秒再进行截图playwright screenshot\    --device="iPhone 11" (--color-scheme=done    --color-scheme=dark (颜色模式=黑暗)。    --wait-for-timeout=3000 \    twitter.com twitter-iphone.png


# 捕获一个全页的屏幕截图playwright screenshot --full-page en.wikipedia.org wiki-full.png


生成PDF

PDF的生成只在无头的Chromium中起作用。


# 见命令帮助playwright pdf https://en.wikipedia.org/wiki/PDF wiki.pdf


相关文章
|
7月前
|
Web App开发 API Python
Playwright系列(8):认识playwright 相关库
Playwright系列(8):认识playwright 相关库
194 0
Playwright系列(8):认识playwright 相关库
|
7月前
|
测试技术 Python
Playwright系列(4):录制测试脚本
Playwright系列(4):录制测试脚本
212 0
|
26天前
|
Web App开发 iOS开发 C++
Playwright 运行项目。
Playwright 运行项目。
34 3
|
28天前
|
Web App开发 JavaScript 测试技术
Playwright 测试夹具
Playwright 测试夹具
11 1
|
28天前
playwright命令行中最常用的选项
playwright命令行中最常用的选项
13 1
|
4月前
|
Docker Python Windows
pycharm使用fastapi/uvicorn无法reload的问题
这篇文章讨论了在PyCharm中使用FastAPI和uvicorn时遇到的无法快速重载的问题,并提供了包括降级uvicorn版本和使用命令行运行等解决方法。
pycharm使用fastapi/uvicorn无法reload的问题
|
7月前
|
Python
Python Playwright 打包报错 Please run the following command to download new browsers
Python Playwright 打包报错 Please run the following command to download new browsers
251 0
|
7月前
|
Web App开发 测试技术 API
playwright使用:启动浏览器与多种运行方式
本文介绍了Playwright,一个用于浏览器自动化的强大工具,支持Chrome、Firefox和WebKit。展示了如何同步和异步启动浏览器,以及使用`with`语句和`start/stop`方法。通过设置`headless=False`可显示浏览器界面。Playwright的等待机制不同于Selenium,采用`slow_mo`全局减速或`wait_for_timeout`进行等待。文章还展示了填写表单和点击元素的示例,并预告下文将讨论元素定位方法。
|
7月前
|
前端开发 测试技术
使用 Playwright 进行元素定位
本文介绍了Playwright在自动化测试和网页爬取中如何定位页面元素。通过CSS选择器、XPath和文本内容等方式,Playwright的`locator`对象允许灵活定位。示例代码展示了使用`query_selector()`、XPath表达式以及`with_text()`方法找到元素并获取其文本。此外,文章还提到了其他内置定位方法,如根据角色、标签文本、占位符等属性进行定位,并提供了相关使用示例。总之,Playwright提供了丰富的元素定位方法,便于高效地进行网页操作。
|
7月前
|
JavaScript 前端开发 测试技术
解锁弹框:Python 下的 Playwright 弹框处理完全指南
本文介绍了如何使用Python的Playwright库处理Web自动化测试中的弹框。弹框分为alert、confirm和prompt三种类型。在Playwright中,可通过`page.on('dialog')`事件监听器进行处理。对于警告框,定义`on_dialog`函数打印消息并接受弹框;确认框可使用`dialog.accept()`或`dialog.dismiss()`;提示框则使用`dialog.accept(text)`输入文本。Playwright的API简化了弹框处理,提升了自动化测试效率。