pytest框架

#学习打卡第3天

今天学习主题:自动化pytest专项

学习目标:

弄清框架里的功能概念、用法

1、yield

2、fixture

3、allure

next()函数

返回迭代器的下一个项目。

yield + 函数 = 生成器

eg:

def provider():

        for i in range(5):

        return i

返回结果:0

使用yield

def provider():

        for i in range(5):

        yield i 

p = provider

print(next(p))

print(next(p))

print(next(p))

返回结果:1,2,3

fixture

1、@python.fixture

在方法前,定义一个@python.fixture,后面的用例中,可以直接找到fixture中定义的值

2、@pytest.fixture(scope="session/module")

执行顺序:session>module>function

在方法前,定义@pytest.fixture(scope="session/module"),用例将按照优先级执行

如果是@pytest.fixture(aotouse=True),则在同等级class的用例中,该用例会优先执行。

(在命令行中使用-- setup show 文件名 可以查看用例的执行顺序)

3、fixture工厂模式

在一个测试用例中需要多次调用同一个fixture的时候,
返回一个生成数据的函数,这样就能在用例中多次调用了。

4、fixture反射

allure生成报告

1、安装:brew
2、安装allure-pytest第三方库
3、生成json:pytest  --alluredir  ./report
4、生成html页面:allure generate
5、打开html页面:不能直接双击index.html,需要使用命令allure open 报告目录/
6、使用allure提供的一些API:添加步骤说明、操作步骤、插入图片、插入视频、添加case链接、添加bug链接、定义stories

----分割线:

pytest识别不到用例

1、检查是否安装pytest插件

2、运动方式选择pytest

开始写接口用例

1、get请求

r = requests.get("http://XXX")

print(r.status_code) 

print(r.text) 

封装:

def test_query(self):

        payload={

                "XX" : XX

}

        r = requests.get("http://XXX", params=payload) #params参数

        print(r.text)

        assert r.status_code == 200

结果:相当于参数和url一起发送请求

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值