Pytest
文章平均质量分 65
sl01224318
这个作者很懒,什么都没留下…
展开
-
pytest中pytest_addoption的使用
说明在日常的UI自动化测试中,可能使用涉及到多个场景,例如测试、预发、生产环境,这就需要我们进行环境切换,如果在不同的环境下我们要指定不同的系统配置,每次修改框架代码配置这个很不自动化,给测试造成了不必要的麻烦。针对这种情况,pytest提供了一种方法:pytest_addoption注册参数,使用这个注册参数就可以解决了这种问题,可以在执行用例、命令的时候传递参数。用法pytest_addoption注册参数一般和内置 fixture pyt...原创 2022-05-21 15:48:56 · 2189 阅读 · 0 评论 -
pytest-自定义命令行参数
背景在使用pytest做自动化测试时,我们有时候需要切换测试环境,例如在测试环境和生产环境,这时候就遇到环境切换的问题,而且有时候需要根据某个参数不同的参数值,执行不同的业务逻辑。上面的场景我们都可以通过“在命令行中输入参数,然后用例中接收这个参数,通过判断这个参数的值来做不同的逻辑”来实现,这时候我们就需要用到pytest的钩子函数:pytest_addoption。使用方法pytest_addoption可以让用户注册一个自定义的命令行参数...原创 2021-11-21 14:46:29 · 1540 阅读 · 0 评论 -
Pytest学习—标记失败
前言 在进行自动化测试时,有时候多条测试用例会共用或者依赖某一功能,如果这这一个所依赖的功能报错时,其他依赖的用例全部不能运行。 就比如A用例、B用例执行前都要进行登录,如果登录方法错误了,那么A、B用例都不会运行,那有没有这样一个功能呢,就是依赖的登录用例错的话,只要操作A报错后,B用例就直接跳过不再执行,并且被标记为失败用例。其实Pytest中已经帮我们想到了,那就是使用xfail用例标记为失败的用例。设计思路我们以一个登录操作实例进行说明,1...原创 2021-07-09 20:16:08 · 626 阅读 · 2 评论 -
Pytest学习—assert断言
断言是写自动化测试重要的一步,一个完整的自动化测试用例没有断言的话是不完整的,那什么是断言呢,简单的来说就是实际结果和预期结果去做对比,实际结果和预期结果符合的话就代表Pass,否则的话就是Fail。 在Pytest中允许使用Python中标准断言assert来进行验证,例如下面的函数,foo()方法返回值是5,而断言是6,而5不等于6,所以断言是失败的。import ...原创 2021-07-09 13:38:22 · 911 阅读 · 2 评论 -
Pytest学习—fixtrue中的autouse
说明在日常使用pytest写自动化测试用例时,经常会写一些前置的fixtrue操作,当其测试用例有用到时就直接传该函数的参数名称就可以了,但有时候用例很多的时候,每次都传这个参数的话会显得比较冗余、麻烦。针对这样的情况,pytest早就已经替我们想到了,fixture 里面有个参数 autouse,默认是 Fasle 没开启的,可以设置为True 开启,就可以自动使用了,也就是说不用再手动传参就可以自动运行该用例了。方法使用那autouse要怎么使用呢,其实就是在引用fixtrue写前置用例时,原创 2021-06-26 15:20:52 · 1348 阅读 · 0 评论 -
Pytest学习-conftest
介绍上次的文章和大家分享了一些使用fixtrue自定义测试用例的预置条件方法,这次再分享一个conftest的用法。fixtrue是作用在一个py文件中,多个用例调用一个登录的方法,但是如果有多个.py文件都需要进行使用登录方法的话,就不能把登录的方法写到一个用例中去了,这时候就需要使用conftest.py这个配置文件来进行一些基础配置操作,这样其他的.py文件执行时,pytest可以从conftest.py文件中自动读取相应的配置和方法。说明当我们使用conftest.py配置时需要注意以下几原创 2021-06-13 15:38:02 · 500 阅读 · 0 评论 -
Pytest学习—fixtrue
说明上次和大家分享了pytest中setup/teardown的用法,这次再和大家分享一下fixture的用法。fixtrue有什么用法呢,setup/teardowm是适用于全局的,意思就是测试用例、模块只要符合就会全部执行,但有时候我只想要部分用例去执行,部分不执行,比如:用例1需要进行登录,用例2不需要进行登录,用例3需要进行登录,那就不能再单单使用setup/teardown来实现了,这时候就可以使用fixtrue来进行实现,也就是使用fixtrue自定义测试用例的预置条件。优点fixtr原创 2021-06-06 19:21:36 · 360 阅读 · 2 评论 -
Pytest学习—用例运行级别
说明相信之前接触过的unittest的各位对setup、teardown都不会陌生,当使用了setup、teardown之后,每个用例执行之前和执行结束后都会去执行一次。这就好比是开车一样,只要我开车了,都要先对车进行启动,然后到达目的地之后对车进行熄火。这样做的好处就是在我们进行自动化测试用例执行之前进行测试准备和初始化操作,测试结束后进行清理操作,比如说一些数据库的还原、浏览器的关闭等。说了这么多,pytest也有这种功能和语法,而且种类比unittest更加的丰富,使用起来也更加的方便快捷。级原创 2021-06-05 20:39:01 · 908 阅读 · 2 评论 -
Pytest学习—执行用例常用参数
在用pytest执行用例时,可以按照以下方式来运行用例1、执行目录及其子目录下的所有用例pytest 文件名2、执行某一个py文件下的用例import pytestdef func(x): return xdef test_answer(): assert func(5) == 5def test_answer2(): assert func(5) == 5def test_answer3(): assert func(5) == 53、-原创 2021-05-30 20:05:22 · 767 阅读 · 10 评论 -
Pytest学习—用例运行规则
说明上次介绍了下如何使用pycharm来运行pytest测试用例,这次来说一说pytest用例运行的规则,俗话说无规则不成方圆,那pytest用例也有自己的一套规则,只有按照这套规则,我们写的测试用例才能被pytest正确识别出来,才能判断哪些用例是需要执行的,哪些用例是不需要执行的。用例设计原则设计原则:pytest 运行的规则是查找当前目录及其子目录下以 test_.py 或_test.py 文件,找到文件后,在文件中找到以 test 开头函数并执行,如下所示:#-*- coding:utf原创 2021-05-29 20:58:43 · 941 阅读 · 0 评论 -
Pytest学习—pycharm运行pytest
说明平常我们一般是通过Pycharm来编写代码的,在写完用例之后需要调试代码来检测其功能是否正常,如果我们每次用例写完之后都去cmd去运行的话会变得十分费力和效率低下,所以在这里介绍一下如何试用pycharm运行用例。方法使用Pycharm运行脚本有三种方式:1、当写的代码中没有uniitest和pytest框架时,而且py文件名称也不是以test_格式命名的,这是pycharm就会以正常的普通脚本进行运行调试。2、当使用了unittest而没有使用pytest框架时,而且py文件是以test原创 2021-05-23 21:09:38 · 5530 阅读 · 1 评论 -
Pytest框架学习—环境准备
Pytest介绍pytest 是 python 的一种单元测试框架,与python 自带的 unittest测试框架类似,但是比unittest 框架使用起来更简洁,效率更高。根据pytest 的官方网站介绍,它具有如下特点:非常容易上手,入门简单,文档十分丰富。支持参数化设置,而且执行过程中可以跳过某一些测试,并对一些预计会执行失败的用例进行提前标记。可以设置用例的重跑次数,用例执行失败时会重复进行运行。可以生成html测试报告,使测试结果更加直观、明确。可以结合jenkins进行持续集成。原创 2021-05-22 21:57:15 · 149 阅读 · 0 评论