pytest单元测试框架(集成篇)

一、@pytest.mark.parametrize()基本用法

@pytest.mark.parametrize(args_name,args_value)

args_name:参数名

args_value:参数值(列表[],元祖(),字典列表[{},{}],字典元祖({},{})),有多个值用例就会执行多少次

import time

import pytest


class TestApi:
    @pytest.mark.parametrize('a', ['1', '2'])  # 列表
    def test_huahua(self, a):
        time.sleep(5)
        print(a)

    # 跟unittest的ddt里面的@unpack解包的一样
    @pytest.mark.parametrize('a', [['1', '2'], ['11', '22']])
    def test_huahua1(self, a):
        time.sleep(5)
        print(a)

    @pytest.mark.parametrize('a', ('1', '2'))  # 元组
    def test_huahua2(self, a):
        time.sleep(5)
        print(a)

    @pytest.mark.parametrize('a',  [{'huahua', '4'}, {'caocao', '6'}])  # 字典列表
    def test_huahua3(self, a):
        time.sleep(5)
        print(a)

    @pytest.mark.parametrize('a', ({'huahua', '88'}, {'caocao', '66'}))  # 字典元组
    def test_huahua4(self, a):
        time.sleep(5)
        print(a)

    @pytest.mark.parametrize('a, b', [['我', '4'], ['你', '6']])  # 列表
    def test_chen(self, a, b):
        print(a, b)

    @pytest.mark.parametrize('a, b', [{'hua', '4'}, {'cao', '6'}, {'yun', '8'}])  # 字典列表
    def test_chen1(self, a, b):
        print(a, b)


if __name__ == '__main__':
    pytest.main(['-vs'])

运行结果:

二、YAML文件详解---实现接口自动化


1.用于全局的配置文件 ini/yaml
2.用于写测试用例(接口测试用例)

Yaml简介

yaml是一种数据格式,支持注释,换行,多行字符串,裸字符串(整形,字符串)。

语法规则:


1.区分大小写
2.使用缩进表示层级,不能使用tab键缩进,只能用空格(和python一样)
3.缩进没有数量的,只要前面是对其的就行。
4.注释是#

数据组成


1.Map对象,键值对  键:(空格)值


多行的写法:

msxy:
  name: 花花
  age: 18

一行的写法:

msxy: {name: 花花,age: 18}

2.数组(list),用一组横线开头,如:
多行的写法:

-
 msxy:
  - name: 花花
  - age: 18
-
 msjy:
  - name: xingxing
  - age: 20

一行的写法:

-
 msxy: [{name: 花花},{age: 18}]

yaml验证:验证格式对不对

验证网址:https://www.bejson.com/validators/yaml_editor/

三、yaml接口自动化实战

项目中要先安装Pyyaml

yaml读取知识

相关例子yaml写接口自动化


 

升级进阶知识

1.断言的封装logger日志

2.allure报告的定制

3.关键字驱动和数据驱动结合实现自动化测试

4.python的反射

正常:先初始化对象,在调方法。
反射:通过对象得到类对象,然后通过类对象调用方法

Python--getattr反射+selenium详解篇_selenium kwargs.get-CSDN博客 

5.jenkins的持续集成和allure报告集成及邮件发送

并且根据自动化的报告的错误情况发送邮件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值