摘要:
前言 当用例a失败的时候,如果用例b和用例c都是依赖于第一个用例的结果,那可以直接跳过用例b和c的测试,直接给他标记失败xfail 用到的场景,登录时第一个用例,登录之后的操作b是第二个用例,登录之后操作c是第三个用例,很明显三个用例都会走到登录。 如果登录失败了,那后面2个用例就没有必要了,直接跳 阅读全文
posted @ 2021-09-13 17:19
qiupeng
阅读(185)
评论(0)
推荐(0)
摘要:
前言 断言是写自动化测试基本最重要的一步,一个用例没有断言,就失去了自动化测试的意义了。什么是断言呢? 简单来讲就是实际结果和期望结果去对比,符合预期那就测试pass,不符合预期那就测试failed assert pytest允许您使用标准Python断言来验证Python测试中的期望和值。例如,你 阅读全文
posted @ 2021-09-13 17:00
qiupeng
阅读(311)
评论(0)
推荐(0)
摘要:
前言 命令行参数是根据命令行选项将不同的值传递给测试函数,比如平常在cmd执行"pytest --html=report.html",这里面的"--html=report.html"就是从命令行传入的参数。对应的参数名称是html,参数值是report.html. conftest配置参数 1.首先 阅读全文
posted @ 2021-09-13 16:32
qiupeng
阅读(575)
评论(0)
推荐(0)
摘要:
前言 pytest.mark.parametrize装饰器可以实现测试用例参数化。 parametrizing 1.这里是一个实现检查一定的输入和期望输出测试功能的典型例子 # coding:utf-8 import pytest @pytest.mark.parametrize("test_inp 阅读全文
posted @ 2021-09-13 16:04
qiupeng
阅读(104)
评论(0)
推荐(0)
摘要:
前言 为了提高代码的复用性,我们在写用例的时候,会用到函数,然后不同的用例去调用这个函数。 比如登录操作,大部分的用例都会先登录,那就需要把登录单独抽出来写个函数,其它用例全部的调用这个登录函数就行。但是登录的账号不能写死,有时候我想用账号1去登录,执行用例1,用账号2去登录执行用例2,所以需要对函 阅读全文
posted @ 2021-09-13 15:35
qiupeng
阅读(151)
评论(0)
推荐(0)
摘要:
前言 参数化是自动化测试里面必须掌握的一个知识点,用过unittest框架的小伙伴都知道使用ddt来实现测试用例的参数化。 pytest测试用例里面对应的参数可以用parametrize实现,随着用例的增多,我们的需求也会越来越多,那么如何在fixture中使用参数呢? fixture源码 先看下f 阅读全文
posted @ 2021-09-13 15:04
qiupeng
阅读(178)
评论(0)
推荐(0)
摘要:
fixture作用范围 fixture里面有个scope参数可以控制fixture的作用范围:session > module > class > function fixture(scope="function", params=None, autouse=False, ids=None, nam 阅读全文
posted @ 2021-09-13 14:46
qiupeng
阅读(134)
评论(0)
推荐(0)
摘要:
使用多个fixture 如果用例需要用到多个fixture的返回数据,fixture也可以return一个元组、list或字典,然后从里面取出对应数据。 # -*- coding=utf-8 -*- import pytest @pytest.fixture() def user(): a="adm 阅读全文
posted @ 2021-09-13 14:16
qiupeng
阅读(104)
评论(0)
推荐(0)
摘要:
前言 fixture是pytest的核心功能,也是亮点功能,熟练掌握fixture的使用方法,pytest用起来才会得心应手! fixture简介 fixture的目的是提供一个固定基线,在该基线上测试可以可靠地和重复地执行。fixture提供了区别于传统单元测试(setup/teardown)有显 阅读全文
posted @ 2021-09-13 14:02
qiupeng
阅读(330)
评论(0)
推荐(0)
摘要:
前言 平常写自动化用例会写一些前置的fixture操作,用例需要用到就直接传该函数的参数名称就行了。当用例很多的时候,每次都传这个参数,会比较麻烦。 fixture里面有个参数autouse,默认是False没开启的,可以设置为True开启自动使用fixture功能,这样用例就不用每次都去传参了。 阅读全文
posted @ 2021-09-13 13:45
qiupeng
阅读(162)
评论(0)
推荐(0)
摘要:
前言 上一篇讲到fixture通过scope参数控制setup级别,既然有setup作为用例之前的操作,用例执行完之后那肯定也有teardown操作。 这里用到fixture的teardown操作并不是独立的函数,用yield关键字呼唤teardown操作。 scope="module" 1.fix 阅读全文
posted @ 2021-09-13 11:54
qiupeng
阅读(81)
评论(0)
推荐(0)
摘要:
前言 上一篇讲到用例加setup和teardown可以实现在测试用例之前或之后加入一些操作,但这种是整个脚本全局生效的. 如果我想实现以下场景: 用例1需要先登录,用例2不需要登录,用例3需要登录。很现实这就无法用setup和teardown来实现了。 这就是本篇学习的目的,自定义测试用例的预置 阅读全文
posted @ 2021-09-13 11:36
qiupeng
阅读(80)
评论(0)
推荐(0)
摘要:
前言 学过unittest的都知道里面用前置和后置setup和teardown非常好用,在每次用例开始前和结束后都去执行一次。当然还有更高级一点的setupClass和teardownClass,需配合@classmethod装饰器一起使用,在做selenium自动化的时候,它的效率尤为突出,可以只 阅读全文
posted @ 2021-09-13 11:14
qiupeng
阅读(109)
评论(0)
推荐(0)
摘要:
一、安装和入门 cmd运行 pip install -U pytest pip3 install pytest -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com 查看版本 pytest --version cmd进入当前 阅读全文
posted @ 2021-09-13 09:46
qiupeng
阅读(184)
评论(0)
推荐(0)