随笔分类 -  pytest

摘要:参数化 参数化时候,可以使用@allure.title给用例不同标题 测试代码 import allure import pytest data = [ ("name1", "123456", "name1 登录成功"), ("name2", "123456", "name2 登录失败"), ("n 阅读全文
posted @ 2021-08-31 10:03 Tester-** 阅读(251) 评论(0) 推荐(0)
摘要:command 列表 generate serve open plugin 这里只讲第一个和第三个 generate 命令行参数 作用 生成 allure 的html 报告 语法格式 generate [options] allure 结果目录 注:allure 结果目录就是运行 pytest 命令 阅读全文
posted @ 2021-08-30 13:20 Tester-** 阅读(56) 评论(0) 推荐(0)
摘要:前言 平时写测试用例也会划分优先级 同样,allure 也提供用例级别,在 allure 报告可以清晰看到不同级别用例的缺陷数量 用例等级介绍 allure 提供的枚举类 等级介绍 blocker:阻塞缺陷(功能未实现,无法下一步) critical:严重缺陷(功能点缺失) normal: 一般缺陷 阅读全文
posted @ 2021-08-25 10:30 Tester-** 阅读(100) 评论(0) 推荐(0)
摘要:前言 前面几篇文章主要介绍了allure的特性,这篇文章我们就来讲下allure的标记用法 有时候我们写pytest的时候,会用到 @pytest.mark 但并不会显示在allure报告上 而allure也提供了三种类型的标记装饰器,它们是可以显示在allure报告上的 allure的标记装饰器 阅读全文
posted @ 2021-08-19 10:30 Tester-** 阅读(1632) 评论(0) 推荐(0)
摘要:前言 上一篇文章介绍了两种allure的特性 @allure.description() :添加测试用例描述,一共三种方式哦! @allure.title():指定测试用例标题,默认是函数名哦! 这一篇幅,我们主要来讲解最后三个常见特性,主要是为了将allure报告和测试管理系统集成,可以更快速的跳 阅读全文
posted @ 2021-08-18 10:18 Tester-** 阅读(154) 评论(0) 推荐(0)
摘要:前言 上一篇文章介绍了两种allure的特性 @allure.step() 装饰器:可以设置测试步骤,让测试用例的执行过程更加详细 allure.attach() 函数:可以设置需要显示在allure报告的附件,包含了多种类型,可以通过allure.attachment_type查看支持的类型 这一 阅读全文
posted @ 2021-08-17 10:48 Tester-** 阅读(184) 评论(0) 推荐(0)
摘要:前言 allure除了支持pytest自带的特性之外(fixture、parametrize、xfail、skip),自己本身也有强大的特性可以在pytest中使用 @allure.step allure报告最重要的一点是,它允许对每个测试用例进行非常详细的步骤说明 通过 @allure.step( 阅读全文
posted @ 2021-08-16 10:42 Tester-** 阅读(540) 评论(0) 推荐(0)
摘要:官方介绍 Allure Framework是一种灵活的轻量级多语言测试报告工具,不仅可以以简洁的Web报告形式非常简洁地显示已测试的内容,也允许参与开发过程的每个人从日常测试中提取最大程度的有用信息 从开发/质量保证的角度来看,Allure报告可以缩短常见缺陷的生命周期:可以将测试失败划分为bug和 阅读全文
posted @ 2021-08-12 11:02 Tester-** 阅读(124) 评论(0) 推荐(0)
摘要:背景 在写接口或功能自动化case的时候,会遇到一些case有先后执行顺序的场景。比如:注册->登陆,先调用注册接口在数据库里面生成用户名和密码,然后使用登陆接口验证登陆。 在pytest里,如果注册和登陆分别是两个testcase,默认执行执行顺序是从前到后的。 例子 有一个pytest的测试ca 阅读全文
posted @ 2021-08-09 11:45 Tester-** 阅读(93) 评论(0) 推荐(0)
摘要:背景 使用pytest进行断言判断的时候,为了用例的精准性,经常会多个方面进行断言,比如如下: 断言1:断言响应的http的状态 断言2:断言响应返回的code值 断言3:断言响应返回的json中的data字段是否符合预期。 如果使用原生python的assert,就会遇到一个断言失败则全部失败的情 阅读全文
posted @ 2021-08-09 11:40 Tester-** 阅读(302) 评论(0) 推荐(0)
摘要:前言 pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行。 ini配置文件 pytest里面有些文件是非test文件 pytest.ini pytest的主配置文件,可以改变pytest的默认行为 conftest.py 阅读全文
posted @ 2021-08-04 16:27 Tester-** 阅读(281) 评论(0) 推荐(0)
摘要:前言 平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来 自动化运行用例时候,也会出现偶然的bug,可以针对单个用例,或者针对某个模块的用例重复执行多次 环境前提 Python 2.7、3.4+或PyPy py.test 阅读全文
posted @ 2021-08-03 11:42 Tester-** 阅读(136) 评论(0) 推荐(0)
摘要:背景 在编写接口case的时候,我们常遇到一个这样的问题: 测试环境不稳定偶发接口超时(和服务无关,纯粹是环境问题),然后执行接口case也因此偶发失败。比如同一个接口case跑五次,其中有两次失败,另外三次都是成功的,这种偶发性的环境问题就需要我们手动重跑(还不一定能够通过)。有没有一个比较好的机 阅读全文
posted @ 2021-08-02 15:35 Tester-** 阅读(320) 评论(0) 推荐(0)
摘要:环境前提 Python3.6+ 安装插件 pip3 install pytest-html -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com 快速入门 命令行执行: pytest --html=report.html 会 阅读全文
posted @ 2021-07-29 16:16 Tester-** 阅读(196) 评论(0) 推荐(0)
摘要:前言 为了提高复用性,我们在写测试用例的时候,会用到不同的fixture,比如:最常见的登录操作,大部分的用例的前置条件都是登录 假设不同的用例想登录不同的测试账号,那么登录fixture就不能把账号写死,需要通过传参的方式来完成登录操作 案例一:传单个参数-函数传参 import pytestde 阅读全文
posted @ 2021-07-29 15:40 Tester-** 阅读(229) 评论(0) 推荐(0)
摘要:前言 pytest 可以支持自定义标记,自定义标记可以把一个 web 项目划分多个模块,然后指定模块名称执行 譬如我可以标明哪些用例是window下执行的,哪些用例是mac下执行的,在运行代码时候指定mark即可 上代码 import pytest @pytest.mark.weibo def te 阅读全文
posted @ 2021-07-28 18:21 Tester-** 阅读(85) 评论(0) 推荐(1)
摘要:前言 pytest.mark.skip 可以标记无法在某些平台上运行的测试功能,或者您希望失败的测试功能 希望满足某些条件才执行某些测试用例,否则pytest会跳过运行该测试用例 实际常见场景:跳过非Windows平台上的仅Windows测试,或者跳过依赖于当前不可用的外部资源(例如数据库)的测试 阅读全文
posted @ 2021-07-27 17:24 Tester-** 阅读(97) 评论(0) 推荐(0)
摘要:什么是conftest.py 可以理解成一个专门存放fixture的配置文件 实际开发场景 多个测试用例文件(test_*.py)的所有用例都需要用登录功能来作为前置操作,那就不能把登录功能写到某个用例文件中去了 如何解决上述场景问题? conftest.py的出现,就是为了解决上述问题,单独管理一 阅读全文
posted @ 2021-07-26 14:12 Tester-** 阅读(259) 评论(0) 推荐(0)
摘要:用例执行状态 用例执行完成后,每条用例都有自己的状态,常见的状态有 passed:测试通过 failed:断言失败 error:用例本身写的质量不行,本身代码报错(譬如:fixture不存在,fixture里面有报错) xfail:预期失败,加了 @pytest.mark.xfail() error 阅读全文
posted @ 2021-07-26 10:13 Tester-** 阅读(441) 评论(0) 推荐(0)
摘要:前言 前面一篇讲了setup、teardown可以实现在执行用例前或结束后加入一些操作,但这种都是针对整个脚本全局生效的 如果有以下场景:用例 1 需要先登录,用例 2 不需要登录,用例 3 需要先登录。很显然无法用 setup 和 teardown 来实现了 fixture可以让我们自定义测试用例 阅读全文
posted @ 2021-07-24 15:50 Tester-** 阅读(83) 评论(0) 推荐(0)