pytest 自动化学习

一  pytest简介与安装

pytest 自动化学习_第1张图片

def inc(x):
return x+1

def test_answer():
assert inc(3) == 5 #判断 4会不会等5

二  Pytest 命令规则

pytest 自动化学习_第2张图片

三  pycharm配置与界面化运行

pytest 自动化学习_第3张图片

 pytest 自动化学习_第4张图片

 pytest 自动化学习_第5张图片

 pytest 自动化学习_第6张图片

四  pytest测试用例结构

用例结构
三部分构成
      1.用例名称用例步骤                2.编辑                 3.断言

 

 pytest 自动化学习_第7张图片

 pytest 自动化学习_第8张图片

五  Pytest 测试用例断言

pytest 自动化学习_第9张图片

def test_a():
    a = 1
    b = 2
    expect = 3
    assert a + b == expect

pytest 自动化学习_第10张图片


def test_str():
    assert  "abc" in "abcd"  # abcd 是否包含在 abc 里面 

def test_plat():
    assert ('linux' in sys.platform) ,"该代码不在 linux 下运行"  #直接报我写的这个错误

六 Pytest 测试框架结构

pytest 自动化学习_第11张图片

 

pytest 自动化学习_第12张图片 

七  pytest参数化用例

pytest 自动化学习_第13张图片

 pytest 自动化学习_第14张图片

 

import pytest

search_list =['appium']

# 单参数  的第一个名字 ,第一个如果有多的数字可以放在列表里面
@pytest.mark.parametrize('name',search_list)

def test_search(name):
    assert name in search_list
import pytest

#1、参数化的名字,要与方法中的参数名,——对应,
#2、如果传递多个参数的话,要放在列表中,列表中嵌套列表/元组
@pytest.mark.parametrize("test_input,expected",[
    ("3+5",8),("2+5",7),("7+5",12)
])

def test_mark_more(test_input,expected):
    assert eval(test_input) == expected
# 用例重用名

import pytest

#1、参数化的名字,要与方法中的参数名,——对应,
#2、如果传递多个参数的话,要放在列表中,列表中嵌套列表/元组
#3.ids 的个数==传递的数据个数
@pytest.mark.parametrize("test_input,expected",[
    ("3+5",8),("2+5",7),("7+5",12)
],ids=["number1","number2","number3"])  #ids用于重命名

def test_mark_more(test_input,expected):
    assert eval(test_input) == expected

 pytest 自动化学习_第15张图片

 pytest 自动化学习_第16张图片

  

 

八  Pytest 标记测试用例

九   Pytest 设置跳过、预期失败用例

十  运行用例

十一 测试用例调度与运行

十二 常用命令行参数

十三  Python 代码执行 pytest

十四 Pytest 异常处理

十五  数据驱动-yaml

十六  pytest数据驱动-excel

十七 Pytest结合数据驱动csv

十八  Pytest结合数据驱动json

你可能感兴趣的:(python)