Python中Playwright模块进行自动化测试的实现
playwright是由微软开发的Web UI自动化测试工具,支持Node.js、Python、C# 和 Java语言,本文将介绍Python版本的Playwright使用方法。
微软开源了一个非常强大的自动化项目叫playwright-python,项目地址:https://github.com/microsoft/playwright-python
它支持主流的浏览器,包含:Chrome、Firefox、Safari、Microsoft Edge 等,同时支持以无头模式、有头模式运行,并提供了同步、异步的 API,可以结合 Pytest 测试框架使用,并且支持浏览器端的自动化脚本录制。
Playwright提供的自动化技术是绿色的、功能强大、可靠且快速,支持Linux、Mac以及Windows操作系统。
从官网的解释,官方给Playwright定位是一款真正意义上的Web端到端测试工具。
安装步骤
第 1 步,安装 playwright-python 依赖库 (需要注意的是,playwright库需要依赖Python3.7+以上)
pip install -i https://mirrors.aliyun.com/pypi/simple/ --upgrade Playwright

第 2 步,安装主流的浏览器驱动
playwright install

如果想查看Playwright支持的功能, 可以直接在命令行输入:playwright -h

使用Playwright可以无需写代码,只需手动操作浏览器,它会录制我们的操作,然后自动生成代码脚本。
录制脚本
1. 查看录制命令说明 playwright codegen -h
Usage: playwright codegen [options] [url]
open page and generate code for user actions
Options:
-o, --output <file name> saves the generated script to a file
--target <language> language to generate, one of javascript, playwright-test, python, python-async,
python-pytest, csharp, csharp-mstest, csharp-nunit, java (default: "python")
--save-trace <filename> record a trace for the session and save it to a file
--test-id-attribute <attributeName> use the specified attribute to generate data test ID selectors
-b, --browser <browserType> browser to use, one of cr, chromium, ff, firefox, wk, webkit (default:
"chromium")
--block-service-workers block service workers
--channel <channel> Chromium distribution channel, "chrome", "chrome-beta", "msedge-dev", etc
--color-scheme <scheme> emulate preferred color scheme, "light" or "dark"
--device <deviceName> emulate device, for example "iPhone 11"
--geolocation <coordinates> specify geolocation coordinates, for example "37.819722,-122.478611"
--ignore-https-errors ignore https errors
--load-storage <filename> load context storage state from the file, previously saved with --save-storage
--lang <language> specify language / locale, for example "en-GB"
--proxy-server <proxy> specify proxy server, for example "http://myproxy:3128" or
"socks5://myproxy:8080"
--proxy-bypass <bypass> comma-separated domains to bypass proxy, for example
".com,chromium.org,.domain.com"
--save-har <filename> save HAR file with all network activity at the end
--save-har-glob <glob pattern> filter entries in the HAR by matching url against this glob pattern
--save-storage <filename> save context storage state at the end, for later use with --load-storage
--timezone <time zone> time zone to emulate, for example "Europe/Rome"
--timeout <timeout> timeout for Playwright actions in milliseconds, no timeout by default
--user-agent <ua string> specify user agent string
--viewport-size <size> specify browser viewport size in pixels, for example "1280, 720"
-h, --help display help for command
Examples:
$ codegen
$ codegen --target=python
$ codegen -b webkit https://example.com比如,我要在baidu.com搜索,用chromium驱动,将结果保存为test.py的python文件。文档默认保存到 C:\Users\user\下面
playwright codegen --target python -o 'test.py' -b chromium https://www.baidu.com

到此这篇关于Python中Playwright模块进行自动化测试的实现的文章就介绍到这了,更多相关Python Playwright自动化测试内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Python爬虫爬取王者荣耀英雄信息并保存到图数据库的操作方法
本文介绍了如何使用Python爬虫技术从王者荣耀官方获取英雄信息,并将数据保存到图数据库中,文章详细说明了爬取英雄名称、类型及皮肤名称的过程,并展示了创建英雄类型节点和英雄信息节点的方法2024-09-09
Ubuntu中安装指定Python版本方法详解(理论上各版本通用)
现在基于linux的发行版本有很多,有centos,ubuntu等,一般基于linux的衍生系统至少都安装了Python2版本,但是现在Python已经是3.x版本大行其道了,这篇文章主要给大家介绍了关于Ubuntu中安装指定Python版本方法的相关资料,理论上各版本通用,需要的朋友可以参考下2023-06-06
Python报错SyntaxError:unexpected EOF while parsing的解决办法
在运行或编写一个程序时常会遇到错误异常,这时python会给你一个错误提示类名,告诉出现了什么样的问题,下面这篇文章主要给大家介绍了关于Python报错SyntaxError:unexpected EOF while parsing的解决办法,需要的朋友可以参考下2022-07-07
Python运行出现DeprecationWarning的问题及解决
这篇文章主要介绍了Python运行出现DeprecationWarning的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-07-07


最新评论