Python中Playwright模块进行自动化测试的实现

 更新时间:2023年12月10日 09:59:18   作者: cacho_37967865  
playwright是由微软开发的Web UI自动化测试工具,本文主要介绍了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操作系统。

官网:https://playwright.dev/ 

从官网的解释,官方给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数据分析之 Matplotlib 3D图详情

    Python数据分析之 Matplotlib 3D图详情

    本文主要介绍了Python数据分析之Matplotlib 3D图详情,Matplotlib提供了mpl_toolkits.mplot3d工具包来进行3D图表的绘制,下文总结了更多相关资料,需要的小伙伴可以参考一下
    2022-05-05
  • pygame实现打字游戏

    pygame实现打字游戏

    这篇文章主要为大家详细介绍了pygame实现打字游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • 通过python连接Linux命令行代码实例

    通过python连接Linux命令行代码实例

    这篇文章主要介绍了通过python连接Linux命令行代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • PyTorch加载自己的数据集实例详解

    PyTorch加载自己的数据集实例详解

    这篇文章主要介绍了PyTorch加载自己的数据集,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • python实现简单银行管理系统

    python实现简单银行管理系统

    这篇文章主要为大家详细介绍了python实现简单银行管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • pytorch:实现简单的GAN示例(MNIST数据集)

    pytorch:实现简单的GAN示例(MNIST数据集)

    今天小编就为大家分享一篇pytorch:实现简单的GAN示例(MNIST数据集),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python实现配置文件备份的方法

    Python实现配置文件备份的方法

    这篇文章主要介绍了Python实现配置文件备份的方法,实例分析了基于Linux平台下Python文件压缩备份的相关技巧,具有一定参考借鉴价值
    2015-07-07
  • python tensorflow基于cnn实现手写数字识别

    python tensorflow基于cnn实现手写数字识别

    这篇文章主要为大家详细介绍了python tensorflow基于cnn实现手写数字识别,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • Python实现音频提取的示例详解

    Python实现音频提取的示例详解

    在日常生活中,有好听的翻唱视频或音乐视频可以将其音频分离保存到网易云或QQ音乐中随时听,然而大部分的音频分离软件需要下载和安装,所以本文就来分享一种提取音频的简便方法吧
    2023-09-09
  • Python实现Selenium自动化Page模式

    Python实现Selenium自动化Page模式

    这篇文章主要介绍了Python实现Selenium自动化Page模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07

最新评论