pytest单元测试框架
文章平均质量分 86
liuchunming033
关注软件的自动化测试与持续集成,平时的主要工作包括接口测试、性能测试、APP测试、WEB测试、测试平台开发等。可以关注我的个人公众号《明说软件测试》接收最新文章
展开
-
在接口自动化测试中,如何利用Pytest + JSONPath 进行接口响应断言
之前有一篇文章,介绍了如何使用JSONSchema对接口响应进行断言,主要的适用场景是对响应的数据结构进行校验,保证客户端收到的数据结构稳定和合法。今天,介绍使用JSONPath对接口响应的值进行断言方法。上一篇文章《在接口自动化测试中,如何利用Pytest + JSON Schema 进行接口响应断言》中,介绍了JSON Schema校验接口响应的数据结构的方法。在实际的测试工作中,很多时候是需要对接口的响应数值进行校验的。这时候就不能利用JSON Schema进行校验了,需要借助JSONPath表.原创 2020-05-22 08:57:12 · 6141 阅读 · 0 评论 -
在接口自动化测试中,如何利用Pytest + JSON Schema 进行接口响应断言
蔚来汽车数字座舱,通过服务端TSP系统集成了很多供应商的系统,比如天气、音乐、视频等娱乐系统。数字座舱调用TSP封装的供应商接口实现对天气的查询,音乐和视频的播放。TSP与供应商之间要共同遵守一个契约,保证提供给数字座舱的数据结构的稳定。TSP对供应商系统的Response透传给数字座舱,因此在进行TSP系统接口测试的过程中,一个重要的检查点,就是保证提供给数字座舱的数据结构的稳定性,例如返回字段要完整、字段数据类型要符合约定,避免因供应商的改动,返回不符合约定的Response给数字座舱导致数字座舱.原创 2020-05-18 08:47:20 · 3431 阅读 · 0 评论 -
自动化测试中如何判断测试是否通过?详解Pytest测试框架的断言用法
软件测试的主要工作目标是验证实际结果与预期结果是一致的,在自动化软件测试中,通过断言来实现这一目的。Pytest中断言是通过Python原生的assert语句实现的,对Python原生的assert语句进行了优化,当发生断言失败时,错误信息更加丰富,方便测试时快速定位问题原因。正文字数5195不管是做API测试、Web测试还是APP测试中,测试用例是否执行成功,都是通过比较实际结果与预期结果是否一致来判断的。当预期结果与实际结果一致,则表示测试用例执行通过,当预期结果与实际结果不一致,则表示测试用例.原创 2020-05-11 08:11:58 · 8519 阅读 · 3 评论 -
基于Pytest框架的自动化测试开发实践(万字长文入门篇)
Pytest是Python的一种易用、高效和灵活的单元测试框架,可以支持单元测试和功能测试。本文不以介绍Pytest工具本身为目的,而是以一个实际的API测试项目为例,将Pytest的功能应用到实际的测试工程实践中,教大家将Pytest用起来。在开始本文之前,我想跟大家澄清两个概念,一个是测试框架一个是测试工具。很多人容易把他们搞混了,测试框架是诸如Unittest、Pytest、TestN...原创 2020-05-06 11:10:35 · 35498 阅读 · 35 评论 -
【Python学习笔记】Flaky插件自动运行失败的测试
【注意】flaky和pytest-rerunfailures好像不能同时安装。否则flaky不好使。测试过程中,你是否遇到过这样的情况:1、大部分时间里测试都是通过的,只是偶尔会失败2、测试偶尔失败的原因是,你的测试中使用了不是很稳定的第三方模块,你没有办法去提高第三方模块的稳定性3、测试失败之后,往往重新执行测试,测试就能通过。如果你使用的是nose或者py.test编写和执...原创 2015-05-22 14:09:28 · 3691 阅读 · 0 评论 -
用Pytest+Allure生成漂亮的HTML图形化测试报告
对于软件测试来说,测试报告是非常重要的工作产出。一个漂亮、清晰、格式规范的测试报告,能够减少开发人员和测试人员的沟通成本。本篇文章将介绍如何使用开源的测试报告生成框架Allure生成规范、格式统一、美观的测试报告。 通过这篇文章的介绍,你将能够: - 将Allure与Pytest测试框架相结合; - 执行测试之后,生成Allure格式的测试报告。1、Allure测...原创 2018-03-20 20:23:14 · 61511 阅读 · 16 评论 -
通过Hook函数使Py.test支持含有中文的测试用例名称(nodeid)和测试报告
有时候我们做自动化测试时候,希望测试用例的名字是中文,方便查看。但是pytest现在的版本并不支持中文的测试用例名称显示。我们想办法修改源代码实现遇到的问题如果测试用例的参数中有中文,你看到的pytest的测试结果将是这样的:test/ximalaya/album/test_category_list.py::TestCategoryList::test_category_list[[s...原创 2018-12-20 16:51:59 · 2339 阅读 · 1 评论 -
Python单元测试框架Pytest——如何生成测试报告
本文讲述pytest如何生成测试报告。首先准备一段测试代码:import py.testclass TestCase(object): def test_eq_set(self): assert set([0, 10, 11, 12]) == set([0, 20, 21]) def test_eq_dict(self): asser原创 2015-08-31 18:34:21 · 11855 阅读 · 1 评论 -
【Pytest】fixture函数介绍(重点)
与python自带的unitest测试框架中的setup、teardown类似,pytest提供了fixture函数用以在测试执行前和执行后进行必要的准备和清理工作。但是fixture函数对setup和teardown进行了很大的改进。fixture函数可以使用在测试函数中,测试类中,测试文件中以及整个测试工程中。fixture支持模块化,fixture可以相互嵌套fixture支持参原创 2015-06-15 19:03:15 · 9353 阅读 · 2 评论 -
【Pytest】pytest的基本设置
我们可以通过执行下面的命令来得到pytest的使用方法,该命令将显示pytest支持的命令行选项和参数,以及所有安装的插件的使用方法:py.test -h1、更改命令行选项通常,我们执行某些测试的时候,需要带上一些选项。例如:py.test -rsxX -q如果每次执行测试,都写这么一长串选项,就显得太麻烦了。这是我们可以将这些命令行选项写到一个配置文件中:# co原创 2015-06-15 18:21:34 · 14160 阅读 · 3 评论 -
【Pytest】pytest断言
断言是判断实际结果与预期结果的重要方法。pytest除了支持正常情况的断言,还支持异常断言。1、正常断言正常的断言在上一篇博客中已经有所体现,pytest使用最基本的python中的assert语句进行断言,下面我们再举一个例子:# content of test_assert1.pydef f(): return 3def test_function(): ass原创 2015-06-15 16:46:54 · 10273 阅读 · 1 评论 -
【Pytest】python单元测试框架pytest简介
1、Pytest介绍pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。根据pytest的官方网站介绍,它具有如下特点:非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考能够支持简单的单元测试和复杂的功能测试支持参数化执行测试过程中可以将某些测试跳过,或者对某些预期失败的case原创 2015-06-15 11:41:16 · 89346 阅读 · 9 评论