Playwright自动化框架系列(五)

📖 前言

👋 简介

本章节介绍下脚本录制功能,对于有些元素定位或者操作不太熟悉的地方,可以通过录制功能生成对应的代码用于学习或者使用,提供方便

💡 正文

1 录制功能

方式一:playwright codegen,会打开一个无痕浏览器,需要手动输入网址
方式二:playwright codegen baidu.com,打开浏览器,自动访问百度页面
运行后会启动2个窗口,一个是需要操作的窗口,一个是inspector可以生成对应脚本的窗口
在这里插入图片描述

2 脚本切换

在这里插入图片描述

脚本提供切换其他编程语言以及一些其他的功能,如改位异步操作,生成测试的代码等

2.1 异步

选择Library Async后,会生成异步的方式去进行访问百度页面

import asyncio

from playwright.async_api import Playwright, async_playwright, expect


async def run(playwright: Playwright) -> None:
    browser = await playwright.chromium.launch(headless=False)
    context = await browser.new_context()
    page = await context.new_page()
    await page.goto("https://www.baidu.com/")

    await context.close()
    await browser.close()


async def main() -> None:
    async with async_playwright() as playwright:
        await run(playwright)


asyncio.run(main())
2.2 自动化测试

选择pytest会生成基于pytest测试框架的代码,实现访问百度,并输入playwright,按下回车进行搜索的功能

from playwright.sync_api import Page, expect


def test_example(page: Page) -> None:
    page.goto("https://www.baidu.com/")
    page.locator("#kw").click()
    page.locator("#kw").fill("playwright")
    page.locator("#kw").press("Enter")
2.3 其他语言

比如生成java代码:

import com.microsoft.playwright.*;
import com.microsoft.playwright.options.*;
import static com.microsoft.playwright.assertions.PlaywrightAssertions.assertThat;
import java.util.*;

public class Example {
    public static void main(String[] args) {
        try (Playwright playwright = Playwright.create()) {
            Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions()
                                                           .setHeadless(false));
            BrowserContext context = browser.newContext();
            Page page = context.newPage();
            page.navigate("https://www.baidu.com/");
        }
    }
}

js代码:

const { chromium } = require('playwright');

(async () => {
  const browser = await chromium.launch({
    headless: false
  });
  const context = await browser.newContext();
  const page = await context.newPage();
  await page.goto('https://www.baidu.com/');

  // ---------------------
  await context.close();
  await browser.close();
})();

备注:我们使用playwright的时候,一般主要常用于自动化测试和爬虫,大部分时候还是会基于python语言来使用playwright的。

3 参数详解

通过使用python -m playwright codegen -h 查询录制功能的参数对应的功能

  • -o:保存路径,也可以写成--output-o D:\01 programming\xxx.py
  • --target:指定编程语言,--target python
  • -b:指定浏览器,-b chromium
  • --save-storage:保存登录状态,--save-storage=auth.json
  • --load-storage:加载登录状态,--load-storage=auth.json
  • --viewport-size:设置打开浏览器窗口大小,--viewport-size=1000,800
  • --device:使用设置视口大小和用户代理等选项模拟移动设备,需要双引号并区分大小写,--device="iPhone 15"
  • --color-scheme:模拟打开浏览器的配色,--color-scheme=dark
  • --geolocation:模拟地理位置,--geolocation="30.890221,120.492348"
  • --timezone:模拟时区,--timezone="Asia/Shanghai"
  • --lang:模拟语言,--lang="zh-CN"

🎉 欢迎我的关注公众号

在这里插入图片描述

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Playwright是一个功能强大的自动化测试框架,用于在不同的浏览器(如Chrome、Firefox和Safari)上执行自动化操作。它提供了一套简洁的API,使得编写和维护自动化测试变得更加容易。以下是一些Playwright自动化框架的特点和优势: 1. 多浏览器支持:Playwright支持多种主流浏览器,包括Chrome、Firefox、Safari和Edge。你可以使用相同的代码在不同的浏览器上运行你的自动化测试。 2. 跨平台支持:Playwright可以在多个操作系统上运行,包括Windows、Mac和Linux。这使得团队可以在不同的开发环境中共享和运行测试。 3. 强大的自动化功能:Playwright提供了丰富的API来处理各种自动化操作,如点击、填写表单、截图、模拟用户行为等。它还支持异步操作和等待页面加载等待条件。 4. 可靠性和稳定性:Playwright具有稳定性和可靠性,可以处理各种复杂的Web应用程序,并提供了一套可靠的错误处理机制。 5. 容易上手:Playwright的API设计简洁明了,易于理解和使用。它提供了详细的文档和示例代码,帮助你快速入门。 6. 社区支持:Playwright拥有一个活跃的开源社区,你可以从社区中获得支持、提问问题,并分享经验和最佳实践。 总之,Playwright是一个功能强大、跨浏览器和跨平台的自动化测试框架,可以帮助你构建可靠、稳定的自动化测试。无论是单元测试、集成测试还是端到端测试,Playwright都是一个优秀的选择。你可以通过官方文档和示例来学习更多关于Playwright的使用方法和技巧。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值