首页 > 其他分享 >微软自动化测试工具palywright

微软自动化测试工具palywright

时间:2023-11-03 10:33:51浏览次数:52  
标签:playwright 微软 palywright https 测试工具 com page browser

前言

我们介绍许多e2e的自动化测试工具

一类是基于 Selenium 的测试框架:

  • robot framework
  • gauge
  • SeleniumBase
  • seldom(我自己维护的)

另一类是基于JS语言的测试工具:

  • cypress
  • puppeteer

前都本身就是基于Selenium的自动化测试工具,后者在测试人员这个圈子也是未能撼动Selenium的地位,我认为有两个原因,一是Selenium是一个非常成熟的自动化测试工具,有大量的学习资料;另一方面selenium支持Python,没错Python以其简单的语法已经成为了测试人员学习编程语言的不二之选。

好了,介绍个新的自动化测试工具还要铺垫这么多?这是因为我看了palywright的文档之后,觉得这工具大概率能在测试人员这个群体中流行起来。

playwright 介绍

官方:https://playwright.dev/

介绍

Playwright enables fast, reliable and capable automation across all modern browsers.

支持平台&浏览器

Linux

macOS

Windows

Chromium 89.0.4344.0




WebKit 14.1




Firefox 84.0b9




支持语言

从支持的平台、语言和浏览器来看,是不是有Selenium的味道。这是微软爸爸的项目,从微软这几年拥抱开源的态度来看,这个工具应该会得到持续的支持。

安装

不同的语言安装方式不同,根据上面的链接,到对应的项目下面查看安装方式。本文以Python为例。

安装plywright

> pip install playwright

安装浏览器

> python -m playwright install

Downloading chromium v827102 - 89.4 Mb [====================] 100% 0.0s
chromium v827102 downloaded to C:\Users\fnngj\AppData\Local\ms-playwright\chromium-827102
Downloading firefox v1205 - 74.9 Mb [====================] 100% 0.0s
firefox v1205 downloaded to C:\Users\fnngj\AppData\Local\ms-playwright\firefox-1205
Downloading webkit v1383 - 51.4 Mb [====================] 100% 0.0s
webkit v1383 downloaded to C:\Users\fnngj\AppData\Local\ms-playwright\webkit-1383

录制脚本

plywright可以在浏览器中记录用户的互动并生成代码。

执行命令

> python -m playwright codegen

视频

接下来,对录制的脚本做简单的修饰。

from time import sleep
from playwright.sync_api import sync_playwright


def run(playwright):
    pw = playwright().start()
    browser = pw.chromium.launch(headless=False)
    context = browser.new_context()

    # Open new page
    page = context.new_page()

    # Go to https://www.baidu.com/
    page.goto("https://www.baidu.com/")

    # Fill input[name="wd"]
    page.fill('input[name="wd"]', "playwright")

    # Click input[type="submit"]
    page.click('input[type="submit"]')

    sleep(2)

    # assert title
    assert page.title() == "playwright_百度搜索"
    # ---------------------
    context.close()
    browser.close()


if __name__ == '__main__':
    run(sync_playwright)

从API来看,和大多数自动化工具都差不多。

异步的写法

playwright官方例子中给出的异步的写法。 从它提供的API sync_playwright 的命名也可以看出,它很喜欢异步。

import asyncio
from playwright import async_playwright


async def main():
    async with async_playwright() as p:
        for browser_type in [p.chromium, p.firefox, p.webkit]:
            browser = await browser_type.launch(headless=False)
            page = await browser.newPage()
            await page.goto('https://www.baidu.com')
            await page.screenshot(path=f'example-{browser_type.name}.png')
            await browser.close()

asyncio.get_event_loop().run_until_complete(main())

后续:

  1. playwrigth 与其他自动化工具的比较
  2. playwright API介绍
  3. playwright 与单元测试框架unittest/pytest的使用

标签:playwright,微软,palywright,https,测试工具,com,page,browser
From: https://blog.51cto.com/fnngj/8162060

相关文章

  • 微软Xbox主机将推出韧体更新,为PG用户供便捷的电子游戏设置功能
    微软即将发布一次重要的韧体更新,特别面向Xbox主机,其中的主要功能包括控.制器键盘配置、Clipchamp集成以及用户偏好的诊断数据共享。首先,这次更新将引入新的键盘配置功能,允许玩家将XboxElite无线控.制器Series2和Xbox自适应控.制器的按键映射至键盘上。在XboxAccessories应用程序......
  • 微软全新人工智能Copilot加持!Win11 23H2将于9月26日正式发布
    微软在昨天举行秋季发布会,除了带来新的Surface硬件外,重头戏还有Win1123H2。在发布会上微软宣布将于本月26日发布Windows11的下一个大更新23H2,据介绍本次系统更新将会有超过150项新功能,包括新的人工智能驱动的WindowsCopilot功能、重新设计的文件资源管理器、针对手写笔用户的新......
  • UI自动化测试工具推荐
    UI自动化测试已经成为现代软件开发过程中不可或缺的一部分。它能够提供诸多优势,包括提高测试效率、减少人力成本、提升软件质量等。同时,可视化工具为UI自动化测试带来了更多便利和灵活性。然而,可视化工具也存在一些潜在的劣势。本文将探讨UI自动化测试的必要性以及可视化工具的优势......
  • UI自动化测试工具推荐
    UI自动化测试已经成为现代软件开发过程中不可或缺的一部分。它能够提供诸多优势,包括提高测试效率、减少人力成本、提升软件质量等。同时,可视化工具为UI自动化测试带来了更多便利和灵活性。然而,可视化工具也存在一些潜在的劣势。本文将探讨UI自动化测试的必要性以及可视化工具的优......
  • 需要使用WinDbg工具来分析windows系统产生的dump文件,此工具属于Windows SDK的一个组件
    需要使用WinDbg工具来分析windows系统产生的dump文件,此工具属于WindowsSDK的一个组件,在微软官方网站可以下载(链接)。 使用WinDbg分析Windowsdump文件方法_windbg分析dump文件_谁能懂我2011的博客-CSDN博客......
  • 微软的.NET 8第二个预览版
    微软的.NET 8第二个预览版只是对第一次预览的“快速跟进”,主要改进了Blazor,用C#创建Web应用程序,而不是使用JavaScript。 预览2的改进虽然预览2引入了一些新的库功能,但Blazor方面的东西得到了一个高性能的网格组件,用于以表格形式显示数据,即QuickGrid。另一个改进是通过jiterpreter......
  • 微软今天发布了.NET 8 的首个预览版,正式版预估今年 11 月发布
    IT之家2月22日消息,微软今天发布了.NET8的首个预览版,适用于Windows、macOS和Linux的版本已经开发下载。微软计划未来每月发布新的预览版和候选版本,正式版预估将于今年11月在.NETConf2023上发布。 IT之家附.NET8的首个预览版的主要更新内容:NativeAhead-of-Time(AO......
  • JWT Tool:针对 JSON Web Tokens 的测试工具题解JWT cracking
    什么是JWT?JWT是JSONWebToken的缩写,它是一串带有声明信息的字符串,由服务端使用加密算法对信息签名,以保证其完整性和不可伪造性。Token里可以包含所有必要的信息,这样服务端就无需保存任何关于用户或会话的信息了。JWT可用于身份认证,会话状态维持以及信息交换等任务。JWT由三部分......
  • 支持多用户协作的API测试工具:Apipost
    在当今快速发展的数字化时代,API已成为企业与开发者实现数据互通、应用集成的重要桥梁。然而,随着API数量的不断增加,API开发、调试、测试、文档等工作也变得越来越复杂。为了解决这一痛点,一款名为Apipost的API协同研发工具应运而生。成功案例许多知名的公司和团队都在使用Apipost......
  • 《安富莱嵌入式周报》第321期:开源12导联便携心电仪,PCB AI设计,150M示波器差分探头,谷歌
     视频版:https://www.bilibili.com/video/BV1ju4y1D7A8/1、开源12导联便携心电仪https://voltagedivide.com/2017/10/14/psoc-design-and-implementation-of-a-12-lead-portable-ecg/这个开源有完整的上位机,下位机和原理图,并且有一个详细的设计论文。12导联心电图是心电图检查中常......