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

文章目录

  • 前言
  • 一、安装插件
  • 二、编写用例
  • 三、运行用例
  • 四、内置fixture
  • 五、全局配置base_url


前言

官方的 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")

playwright--pytest-playwright、pytest-base-url插件编写用例_第1张图片
说明:直接在用例函数里声明一个Page,格式:def test_login_01(page: Page),即可跳转访问页面

三、运行用例

1、右键运行
playwright--pytest-playwright、pytest-base-url插件编写用例_第2张图片
2、命令行运行

指定运行某个py用例

pytest testcases\tedt_pyplay.py

运行全部用例

pytest

playwright--pytest-playwright、pytest-base-url插件编写用例_第3张图片

四、内置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文件
playwright--pytest-playwright、pytest-base-url插件编写用例_第4张图片
3、pytest.ini文件里配置base_url

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

playwright--pytest-playwright、pytest-base-url插件编写用例_第5张图片
4、使用base_url的全局url

from playwright.sync_api import Page, expect

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

playwright--pytest-playwright、pytest-base-url插件编写用例_第6张图片

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

你可能感兴趣的:(playwright,pytest,python,开发语言)