首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python自动化测试 | Pytest之参数化

    在自动化测试中,一个测试用例对应一个测试点,通常一组测试数据无法完全覆盖测试范围,所以,需要参数化来传递多组数据。...pytest的测试用例参数化使用如下装饰器即可完成 @pytest.mark.parametrize(argnames, argvalues) 主要参数说明 【argsnames :参数名】是个字符串...如下示例:如下格式参数化,其测试结果为所有参数选项数量的乘积 # coding=utf-8 # authou:shichao import pytest @pytest.mark.parametrize...============== Process finished with exit code 0 删减后的结果,太长,理解意思就行 以上几个实例,就是我们测试中使用的pytest测试框架测试用例参数化...当然,如实际需要,你也可以把测试数据独立到文件里,然后读取出来,传递给@pytest.mark.parametrize(argnames, argvalues)装饰器,最后我们前期讲到了Python自动化测试

    1.5K10

    Python 中如何实现参数化测试?

    本文想针对测试中一种很常见的测试场景,即参数化测试,继续聊聊关于测试的话题,并尝试将这几个测试框架串联起来,做一个横向的比对,加深理解。 1、什么是参数化测试?...对于普通测试来说,一个测试方法只需要运行一遍,而参数化测试对于一个测试方法,可能需要传入一系列参数,然后进行多次测试。...2、参数化测试的实现思路? 通常而言,一个测试方法就是一个最小的测试单元,其功能应该尽量地原子化和单一化。...3、参数化测试的使用方法? Python 标准库中的unittest自身不支持参数化测试,为了解决这个问题,有人专门开发了两个库:一个是ddt,一个是parameterize。...4、最后小结 上文中介绍了参数化测试的概念、实现思路,以及在三个主流的 Python 测试框架中的使用方法。我只用了最简单的例子,为的是快速科普(言多必失)。 但是,这个话题其实还没有结束。

    1.4K20

    Python测试框架pytest(17)参数化parametrize

    Python测试框架pytest(17) 参数化parametrize 目录 1、参数 2、装饰测试类 3、多个参数化装饰器 4、参数化(传入字典数据) 5、标记参数化 6、解决unicode编码问题...参数化场景: 只有测试数据和预期结果不一样,但操作步骤是一样的测试用例是可以用上参数化的。 创建test_parametrize.py文件 示例一:未参数化 1、脚本代码: #!.../usr/bin/env python # -*- coding: utf-8 -*- """ 微信公众号:AllTests软件测试 """ # 未参数化 def test_case1():...2、运行结果: 示例二:参数化(优化代码) 1、脚本代码: #!.../usr/bin/env python # -*- coding: utf-8 -*- """ 微信公众号:AllTests软件测试 """ import pytest # 参数化(优化代码) @pytest.mark.parametrize

    97520

    python接口自动化7-参数关联

    前言 我们用自动化发帖之后,要想接着对这篇帖子操作,那就需要用参数关联了,发帖之后会有一个帖子的id,获取到这个id,继续操作传这个帖子id就可以了 一、删除草稿箱 1.我们前面讲过登录后保存草稿箱...2.用fiddler抓包,抓到删除帖子的请求,从抓包结果可以看出,传的json参数是postId ? 3.这个postId哪里来的呢?可以看上个请求url地址 ?...4.也就是说保存草稿箱成功之后,重定向一个url地址,里面带有postId这个参数。...那接下来我们提取出来就可以了 二、提取参数 1.我们需要的参数postId是在保存成功后url地址,这时候从url地址提出对应的参数值就行了,先获取保存成功后url 2.通过正则提取需要的字符串,...三,传参 1.删除草稿箱的json参数传上面取到的参数:{"postId": postid[0]} 2.json数据类型post里面填json就行,会自动转json 3.接着前面的保存草稿箱操作,

    1K40

    selenium+python自动化97--unittest参数化(paramunittest)

    前言 paramunittest是unittest实现参数化的一个专门的模块,可以传入多组参数,自动生成多个用例 前面讲数据驱动的时候,用ddt可以解决多组数据传入,自动生成多个测试用例。...本篇继续介绍另外一个参数化的框架paramunittest,也能实现一样的效果。 环境准备 1.先pip 下载安装 paramunittest pip install paramunittest ?...官方文档 1.官方文档地址:https://pypi.python.org/pypi/ParamUnittest/ 2.github源码下载地址:https://github.com/rik0/ParamUnittest...括号后面的参数分别接受传入的参数名称。...前面定义的是字典,那参数就跟前面字典的key保持一致 import unittest import paramunittest import time # python3.6 # 作者:上海-悠悠 @

    1.3K60

    【jenkins参数化构建】将Ant Targets参数化

    使用jenkins做持续集成时,Ant Targets经常变动,所以采用参数化构建,将Ant Targets参数化 1、在jenkins的job中增加String Parameter/Persistent...3、其他 构建不使用jenkins ant plugin的原因: 使用String Parameter/Persistent String Parameter传递ANT_TARGETS参数...如果有多个target,jenkins ant plugin将多个target当成一个target 经多次尝试,无法将参数传递给ant,从而导致构建失败 而在ant命令行中,这一切都正常...暂未找到合适的解决方案 所以选择在batch脚本中,传递%ANT_TARGETS%参数,调用ant命令 ANT_TARGETS格式(多个target用英文逗号、分号或空格分开...String Parameter/Persistent String Parameter区别: 如果可以,Persistent String Parameter的默认值来自上次构建的参数

    1.8K30

    参数化(三):参数嗅探

    在之前的随笔中我提到过参数嗅探,这是非常重要的概念。下面我们深入的研究一下参数嗅探… 首先我们知道批处理可以是参数化的或者非参数化。...参数化的批处理计划有两种类型:“Prepared” 或者“Proc”。...参数嗅探在这两种类型中是完全相同的。它的行为在两种计划中是完全一样的。因此我们这里不去讨论类型,只关心参数化批处理本身的作用。 什么是参数嗅探?...在参数化批处理的实际执行计划的图形表示中,查看最外层的操作符属性(通常是一个select操作符),然后找到“Parameter List”属性。展开属性时,将会看到每个参数编译时和运行时的值。...假使用户用一个很少使用的参数来执行存储过程,这个参数值产生一个执行计划,并且对于指定该值作为参数的执行是非常高效的。但是其他参数时将会表现很糟糕。 因此问题来了:参数嗅探是好还是不好?

    2.3K20

    参数化(三):参数嗅探

    在之前的随笔中我提到过参数嗅探,这是非常重要的概念。下面我们深入的研究一下参数嗅探…     首先我们知道批处理可以是参数化的或者非参数化。...参数化的批处理计划有两种类型:“Prepared” 或者“Proc”。...参数嗅探在这两种类型中是完全相同的。它的行为在两种计划中是完全一样的。因此我们这里不去讨论类型,只关心参数化批处理本身的作用。 什么是参数嗅探?...在参数化批处理的实际执行计划的图形表示中,查看最外层的操作符属性(通常是一个select操作符),然后找到“Parameter List”属性。展开属性时,将会看到每个参数编译时和运行时的值。...假使用户用一个很少使用的参数来执行存储过程,这个参数值产生一个执行计划,并且对于指定该值作为参数的执行是非常高效的。但是其他参数时将会表现很糟糕。 因此问题来了:参数嗅探是好还是不好?

    2.4K70

    Selenium2+python自动化48-登录方法(参数化)

    前言 登录这个场景在写用例的时候经常会有,我们可以把登录封装成一个方法,然后把账号和密码参数化,这样以后用的登录的时候,只需调用这个方法就行了 一、登录方法 1.把输入账号、输入密码、点击登录按钮三个步骤写成一个方法...2.然后把输入的账号和密码参数化 二、用例 1.下面的用例可以调用前面写的登录方法,这样不用每次都去走登录流程 2.判断是否登录成功,我这里是取的登录成功后的账户名 三、判断方法封装 1.如果用上面的方法去判断的话...self.driver.implicitly_wait(30) def login(self, username, psw): u”’这里写了一个登录的方法,账号和密码参数化...: self.driver.quit() if __name__ == “__main__”: unittest.main() 学习过程中有遇到疑问的,可以加selenium(python

    62420

    Python 自动化测试(三): pytest 参数化测试用例构建

    参数化顾名思义就是把不同的参数,写到一个集合里,然后程序会自动取值运行用例,直到集合为空便结束。pytest 中可以使用 @pytest.mark.parametrize 来参数化。...使用 parametrize 实现参数化 parametrize( ) 方法源码: def parametrize(self,argnames, argvalues, indirect=False, ids...是引入的参数列表 将自定义的参数名 data 作为参数传给测试用例 test_func 然后就可以在测试用例内部使用 data 的参数了 创建测试用例,传入三组参数,每组两个元素,判断每组参数里面表达式和值是否相等...pytest 提供了一种参数化的方式,将多组测试数据自动组合,生成大量的测试用例。...@pytest.fixture 与 @pytest.mark.parametrize 结合 下面讲结合 @pytest.fixture 与 @pytest.mark.parametrize 实现参数化。

    3.5K20
    领券