摘要:
在做测试的时候,有些地方无论是接口还是UI只是参数数据的输入不一样,操作过程是一样的。重复去写操作过程会增加代码量,我们可以通过参数化的方式解决这个问题,也叫做数据驱动,我们通过python做参数化的方法有很多种,今天我们介绍一种简单的方法DDT ddt 官方文档:https://ddt.readt 阅读全文
摘要:
HTMLTestRunner HTMLTestRunner是Python标准库的unittest模块的扩展。它生成易于使用的HTML测试报告。 下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 下载完成后直接放到我们代码文件夹中,也可以 阅读全文
摘要:
查询歌曲的接口测试,但是代码重复性比较大,进行一次简单的优化 封装方法 在编写自动化脚本的时候,都要求代码简介,对重复性较多的代码进行相关的优化 我们可以看到下面的代码每个用例中都填写了不同的参数和请求相同的接口地址,我们可以通过把相同的代码进行提取出来,然后调用这个方法,完成简化代码 # codi 阅读全文
摘要:
在做自动化测试我们对执行用例很有要求,因为每条用例可能就和上一条数据有关系,那么我想要批量执行一些用例呢?这个怎么去操作呢?unittest自带的功能可以帮助到我们,我们可以通过不同的场景运用不同的执行用例方法 TestCase 表示测试用例集合,我们可以直接进行执行这个集合来批量执行测试用例。直接 阅读全文
摘要:
在使用unittest单元测试框架做自动化的时候,可能会遇到想要看看这条用例写的是否正确,然后进行执行,但是又还有其他的用例在这里,我们又不能屏蔽,这个怎么办?不要着急unittest的几种执行方法帮助我们解决问题 unittest执行方法 方法一:执行单条用例 写好了一条用例,但是不知道自己写的是 阅读全文
摘要:
我们在做自动化测试的时候,可能会遇到一些用例中间不用回归,想要进行跳过。直接注释的话,代码量修改过大,显然这个方法不妥,哪还有什么方法?unittest这个自动化框架可以帮助我们完成这个操作 自动跳过用例 unittest中提供了一些跳过用例的装饰器方法。我们可以通过这些装饰器来帮我们完成这些操作 阅读全文
摘要:
在unittest单元测试中也提供了断言的方式,通过断言判断用例有没有成功。 unittest常用断言 unittest框架的TestCase类提供以下方法用于测试结果的判断 方法 检查 assertEqual(a, b) a ==b assertNotEqual(a, b) a !=b asser 阅读全文
摘要:
verbosity参数设置 verbosity表示在只执行用例的过程中可以把用例的执行情况根据配置的参数不同表示不同的详细程度,我们先看下源码中如何进行解释的。 通过观察可以看到我们verbosity默认为1,可以设置为0和2。 0 (静默模式): 你只能获得总的测试用例数和总的结果。 1 (默认模 阅读全文
摘要:
Unittest 说起python的单元测试,第一反应肯定就会是unittest,unittest作为python的标准库,很优秀,也被广泛的用到各个项目,但是你们知道吗?python的单元测试并不只有这一个,还有个pytest,和nose,后面我们主要通过unittest+python完成我们的自 阅读全文
摘要:
pytest断言 前面说到pytest的断言比较强大,它直接可以使用python自带的断言内容,当然不止而已,pytest还有一个重要的功能是可以重写assert关键字,pytest会截断对python中自带的assert的调用然后替换成自己定位的assert,从而可以获取更多的错误信息,让我们知道 阅读全文
摘要:
我们在执行用例的时候,每次都在命令行中输入-v,-s等一些命令行参数的时,比较麻烦。其中pytest.ini这个配置文件可以快速的帮助我们解决这个问题。 配置文件 pytest.ini文件是pytest的主配置文件,可以改变pytest的运行方式,且是一个固定的文件pytest.ini文件,pyte 阅读全文
摘要:
执行自动化用例的过程中,遇到已知bug或者其他平台的执行内容,这个时候我们可以选择用跳过用例,在unittest中有无条件跳过,也有满足条件进行跳过,那么pytest中也存在跳过用例。 skip 前面介绍了mark的时候,知道mark属于标记用例,那么当mark.skip的时候就表示无条件进行跳过用 阅读全文
摘要:
unittest中存在mock模块,那么pytest中也存在mock模块,pytest中的mock使用第三方库:pytest-mock pytest-mock 安装: pip install pytest-mock 这里的mock和unittest的mock基本上都是一样的,唯一的区别在于pytes 阅读全文
摘要:
可以使用pytest.mark.parametrize来做参数化,非常的方便,其实fixture也可以用来做参数化,灵活性更高。 fixture参数化 fixture前面介绍的时候说过一共有5个参数分别是:name,scope,params,autouse,ids。每个参数都会介绍到,今天主要介绍p 阅读全文