Python使用pytest-playwright的原因分析

目录
  • 1 用playwright能不能不用这个包?
  • 2 安装
  • 3 代码和文档
  • 4 示例代码
  • 5 结论

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内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python中playwright结合pytest执行用例的实现

    目录 安装pytest插件 编写测试用例 忽略 HTTPS 错误和设置自定义视口大小 持久上下文 playwright结合Pytest为您的 Web 应用程序编写端到端的测试. 安装pytest插件 C:\Users\lifeng01>pip install pytest-playwright Collecting pytest-playwright Using cached pytest_playwright-0.2.2-py3-none-any.whl (9.8 kB) Requiremen

  • Python使用pytest-playwright的原因分析

    目录 1 用playwright能不能不用这个包? 2 安装 3 代码和文档 4 示例代码 5 结论 pytest-playwright 是一个 Python 包,它允许您使用 Microsoft 的 Playwright 库在 Python 项目中进行端到端测试. 在这篇博客中,田辛老师将向您介绍 pytest-playwright,演示如何安装它,并举例说明如何在您的 Python 项目中使用它. 1 用playwright能不能不用这个包? 首先田辛老师强调,如果你不想使用 pytest-

  • python的exec、eval使用分析

    简介 python 动态执行字符串代码片段(也可以是文件), 一般会用到exec,eval. exec exec_stmt ::= "exec" or_expr ["in" expression ["," expression]] 注意:exec 是一个语法声明,不是一个函数.也就是说和if,for一样. 官方文档对于exec的解释 This statement supports dynamic execution of Python code.

  • 5个很好的Python面试题问题答案及分析

    本文的主要内容是向大家分享几个Python面试中的T题目,同时给出了答案并对其进行分析,具体如下. 本文的原文是5 Great Python Interview Questions,同时谢谢 @非乌龟 指出我的疏漏,没有来源标记,也赞其细心,希望看文章的同时大家都能看下原文,因为每个人的理解不一致,原汁原味的最有帮助,我翻译很多文章的目的一是为了自己以后找资料方便:二是作为一个索引,以后再看原文的时候,能更加快捷.其目的还是希望大家能看原文的. 问题一:以下的代码的输出将是什么? 说出你的答案并

  • Python内置函数reversed()用法分析

    本文实例讲述了Python内置函数reversed()用法.分享给大家供大家参考,具体如下: reversed()函数是返回序列seq的反向访问的迭代器.参数可以是列表,元组,字符串,不改变原对象. 1>参数是列表 >>> l=[1,2,3,4,5] >>> ll=reversed(l) >>> l [1, 2, 3, 4, 5] >>> ll <listreverseiterator object at 0x06A9E9

  • Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】

    本文实例讲述了Python实现购物评论文本情感分析操作.分享给大家供大家参考,具体如下: 昨晚上发现了snownlp这个库,很开心.先说说我开心的原因.我本科毕业设计做的是文本挖掘,用R语言做的,发现R语言对文本处理特别不友好,没有很多强大的库,特别是针对中文文本的,加上那时候还没有学机器学习算法.所以很头疼,后来不得已用了一个可视化的软件RostCM,但是一般可视化软件最大的缺点是无法调参,很死板,准确率并不高.现在研一,机器学习算法学完以后,又想起来要继续学习文本挖掘了.所以前半个月开始了用

  • pandas读取csv文件提示不存在的解决方法及原因分析

    一般情况是数据文件没有在当前路径,那么它是无法读取数据的.另外,如果路径名包含中文它也是无法读取的. (1)可以选择: import os os.getcwd() 获得当前的工作路径,把你的数据文件放在此路径上就可以了,就可以直接使用pd.read_csv("./_.csv") (2)可以选择: 使用os.chdir(path),path是你的那个数据文件路径 (3)可以选择: 不更改路径,直接调用df=pd.read_csv(U"文件存储的盘(如C盘) :/文件夹/文件名.

  • 微软开源最强Python自动化神器Playwright(不用写一行代码)

    相信玩过爬虫的朋友都知道selenium,一个自动化测试的神器工具.写个Python自动化脚本解放双手基本上是常规的操作了,爬虫爬不了的,就用自动化测试凑一凑. 虽然selenium有完备的文档,但也需要一定的学习成本,对于一个纯小白来讲还是有些门槛的. 最近,微软开源了一个项目叫「playwright-python」,简直碉堡了!这个项目是针对Python语言的纯自动化工具,连代码都不用写,就能实现自动化功能. 可能你会觉得有点不可思议,但它就是这么厉害.下面我们一起看下这个神器. 1. Pl

  • python中Pytest常用的插件

    目录 前言 1. 用例依赖 2. 失败重跑 3. 指定用例执行顺序 4. 分布式运行 5. 多重断言 6. 小结 前言 除了框架本身提供的功能外,Pytest还支持上百种第三方插件,良好的扩展性可以更好的满足大家在用例设计时的不同需求.本文将为大家详细介绍下面5项常用的插件. 1. 用例依赖 编写用例的时候,我们会注意用例之间的独立性,但部分用例之间确实存在关联,无法做到彻底独立,那么我们就可以通过使用插件pytest-dependency设置用例之间的依赖关系.当用例A依赖于用例B时,若用例B

  • 后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法

    1.问题: 后端接收不到AngularJs中$http.post发送的数据,总是显示为null 示例代码: $http.post(/admin/KeyValue/GetListByPage, { pageindex: 1, pagesize: 8 }) .success(function(){ alert("Mr靖"); }); 代码没有错,但是在后台却接收不到数据,这是为什么呢? 用火狐监控:参数是JSON格式 用谷歌监控:传参方式是request payload 可以发现传参方式是

  • SQL Server ltrim(rtrim()) 去不掉空格的原因分析

    原因:中间存在回车符或者换行符,所以要先将此符号替换掉: LTRIM(RTRIM(REPLACE(REPLACE( A,char(13),''),char(10),'') )) LTRIM(A) ---去换左边空格 RTRIM(A) ---去换右边空格 REPLACE( A,char(13),'')----将回车符替换为'' REPLACE( A,char(13),'')----将换行符替换为'' 总结 以上所述是小编给大家介绍的SQL Server ltrim(rtrim()) 去不掉空格的原

随机推荐