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

 更新时间:2023年05月17日 09:55:07   作者:晚风吹儿  
这篇文章主要介绍了python playwright--pytest-playwright、pytest-base-url插件编写用例,它提供上下文隔离,开箱即用地在多个浏览器配置上运行,它继承了pytest框架,以及支持playwright的一些基础使用,需要的朋友可以参考下

前言

官方的 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文件里配置,最后在用例里应用即可

到此这篇关于python playwright--pytest-playwright、pytest-base-url插件编写用例的文章就介绍到这了,更多相关pytest-playwright、pytest-base-url插件编写内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python计算素数个数的两种方法

    Python计算素数个数的两种方法

    本文主要介绍了Python计算素数个数的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Django1.7+python 2.78+pycharm配置mysql数据库

    Django1.7+python 2.78+pycharm配置mysql数据库

    这篇文章主要介绍了Django1.7+python 2.78+pycharm配置mysql数据库的相关资料,需要的朋友可以参考下
    2016-10-10
  • python在html中插入简单的代码并加上时间戳的方法

    python在html中插入简单的代码并加上时间戳的方法

    今天小编就为大家分享一篇python在html中插入简单的代码并加上时间戳的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • python快速安装OpenCV的步骤记录

    python快速安装OpenCV的步骤记录

    这篇文章主要给大家介绍了关于python快速安装OpenCV的相关资料,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • docker django无法访问redis容器的解决方法

    docker django无法访问redis容器的解决方法

    今天小编就为大家分享一篇docker django无法访问redis容器的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • python应用Axes3D绘图(批量梯度下降算法)

    python应用Axes3D绘图(批量梯度下降算法)

    这篇文章主要为大家详细介绍了python应用Axes3D绘图,批量梯度下降算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • PyQt5高级界面控件之QTableWidget的具体使用方法

    PyQt5高级界面控件之QTableWidget的具体使用方法

    这篇文章主要介绍了PyQt5高级界面控件之QTableWidget的具体使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 如何优雅地改进Django中的模板碎片缓存详解

    如何优雅地改进Django中的模板碎片缓存详解

    这篇文章主要给大家介绍了关于如何优雅地改进Django中的模板碎片缓存的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • python中调试或排错的五种方法示例

    python中调试或排错的五种方法示例

    这篇文章主要给大家介绍了关于python中调试或排错的五种方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • Django事务transaction的使用以及多个装饰器问题

    Django事务transaction的使用以及多个装饰器问题

    这篇文章主要介绍了Django事务transaction的使用以及多个装饰器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08

最新评论