随笔分类 -  Pytest

摘要:1、Allure Allure 是一款非常轻量级并且非常灵活的开源测试报告生成框架。它支持绝大多数测试框架, 例如 TestNG、Pytest、JUint 等。它简单易用,易于集成。 2、Pytest集成Allure windows下安装 Allure工具 1、安装JDK1.8+2、安装Allure 阅读全文
posted @ 2020-03-25 21:39 晨尛 阅读(376) 评论(0) 推荐(0)
摘要:pytest会将本轮测试的执行状态写入到.pytest_cache文件夹,这个行为是由自带的cacheprovider插件来实现的; 注意: pytest默认将测试执行的状态写入到根目录中的.pytest_cache文件夹,我们也可以通过在pytest.ini中配置cache_dir选项来自定义缓存 阅读全文
posted @ 2020-03-25 21:38 晨尛 阅读(129) 评论(0) 推荐(0)
摘要:参数化的行为表现在不同的层级上: fixture的参数化; 测试用例的参数化:使用@pytest.mark.parametrize可以在测试用例、测试类甚至测试模块中标记多个参数或fixture的组合; 另外,也可以通过pytest_generate_tests这个钩子方法自定义参数化的方案; 1、 阅读全文
posted @ 2020-03-25 21:36 晨尛 阅读(553) 评论(0) 推荐(0)
摘要:一些测试用例只能在特定的条件或平台执行,或者是已知的Bug影响。在执行这些用例时提前打上标记,Pytest可以相应的处理并输出更准确的报告。 在这种场景下,常用的标记有: skip:只有当某些条件得到满足时,才执行测试用例,否则跳过整个测试用例的执行;例如,在非Windows平台上跳过只支持Wind 阅读全文
posted @ 2020-03-24 20:05 晨尛 阅读(417) 评论(0) 推荐(0)
摘要:1、集成doctest模块 doctest是python内置的一个标准库,它可以查找代码中类似交互式会话形式的注释,并检查它们是否正确; (1)默认情况下,pytest会自动收集所有名称匹配test*.txt规则的文件,并调用doctest执行它们;doctest文件的默认编码是UTF-8,你可以在 阅读全文
posted @ 2020-03-24 20:03 晨尛 阅读(180) 评论(0) 推荐(0)
摘要:1、告警信息的默认捕获行为 pytest可以自动捕获测试中产生的告警信息,并在执行结束后进行展示; 可以通过-W arg命令行选项来自定义告警的捕获行为: arg参数的格式为:action:message:category:module:lineno; action只能在"error", "igno 阅读全文
posted @ 2020-03-24 20:01 晨尛 阅读(357) 评论(0) 推荐(0)
摘要:1、标准输出/标准错误输出/标准输入的默认捕获行为 在测试执行期间,任何标准输出和标准错误输出都将会被捕获;如果测试失败或者发生异常,异常信息的堆栈也将一同显示,可以通过--show-capture命令行选项来自定义这些行为; --show-capture的配置项可以为: no stdout std 阅读全文
posted @ 2020-03-23 20:22 晨尛 阅读(550) 评论(0) 推荐(0)
摘要:1、相关的 fixture (1)tmp_path tmp_path是一个用例级别的fixture,其作用是返回一个唯一的临时目录对象(pathlib.Path); tmp_path在不同的操作系统中,返回的是不同类型的pathlib.Path对象,这里Windows系统下返回的是WindowsPa 阅读全文
posted @ 2020-03-23 20:20 晨尛 阅读(303) 评论(0) 推荐(0)
摘要:有时候,测试用例需要调用某些依赖于全局配置的功能,或者这些功能本身又调用了某些不容易测试的代码(例如:网络接入)。fixture monkeypatch可以安全的设置/删除一个属性、字典项或者环境变量,甚至改变导入模块时的sys.path路径。 monkeypatch提供了以下方法: monkeyp 阅读全文
posted @ 2020-03-23 20:19 晨尛 阅读(148) 评论(0) 推荐(0)
摘要:1、pytest fixtures的目的是提供一个固定的基线,使测试可以在此基础上可靠地、重复地执行;对比xUnit经典的setup/teardown形式,它在以下方面有了明显的改进: fixture拥有一个明确的名称,通过声明使其能够在函数、类、模块,甚至整个测试会话中被激活使用; fixture 阅读全文
posted @ 2020-03-22 18:34 晨尛 阅读(1375) 评论(0) 推荐(0)
摘要:1、使用assert 编写断言 2、触发期望异常的断言 3、特殊数据结构比较优化 针对一些特殊的数据结构间的比较,pytest对结果的显示做了一些优化: 集合、列表等:标记出第一个不同的元素; 字符串:标记出不同的部分; 字典:标记出不同的条目; 4、为失败断言添加自定义的说明 (1)重写__rep 阅读全文
posted @ 2020-03-21 20:36 晨尛 阅读(189) 评论(0) 推荐(0)
摘要:1、安装 pip install pytest 2、查看版本和获取帮助 3、指定允许失败的用例数 -x:遇到第一个失败退出执行 --maxfail=num:遇到设定的失败数时退出执行 4、执行指定的测试用例 (1)用例命名 test_*.py 或者 *_test.py 的文件; 以 test_ 开头 阅读全文
posted @ 2020-03-21 20:34 晨尛 阅读(281) 评论(0) 推荐(0)