Python使用pytest-playwright的原因分析

 更新时间:2023年03月02日 14:25:39   作者:田辛 | 田豆芽  
pytest-playwright 是一个 Python 包,它允许您使用 Microsoft 的 Playwright 库在 Python 项目中进行端到端测试,这篇文章主要介绍了Python为什么使用pytest-playwright,需要的朋友可以参考下

pytest-playwright 是一个 Python 包,它允许您使用 Microsoft 的 Playwright 库在 Python 项目中进行端到端测试。

在这篇博客中,田辛老师将向您介绍 pytest-playwright,演示如何安装它,并举例说明如何在您的 Python 项目中使用它。

1 用playwright能不能不用这个包?

首先田辛老师强调,如果你不想使用 pytest-playwright,你仍然可以在你的 Python 项目中使用 Playwright。只不过需要一些额外的配置。 我们会在下次博客中介绍如何PyUnit+playwright。 下面的代码是一个单纯的playwright的例子

from playwright.sync_api import Playwright, sync_playwright_with_browsers

with sync_playwright_with_browsers() as playwright:
    browser = playwright.chromium.launch(headless=False)
    page = browser.new_page()
    page.goto('https://www.baidu.com')
    browser.close()

此代码使用 sync_playwright_with_browsers() 函数启动 Playwright 实例,启动 Chromium 浏览器,导航至 Google 主页,然后关闭浏览器。只不过Python不会识别它是一段自动化测试代码, 只是当成一段普通的Python程序去运行。

2 安装

安装方法其实田辛老师在前两天的文档里面提过,通过pip进行安装:
pip install pytest-playwright

3 代码和文档

田辛老师还是希望大家去看原始文档的,所以给出如下链接:

pytest-playwright 的官方 Github 存储库:
https://github.com/pytest-playwright/pytest-playwright 。
在这里您可以找到源代码、文档、问题跟踪器和与包相关的其他资源。

pytest-playwright 的官方文档托管在 Read the Docs:
https://pytest-playwright.readthedocs.io/en/latest/
该文档包括安装说明、使用示例、配置选项等。

4 示例代码

以下是如何使用 pytest-playwright 测试一个简单网站的示例:

import pytest  
from playwright.sync_api import Playwright, sync_playwright  
@pytest.fixture(scope='module')  
def playwright() -> Playwright:  
    with sync_playwright() as playwright:  
        yield playwright  
@pytest.fixture(scope='module')  
def browser(playwright: Playwright):  
    browser = playwright.chromium.launch(headless=False)  
    yield browser  
    browser.close()  
@pytest.fixture(scope='module')  
def page(browser):  
    page = browser.new_page()  
    yield page  
    page.close()  
def test_baidu_homepage(page):  
    page.goto('https://www.baidu.com')  
    assert page.title() == '百度一下,你就知道'

以上的代码使用, 创建一个 Playwright 实例,启动一个 Chromium 浏览器,并创建一个新页面。然后使用 test_baidu_homepage 方法使用 page fixture 导航到网站主页并检查页面标题。

要使用 pytest-playwright 运行此测试,请将代码保存到名为 test_baidu.py 的文件中,然后从命令行运行以下命令:

pytest test_google.py

另外这个代码中,田辛老师故意用到了yield的机制, 如果对yield不熟悉的同学可以尝试阅读之前田老师写的这篇文章:【Python】一篇文章读懂yield基本用法

5 结论

pytest-playwright 是一个强大且易于使用的工具,用于在 Python 中自动化浏览器测试。凭借其直观的语法、丰富的功能集和大量的文档,它是任何希望改进其测试工作流程的人的绝佳选择。田辛老师要提醒的是, playwright的使用不一定非使用pytest-playwright, 明天我们会来看看pyunit怎么使用playwright。 虽然麻烦一点,但是田辛老师想说,作为测试人员提升的一个重要逻辑就是:不要对任何技术产生路径依赖。

到此这篇关于Python使用pytest-playwright的原因分析的文章就介绍到这了,更多相关python使用pytest-playwright内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现批量下载文件

    Python实现批量下载文件

    之前给大家分享的python 多线程抓取网页,不过这个只能用python 来抓取到网页的源代码,如果你想用做python 下载文件的话,上面的可能就不适合你了,最近我在用python 做文件下载的时候就遇到这个问题了,不过最终得以解决,我把代码发出来
    2015-05-05
  • 对python中array.sum(axis=?)的用法介绍

    对python中array.sum(axis=?)的用法介绍

    今天小编就为大家分享一篇对python中array.sum(axis=?)的用法介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Python Pickle 实现在同一个文件中序列化多个对象

    Python Pickle 实现在同一个文件中序列化多个对象

    今天小编就为大家分享一篇Python Pickle 实现在同一个文件中序列化多个对象,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • django用户登录验证的完整示例代码

    django用户登录验证的完整示例代码

    这篇文章主要给大家介绍了关于django用户登录验证的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring django具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • python模拟新浪微博登陆功能(新浪微博爬虫)

    python模拟新浪微博登陆功能(新浪微博爬虫)

    使用Python编写一个模拟登陆的程序,利用这个原来可以设计自己的爬虫,大家参考使用吧
    2013-12-12
  • 讲解Python中if语句的嵌套用法

    讲解Python中if语句的嵌套用法

    这篇文章主要介绍了讲解Python中if语句的嵌套用法,是Python入门当中的基础知识,需要的朋友可以参考下
    2015-05-05
  • 详解python实现可视化的MD5、sha256哈希加密小工具

    详解python实现可视化的MD5、sha256哈希加密小工具

    这篇文章主要介绍了详解python实现可视化的MD5、sha256哈希加密小工具,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Python实现以主程序的形式执行模块

    Python实现以主程序的形式执行模块

    这篇文章主要介绍了Python实现以主程序的形式执行模块,首先创建一个以christmastree的命名的模块并定义一个全局变量创建一个名称为fun_christmastree()的函数展开详情,感兴趣的朋友可以参考一下
    2022-06-06
  • Python中提取人脸特征的三种方法详解

    Python中提取人脸特征的三种方法详解

    这篇文章主要和大家分享三个Python中提取人脸特征的方法,文中的示例代码讲解详细,对我们学习Python有一定的帮助,需要的可以参考一下
    2022-05-05
  • python 接口测试response返回数据对比的方法

    python 接口测试response返回数据对比的方法

    本篇文章主要介绍了python 接口测试response返回数据对比的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02

最新评论