playwright--pytest-playwright、pytest-base-url插件编写用例

本文介绍了如何使用pytest-playwright插件进行端到端测试,包括安装插件、编写测试用例、运行测试、利用内置fixture以及设置全局配置base_url来简化URL引用。该插件支持在多个浏览器环境中隔离测试,并且集成pytest框架,便于自动化测试。
摘要由CSDN通过智能技术生成


前言

官方的 pytest-playwright 插件可以编写端到端测试。它提供上下文隔离,开箱即用地在多个浏览器配置上运行。它继承了pytest框架,以及支持playwright的一些基础使用。

一、安装插件

pip install pytest-playwright

二、编写用例

安装这个插件后,无需再自定义fixture,直接使用内置的前置Page即可

from playwright.sync_api import Page, expect

def test_login_01(page: Page):
    page.goto("http://192.168.64.209:8008/#/login")

在这里插入图片描述
说明:直接在用例函数里声明一个Page,格式:def test_login_01(page: Page),即可跳转访问页面

三、运行用例

1、右键运行
在这里插入图片描述
2、命令行运行

指定运行某个py用例

pytest testcases\tedt_pyplay.py

运行全部用例

pytest

在这里插入图片描述

四、内置fixture

这些固定装置在测试功能中请求时创建,并在测试结束时销毁

Function scope:

context:用于测试的新浏览器上下文
page:用于测试的新浏览器页面

Session scope:
playwright:playwright实例
browser_type:当前浏览器的BrowserType实例
browser:Playwright 启动的浏览器实例
browser_name: 浏览器名称作为字符串
browser_channel: 浏览器通道作为字符串
is_chromium, is_webkit, is_firefox: 相应浏览器类型的布尔值

自定义fixture:
对于browser和context ,使用以下fixture来自定义启动选项

browser_type_launch_args:覆盖browser_type.launch()的启动参数,返回一个字典
browser_context_args:覆盖browser.new_context()的选项,返回一个字典

五、全局配置base_url

1、安装 pytest-base-url

pip install pytest-base-url

2、项目根目录新建pytest.ini文件
在这里插入图片描述
3、pytest.ini文件里配置base_url

[pytest]
base_url = http://192.168.41.20:4444

在这里插入图片描述
4、使用base_url的全局url

from playwright.sync_api import Page, expect

def test_login_01(page: Page,base_url):
    page.goto(base_url+"/#/login")

在这里插入图片描述

说明:配置后,可直接获取到base_url的,前提是先安装插件,然后在pytest.ini文件里配置,最后在用例里应用即可

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pytest-playwright是一个用于Python测试框架pytest插件,它结合了PytestPlaywright这两个工具。Playwright是一个由Google开发的开源库,提供了跨浏览器(Chrome, Firefox, WebKit)的自动化测试API。pytest-playwright则将Playwright的强大功能与pytest的断言和组织结构无缝集成,使得编写Web应用程序的端到端(E2E)测试变得更加容易和高效。 使用pytest-playwright夹具,你可以: 1. **快速启动浏览器**: 在测试套件中自动打开并配置浏览器实例,如`browser`, `context`, 或`page`,避免手动创建和管理。 2. **执行页面操作**: 如导航、填充表单、点击元素、检查元素状态等,可以直接在测试用例中进行。 3. **隔离和重用资源**: 可以创建复用的页面初始化设置,减少测试代码的重复。 4. **处理异步任务**: Playwright的强大之处在于它可以处理JavaScript的异步行为,包括等待页面加载完成或特定事件触发。 5. **跨浏览器一致性测试**: 由于Playwright支持多种浏览器,pytest-playwright方便地在不同浏览器间进行测试,确保兼容性。 相关问题: 1. pytest-playwright主要解决什么样的测试难题? 2. 它如何与pytest的fixture概念结合? 3. 我们可以在pytest-playwright中如何编写一个页面初始化的fixture? 4. 使用pytest-playwright如何处理复杂的异步测试场景? 5. 它是否支持持续集成/持续部署(CI/CD)环境?

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值