数字驱动:推动自动化技术功能测试的落实
数字驱动是指数据库的更改进而推动自动化技术功能测试的落实,最后造成检测结果的变化。简单来说就是参数化设计的应用。

检测推动在功能测试中的运用情景:
- 测试流程的数字驱动;
- 测试报告的数字驱动;
- 配备的数字驱动;
实例展示:
以下是几种 pytest 数据驱动的实例展示。
1、pytest 融合数字驱动-yaml
这个实例是使用 yaml 文件完成读取测试环境变量的操作,主要实现读取 yaml 文件,先创建 env.yml 文件配备测试报告。
import pytest
import yaml
class TestYaml:
@pytest.mark.parametrize("env",yaml.safe_load(open("./env.yml")))
def test_yaml(self,env):
if "test" in env:
print("这是测试环境")
print("测试环境的ip是:",env["test"])
elif "dev" in env:
print("这是开发环境")
print("开发环境的ip是:",env["dev"])
2、pytest 结合数据驱动-excel
这个实例主要是使用 excel 文件完成数据驱动的操作,以读取 excel 文件,实现 A+B=C 并断言为例。
import openpyxl
import pytest
from test_pytest.read_excel.func.operation import my_add
def test_get_excel():
"""
解析 excel 数据
:return: [[1,1,2],[3,6,9],[100,200,300]]
"""
book=openpyxl.load_workbook('../data/param.xlsx')
sheet=book.active
cells=sheet["A1":"C3"]
print(cells)
values=[]
for row in sheet:
data=[]
for cell in row:
data.append(cell.value)
values.append(data)
print(values)
return values
class TestWithExcel:
@pytest.mark.parametrize("x,y,expected",test_get_excel())
def test_add(self,x,y,expected):
assert my_add(int(x),int(y))==int(expected)
3、pytest 结合数据驱动-csv
这个实例主要是使用 csv 文件完成数据驱动的操作,以读取 csv 文件,实现 A+B=C 并断言为例。
import csv
import pytest
from test_pytest.read_csv.func.operation import my_add
def test_get_csv():
"""
解析 csv 文件
:return:
"""
with open('../data/params.csv') as file:
raw=csv.reader(file)
data=[]
for line in raw:
data.append(line)
print(data)
return data
class TestWithCsv:
@pytest.mark.parametrize("x,y,expected",test_get_csv())
def test_add(self,x,y,expected):
assert my_add(int(x),int(y))==int(expected)
4、pytest 结合数据驱动-json
这个实例主要是使用 json 文件完成数据驱动的操作,以读取 json 文件,实现 A+B=C 并断言为例。
import json
import pytest
from test_pytest.read_json.func.operation import my_add
def test_get_json():
"""
解析 json 数据
:return: [[1,1,2],[3,6,9],[100,200,300]]
"""
with open('../data/params.json','r') as file:
data=json.loads(file.read())
print(list(data.values()))
return list(data.values())
class TestWithJson:
@pytest.mark.parametrize("x,y,expected",test_get_json())
def test_add(self,x,y,expected):
assert my_add(int(x),int(y))==int(expected)
总结
以上是几种常见数据驱动的实例介绍,通过数字驱动的方式,可以快速高效地进行自动化测试,提升测试效率,减轻测试人员的工作压力。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6635.html
