草庐IT

pytest-fixture

全部标签

Pytest初识

一、单元测试框架简介1.什么是单元测试单元测试是指在软件开发过程中,针对软件的最小单位(函数,方法)进行正确性的检查测试。2.常用单元测试框架2.1Java类别junittestng2.2Python类别unittestpytest3.单元测试框架主要作用测试发现:从多个文件中找到测试用例测试执行:按照一定的顺序和规则去执行用例,并生成结果测试判断:通过断言判断预期结果和实际结果的差异测试报告:统计测试进度、耗时、通过率,生成测试报告二、自动化测试框架简介1.什么是自动化测试框架自动化测试框架是指为了完成一个指定的系统的自动化测试而封装的一整套的完成的代码。主要封装了自动化的基础模块、管理模块

pytest+allure使用动态级别,参数化severity

allure可以定义用例级别:@allure.severity("critical")等级一共分为5个:blocker:阻塞缺陷(功能未实现,无法下一步)critical:严重缺陷(功能点缺失)normal:一般缺陷(边界情况,格式错误)minor:次要缺陷(界面错误与ui需求不符)trivial:轻微缺陷(必须项无提示,或者提示不规范)目前我想实现每条用例参数的级别定义,而不是某个接口方法的级别,具体实现如下方式一:通过在方法函数前声明,当此方法函数拥有多条用例时,所有用例参数都是一个级别,且severity使用{参数}赋值失败,(之后在研究一下吧)@allure.severity("cri

pytest+allure使用动态级别,参数化severity

allure可以定义用例级别:@allure.severity("critical")等级一共分为5个:blocker:阻塞缺陷(功能未实现,无法下一步)critical:严重缺陷(功能点缺失)normal:一般缺陷(边界情况,格式错误)minor:次要缺陷(界面错误与ui需求不符)trivial:轻微缺陷(必须项无提示,或者提示不规范)目前我想实现每条用例参数的级别定义,而不是某个接口方法的级别,具体实现如下方式一:通过在方法函数前声明,当此方法函数拥有多条用例时,所有用例参数都是一个级别,且severity使用{参数}赋值失败,(之后在研究一下吧)@allure.severity("cri

Pytest之生成allure报告

一、前戏在之前我们已经学会使用pytest-html插件生成html格式的测试报告:1#第一步,安装插件2pipinstallpytest-html3​4#第二步,执行用例时使用--html参数5##main函数中执行6if__name__=='__main__':7pytest.main(["-vs","--html=./report/result.html"])89##使用命令模式执行10pytest-vs--html./report/result.html很明显报告的效果配不上我们高大上的逼格.......除了pytest-html插件,pytest还可以和allure结合,生成更加详细

Pytest之生成allure报告

一、前戏在之前我们已经学会使用pytest-html插件生成html格式的测试报告:1#第一步,安装插件2pipinstallpytest-html3​4#第二步,执行用例时使用--html参数5##main函数中执行6if__name__=='__main__':7pytest.main(["-vs","--html=./report/result.html"])89##使用命令模式执行10pytest-vs--html./report/result.html很明显报告的效果配不上我们高大上的逼格.......除了pytest-html插件,pytest还可以和allure结合,生成更加详细

Pytest 固件

一、固件使用背景在执行测试用例时,我们常常需要在测试用例执行的前后去完成一些额外的操作。例如针对于Web测试,在用例执行前需要打开浏览器,完成用户登录等一系列前置操作;在用例执行完成后,要清除浏览器缓存,关闭浏览器......Pytest框架提供的固件机制(又称为夹具)可以帮我们实现一系列的前后置操作。我们先创建一套测试用例:二、前后置函数1.测试方法级别setup和teardown方法作用于每一个测试方法,每个测试方法执行之前都会先去执行setup方法,执行之后都会再去执行teardown方法。1#cases/test_cases.py2classTestCase:3​4defsetup(s

Pytest 固件

一、固件使用背景在执行测试用例时,我们常常需要在测试用例执行的前后去完成一些额外的操作。例如针对于Web测试,在用例执行前需要打开浏览器,完成用户登录等一系列前置操作;在用例执行完成后,要清除浏览器缓存,关闭浏览器......Pytest框架提供的固件机制(又称为夹具)可以帮我们实现一系列的前后置操作。我们先创建一套测试用例:二、前后置函数1.测试方法级别setup和teardown方法作用于每一个测试方法,每个测试方法执行之前都会先去执行setup方法,执行之后都会再去执行teardown方法。1#cases/test_cases.py2classTestCase:3​4defsetup(s

Pytest系列(一)初次了解

在之前,我分享过unittest系列,后来有很多人问我,能不能出pytest的教程,正好最近在整理pytest相关的资料,那么,就趁着这个机会,去和大家分享一下pytest系列。 pytest是一个非常成熟的全功能的Python测试框架。那么他有什么优点呢。pytest优点入门简单,文档丰富支持单元测试,功能测试支持参数化,重复执行,部分执行,测试跳过兼容其他测试框架(nose,unittest等)支持生成html报告可集成CI环境(Jenkins等)第三方插件丰富,良好的自定义扩展性   那么我们对比下它与unittest。(1)unittest测试文件必须先importunittest测试

Pytest系列(一)初次了解

在之前,我分享过unittest系列,后来有很多人问我,能不能出pytest的教程,正好最近在整理pytest相关的资料,那么,就趁着这个机会,去和大家分享一下pytest系列。 pytest是一个非常成熟的全功能的Python测试框架。那么他有什么优点呢。pytest优点入门简单,文档丰富支持单元测试,功能测试支持参数化,重复执行,部分执行,测试跳过兼容其他测试框架(nose,unittest等)支持生成html报告可集成CI环境(Jenkins等)第三方插件丰富,良好的自定义扩展性   那么我们对比下它与unittest。(1)unittest测试文件必须先importunittest测试

pytest参数化:@pytest.mark.parametrize

内置的pytest.mark.parametrize装饰器可以用来对测试函数进行参数化处理。下面是一个典型的范例,检查特定的输入所期望的输出是否匹配:test_expectation.pyimportpytest@pytest.mark.parametrize("test_input,expected",[("3+5",8),("2+4",6),("6*9",42),])deftest_eval(test_input,expected):asserteval(test_input)==expected装饰器@parametrize定义了三组不同的(test_input,expected)数据,