playwright自动化框架测试脚本
时间: 2025-06-23 15:53:28 浏览: 22
### 使用Playwright自动化框架编写测试脚本示例
以下是一个使用Python和Playwright自动化框架编写的测试脚本示例,该脚本展示了如何访问一个网页、执行交互操作并进行断言验证:
```python
from playwright.sync_api import sync_playwright
def test_example_page():
with sync_playwright() as p:
# 启动浏览器实例
browser = p.chromium.launch(headless=False) # 设置headless=False以查看浏览器界面[^1]
# 创建一个新的浏览器上下文
context = browser.new_context()
# 打开新页面
page = context.new_page()
# 导航到目标URL
page.goto('https://example.com')
# 获取页面标题并进行断言
assert page.title() == 'Example Domain' # 验证页面标题是否符合预期
# 捕获屏幕截图并保存为文件
page.screenshot(path='example_screenshot.png') # 截图保存功能
# 关闭浏览器实例
browser.close()
```
#### 测试脚本的关键点说明
- **启动浏览器**:通过`p.chromium.launch()`方法启动一个浏览器实例。可以将`headless`参数设置为`False`以便在运行时查看浏览器界面。
- **创建上下文与页面**:使用`browser.new_context()`创建一个浏览器上下文,并通过`context.new_page()`打开新页面[^1]。
- **导航与断言**:使用`page.goto()`方法导航到指定的URL,并通过`assert`语句验证页面内容是否符合预期[^1]。
- **截图保存**:通过`page.screenshot()`方法捕获当前页面的屏幕截图并保存到指定路径[^1]。
此外,Playwright还支持与多种测试框架集成,例如`pytest`或`Jest`,从而构建更高效的自动化测试流程[^2]。
### Playwright与其他测试框架的集成
为了进一步提升测试效率,可以将Playwright与`pytest`结合使用。以下是一个基于`pytest`的简单测试脚本示例:
```python
import pytest
from playwright.sync_api import sync_playwright
@pytest.fixture(scope="module")
def browser():
with sync_playwright() as p:
browser = p.chromium.launch(headless=False)
yield browser
browser.close()
def test_example_with_pytest(browser):
context = browser.new_context()
page = context.new_page()
page.goto('https://example.com')
assert page.title() == 'Example Domain'
page.screenshot(path='pytest_example_screenshot.png')
context.close()
```
此示例中,`pytest`的fixture机制用于管理浏览器实例的生命周期,确保每个测试用例都能在独立的环境中运行。
阅读全文
相关推荐



















