自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 资源 (3)
  • 收藏
  • 关注

原创 使用BeautifulSoup 4和Pillow合并网页图片到一个PDF:一种高效的方式来处理网页图像

2、将文件名中编号规整,保持3位数字。名称为“幻灯片2.JPG”的会显示在“幻灯片11.JPG”的后面,需要将“幻灯片2.JPG’和”幻灯片11.JPG“规整为"幻灯片002.JPG"和”幻灯片011.JPG“)(本处实现,发现下载图片文件名为src下文件名,但alt属性中文件名更便于理解和排序)运行merge_img2pdf.py文件,将tmp目录下所有图片合并成一个pdf文件。运行read_html.py文件,标准化tmp目录下图片文件名。通过分析页面图片,所有有效图片都是后缀为JPG格式的图片。

2023-12-11 14:07:43 340

原创 30、pytest入门内容回顾

讲解了pytest的概述,安装前的准备工作(python,pycharm,pytest),运行方式(命令行),断言(assert),测试用例组织方式(推荐使用类方式组织)调用fixture及使用fixture,pytest最强大的功能;生成友好的测试报告allure。​ 汇总了常用的pytest技能点,欢迎留言及提问,后续会继续补充pytest相关内容。基于以上开始及入门技能点,结合实际测试工作中用到的功能,获取鉴权、命令行选择测试内容。升华,推荐自动化测试项目结构,优雅的编写测试用例并方便的进行维护。

2023-12-05 15:40:20 572

原创 29、pytest自动化测试项目结构

一个好的项目结构可以提高测试效率和代码可读性,方便测试人员进行管理和维护。运行用例时,可以直接在项目根目录下运行。

2023-12-05 15:20:10 231

原创 28、pytest实战:获取多用户鉴权

用例文件夹下的conftest.py中实现获取token的fixture,测试用例中直接获取该fixture,并根据用户名称来使用。fixtrue设置作用域为包级,只能包内测试用例执行结束后,才会销毁,可以保证一次测试,只请求了一次token。测试过程中有用户体系,例如包括管理员、商家、用户角色,不同测试用例需要使用不同角色来操作,操作权限根据用户的鉴权来判断实现。__init__.py全是空文件,无内容。

2023-12-05 14:53:04 392

原创 27、pytest实战:一套用例同时验证生产、测试两个环境

利用mark标志可用于筛选哪些用例在测试环境运行,哪些在生产环境运行;利用python获取命令行功能判断出是希望在测试执行还是生产执行,更新变量状态;全局变量保存两套环境配置信息,根据命令行参数进行筛选。执行测试环境用例并打印输出。执行生产环境用例并打印输出。

2023-12-05 11:17:58 309

原创 26、pytest使用allure解读

1、allure是定义分类层级,由大到小依次为“epic”(迭代)、“feature”(需求),“story”(场景),“title”(功能点),可以根据实际项目使用全部或部分。2、每个测试用例中增加step描述,展示执行步骤的含义,既可以向项目干系人体现测试思路,又可以在测试出问题后清晰向他人描述问题。

2023-12-05 10:36:23 502

原创 25、pytest的测试报告插件allure

在这里,你将找到使用allure创建、定制和理解测试报告所需的一切。开始让你的测试沟通更清晰,更有影响力。Allure Report是一个实用程序,它处理由兼容的测试框架收集的测试结果并生成HTML报告。

2023-12-05 10:03:03 387

原创 24、pytest通过xfail将测试函数标记为预期失败

测试将运行,但失败时不会报告回溯。相反,终端报告将会在“预期失败(XFAIL)或”意外通过“(XPASS)部分中列出来,或者,你也可以在测试或其它setup函数中强制将测试标记为XFAIL。使用reason参数,标记失败原因。查看测试报告时将更直观。你可以使用xfail标记来表示你希望测试失败。

2023-12-05 09:20:51 286

原创 23、pytest通过skip跳过测试用例

常见的例子是跳过非windows平台上的仅窗口测试,或者跳过依赖于当前不可用的外部资源(例如数据库)的测试。对于较大的测试套件,一个好主意是使用一个文件来定义标记,然后在整个测试套件中始终应用这些标记。你可以标记无法在某些平台上运行的测试函数或你预计会失败的测试函数,以便pytest可以相应地处理它们并显示测试会话的摘要,同时保持测试套件的绿色。保持测试报告绿色,合理的将失败用例用skip和xfail标记出来,也是一种与产品、研发之间好的沟通方式。

2023-12-05 09:19:26 223

原创 22、pytest多个参数化的组合

由pytest自由构造多组参数的笛卡尔积组合时,可以使用这种方式。但使用时要注意避免参数爆炸,太多或穷尽的参数可以会减慢pytest的执行。这将运行测试,将参数设置为x=0/y=2,x=1/y=2,x=0/y=3和x=1/y=3,按照装饰器的顺序耗尽参数。要获得多个参数化参数的所有组合,你可以堆叠参数化装饰器。

2023-12-05 09:17:54 331

原创 21、pytest参数化中标记单独的测试用例

测试过程中,对已提Bug的问题单可使用这种方式标记,并最终体现在测试报告中。可以在参数化标记单独的测试实例,例如使用内置的mark.xfail。先前导致失败的一个参数集现在显示为xfailed(预计会失败)测试。

2023-12-05 09:16:46 91

原创 20、pytest中的参数化

测试函数相同,只是传入参数不同,就可以用这种方法扩展测试用例。特别是针对列表的搜索功能,同一个搜索函数,但是存在多个搜索项。内置的pytest.mark.parametrize装饰器允许对测试函数的参数进行参数化。请注意,你也可以在类或模块上使用参数化标记,类中的函数将调用带有参数集内容。要将模块中的所有测试参数化,可以将其赋值给pytestmark全局变量。

2023-12-05 09:15:28 298

原创 19、pytest通过mark标记测试函数

对测试类型进行分类,使用自定义marks很方便,由于测试环境、生产环境能执行的用例不同,只需要将用例增加prod、test、或同时增加prod和test,就可以通过marks来决定执行哪些用例。创建自定义标记或将标记应用于整个测试类或模块都非常容易。这些标记可以被插件使用,也通过用于使用-m选项在命令行上选择测试。通过使用pytest.mark帮助器,你可以轻松地在测试函数上设置元数据。你可以在API参考中找到内置标记的完整列表。

2023-12-05 09:13:56 399

原创 18、pytest中fixture的作用域

需要网络访问的fixture取决于连接性,并且创建起来通常非常耗时。我们可以向@pytest装饰器中添加一个scope="module"参数,这将导致smtp_connection fixture函数在每个测试模块中只调用一次。因此,测试模块中的多个测试函数将各自接收相同的smtp_connection fixture实例,从而节省时间。根据变量希望的生命周期来选择fixture的scope;必要的时候把全局fixture写入项目根目录下conftest.py文件中。

2023-12-05 09:12:50 401

原创 17、pytest自动使用fixture

有时,你可能希望拥有一个(甚至几个)你知道所有测试都将依赖的fixture,autouse fixture是一种方便的方法,可以使所有测试自动请求它位。这可以减少大量冗余请求,甚至可以提供更高级的fixture使用。在这个例子中,append_first fixture是一个自定义fixture,因为它是自动请求的,所有两个测试都受到它的影响,即使两个测试都没有请求它。我们可以通过向fixture的装饰器传递autouse=True来使fixture成为autouse fixture。

2023-12-05 09:11:32 342

原创 16、fixture的其它使用特点

一个fixture或测试函数可以一次请求多个fixture,不同fixture用于实现不同功能,例如,一个fixture用于获取token,其它fixture用于获取搜索项,两个fixture共同为测试一个搜索功能提供测试前提数据;如果在测试期间,每请求fixture就执行一次,这个测试会失败,因为append_first和test_string_only将order作为一个空列表,但是order缓存了其返回值,append_first和test_string_only都引用了同一个对象。

2023-12-05 09:05:46 25

原创 15、pytest的fixture调用fixture

fixture可以调用其它fixture;在登录类应用时比较方便,创建一个获取token的fixture,其它测试函数重复使用这个fixture,获取鉴权。pytest的fixture系统如此强大的原因之一是,它使我们能够定义一个可以反复重用的通用步骤,就像使用普通函数一样。两个不同的测试可以请求相同的fixture,并让pytest从该fixture为每个测试提供各自的结果。我们可以使用这个系统来确保每个测试都获得自己的新一批数据,并且从一个干净的状态开始,这样它就可以提供一致的、可重复的结果。

2023-12-04 17:38:10 504

原创 14、pytest像用参数一样使用fixture

当pytest运行测试时,它会查看该测试函数中的参数,然后搜索与这些参数名称相同的fixture。一旦pytest找到它们,它就运行这些fixture,捕获它们返回的内容,并将这些对象作为参数传递给测试函数。fixture是pytest最强大的功能之一,随着深入接触,会发现fixture的便捷之处。在基本级别上,测试函数通过将它们声明为参数来请求它们所需的fixture。

2023-12-04 17:17:38 330

原创 13、pytest为失败的断言定义自己的解释

假如没有自定义解释,则返回None,否则返回字符串列表。字符串将由换行符连接,但字符串中的任何换行符都将被输入。除了第一行之外的所有内容都将略微缩进,目的是让第一行作为摘要。可以通过实现pytest_assertrepr_compare钩子来添加自己的详细解释。通过实现钩子函数,可以自定义展示详细解释。比assert后的描述信息更灵活。返回失败断言表达式中比较的解释。

2023-12-04 17:05:29 264

原创 12、pytest上下文友好的输出

对pytest友好输出的详细展示。方便在回溯中查看异常详情。pytest对一些情况进行了特殊比较。

2023-12-04 16:54:25 297

原创 11、pytest断言预期异常

使用pytest.raises()在测试自己的代码有意引发的异常的情况下会更好;带有检查函数的@pytest.mark.xfail更适合记录未修复的Bug或依赖项中的Bug。

2023-12-04 16:43:09 393

原创 10、pytest通过assert进行断言

pytest允许你使用标准python断言来验证测试中的期望和值,断言函数返回某个值,如果这个断言失败,你将看到函数调用的返回值。pytest支持显示最常见的子表达式的值,包括调用、属性、比较、二进制和一元操作符。这允许你使用自己习惯的python结果,同时在回溯中展示对应信息。测试全过程:准备测试数据,发出请求,比对结果与期望值,清空测试数据。第三步中可以使用assert,进行常用数值、字符串、日期等的比对及校验;如果在断言中指定消息,回溯中,指定消息会被打印出来。

2023-12-04 16:26:55 182

原创 09、pytest多种调用方式

【代码】09、pytest多种调用方式.md。

2023-12-04 16:13:36 256

原创 08、分析测试执行时间及获取pytest帮助

以上两种场景,都可以通过pytest -h 帮助,要查询或了解。

2023-12-04 15:59:44 294

原创 07、pytest指定要运行哪些用例

以上场景,都可以通过指定要运行哪些用例来完成。

2023-12-04 15:46:06 218

原创 06、pytest将多个测试放在一个类中

在类中对测试进行分组时需要注意的是,每个测试都有一个唯一的类实例。让每个测试共享相同的类实例将非常不利于测试隔离,并会造成糟糕的测试实践。​ 程序开发过程由面向函数、面向对象,测试用例也可以通过面向对象进行设计,更好的感受pytest带来的便利。​ 一旦开发了多个测试,你可能希望将它们分组到一个类中。pytest可以很容易地创建一个包含多个测试的类。​ 确保为类添加Test前缀,否则将跳过该类。

2023-12-04 15:22:30 304

原创 05、pytest断言确定的异常

​ 标准python raise函数可产生异常。pytest.raises可以断言某个异常会发现。异常发生了,用例执行成功;异常未发生,用例执行失败。​ 测试用例包括正向用例与反向用例,反向用例就是验证各种异常场景,假如异常场景预期就会产生异常,就可以使用pytest.raises来验证它。

2023-12-04 15:20:47 235

原创 04、pytest运行多个测试用例

​ 项目测试中,一个项目编写一个测试目录,每个大模块编写一个test_.py文件,每个模块中每条测试用例编写一个test_函数,每次回归时,在测试目录下执行pytest,并查看运行效果。​ pytest将运行当前目录及其子目录中所有形式为test_*.py或*_test.py的文件。更一般地说,它遵循标准的测试发现规则。

2023-12-04 14:57:47 602

原创 03、pytest初体验

首次体验pytest功能。

2023-12-04 14:43:51 584

原创 02、pytest环境准备

pytest环境准备。

2023-12-04 14:25:05 616

原创 01、pytest:帮助你编写更好的程序

​pytest框架可以很容易地编写小型、可读的测试,并且可以扩展以支持应用程序和库的复杂功能测试。使用pytest至少需要安装Python3.7+或PyPy3。PyPI包名称为pytest。

2023-12-04 14:09:44 336

原创 Docker+Jmeter+InfluxDB+Grafana优化压测报告

3.2、配置“后端监听器”,1、influxdbUrl要替换为Docker地址,db要使用influxdb数据库名,application要设置为order(后面步骤配置grafana中将要使用)登录http://<Docker中URL>:3000/login,登录grafana网页,用户名:admin,密码:admin。在线获取:docker pull grafana/grafana。本地安装:docker load < grafana.tar。2、安装并配置influxDB。4、安装grafana。

2023-11-27 14:15:14 253

原创 最长非递减子序列,Python实现

【代码】最长非递减子序列,Python实现。

2023-11-07 15:03:21 182

原创 哈夫曼编码与解码,基于Python实现

【代码】哈夫曼编码与解码,基于Python实现。

2023-11-06 14:52:06 403

原创 MeterSphere(基于JMeter)常用断言汇总

【代码】MeterSphere(基于JMeter)常用断言汇总。

2023-06-28 15:48:07 1131 1

原创 CentOS 7 安装Python3

CentOS 7 安装python1、前置条件1.1、安装xz(用于解压下载下来的python安装包) yum -y install gcc automake autoconf libtool make # 安装xz依赖项 wget https://tukaani.org/xz/xz-5.2.5.tar.gz # 下载xz软件包 tar -xvf xz-5.2.5.tar.gz cd xz-5.2.5 mkdir /opt/xz ./configure --prefix=

2021-04-25 19:03:56 150

原创 Git忽略子目录中所有.pyc后缀的文件

在.gitignore文件中增加**/*.pyc即可

2021-04-23 09:22:34 2821 1

原创 CentOS进入root权限

su root

2021-04-21 17:03:41 8877

转载 CentOS7下安装MySQL

转载地址:方便查看。http://istester.com/linux/258.html

2021-04-21 17:01:51 87

原创 Win10 查看wifi网络密码

cmd命令行方式netsh wlan show profiles # 获取所有用户配置文件netsh wlan show profile name="wifi名称" key=clear # 查看对应wifi的密码信息win10页面操作方式1、控制面板2、网络和共享中心3、更改适配器设置4、右键Wlan,选择状态5、点击“无线属性”6、选中“安全”...

2021-04-16 18:10:20 323

EasyARM1138使用无线模块进行寄存器的读取实验

这是修改的别人的一个程序,可能对初学SPI的同学会有帮助

2010-05-09

VC6.0访问Excel2003的完整程序

本工程的背景是帮一个同学做的计算学分的程序, 在中间使用了Excel2003,有需要的人可以借用看一下,互相学习一下。

2009-11-22

温度传感器18B20资料

温度传感器18B20资料的时序说明,转载自他人。

2009-09-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除