如何使用python+playwright实现自动化测试

步骤如下:

1. 安装Playwright for Python

首先,确保Python环境已经安装在你的机器上。然后,在命令行中安装Playwright库:

pip install playwright

安装完成后,还需要安装浏览器驱动:

python -m playwright install

2. 创建Playwright脚本

下面是一个使用Python和Playwright实现的简单自动化测试脚本:

from playwright.sync_api import sync_playwright

def run_test():
    with sync_playwright() as p:
        # 启动浏览器
        browser = p.chromium.launch(headless=False)  # 设置headless=False可以在测试时看到浏览器界面
        # 创建一个浏览器上下文
        context = browser.new_context()
        # 创建一个新页面
        page = context.new_page()
        # 访问一个网页
        page.goto('https://example.com')
        # 获取页面标题并断言
        assert page.title() == 'Example Domain'
        # 截图保存
        page.screenshot(path='example.png')
        # 关闭浏览器
        browser.close()

run_test()

3. 编写测试用例

你可以使用更复杂的断言和操作来编写测试用例,例如:

  • 点击元素
  • 填写表单
  • 模拟用户操作
  • 获取元素文本
  • 等待元素出现等

以下是一个包含更多操作的示例:

from playwright.sync_api import sync_playwright

def run_test():
    with sync_playwright() as p:
        browser = p.chromium.launch(headless=False)
        context = browser.new_context()
        page = context.new_page()
        page.goto('https://example.com')

        # 模拟点击操作
        page.click('text="More information..."')

        # 模拟填写表单
        page.fill('input[name="q"]', 'Playwright')

        # 模拟提交表单
        page.press('input[name="q"]', 'Enter')

        # 等待某个元素出现
        page.wait_for_selector('text="Playwright"')

        # 获取元素文本
        text = page.text_content('h1')
        assert "Playwright" in text

        # 截图
        page.screenshot(path='search_result.png')

        browser.close()

run_test()

4. 运行测试脚本

保存脚本后,在命令行中运行脚本:

python test_script.py

5. 异步使用Playwright

如果你想要使用异步版本的Playwright,可以使用以下方式:

import asyncio
from playwright.async_api import async_playwright

async def run_test():
    async with async_playwright() as p:
        browser = await p.chromium.launch(headless=False)
        context = await browser.new_context()
        page = await context.new_page()
        await page.goto('https://example.com')
        # ... 其他操作
        await browser.close()

asyncio.run(run_test())

这样,就使用Python和Playwright设置了一个基本的自动化测试环境。可以根据实际需求添加更多的测试用例和功能。

你可能感兴趣的:(如何使用python+playwright实现自动化测试)