深圳个性化建网站公司,wordpress上传中文文件,网站建设公司广告语,建立的含义数据驱动
数据的改变从而驱动自动化测试用例的执行#xff0c;最终引起测试结果的改变。简单说就是参数化的应用。
测试驱动在自动化测试中的应用场景#xff1a;
测试步骤的数据驱动#xff1b;测试数据的数据驱动#xff1b;配置的数据驱动#xff1b; 1、pytest结合…数据驱动
数据的改变从而驱动自动化测试用例的执行最终引起测试结果的改变。简单说就是参数化的应用。
测试驱动在自动化测试中的应用场景
测试步骤的数据驱动测试数据的数据驱动配置的数据驱动 1、pytest结合数据驱动-yaml
实现读yaml文件先创建env.yml文件配置测试数据 工程目录结构
data目录存放yaml文件 1 2 3 4 - dev: 127.0.0.1 #dev: 127.0.0.2 #prod: 127.0.0.3
testcase目录存放测试用例文件 1 2 3 4 5 6 7 8 9 10 11 12 13 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(env) print(测试环境的ip是, env[test]) elif dev in env: print(这是开发文件) print(开发环境的ip是, env[dev]) # print(env)
结果示例
现在我也找了很多测试的朋友做了一个分享技术的交流群共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源没人解答问题坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化性能安全测试开发等等方面有一定建树的技术大牛
分享他们的经验还会分享很多直播讲座和技术沙龙
可以免费学习划重点开源的
qq群号485187702【暗号csdn11】 2、pytest结合数据驱动-excel 常用的读取方式有xlrd、xlwings、pandas、openpyxl 以读excel文件实现ABC并断言为例~
工程目录结构
data目录存放excel数据文件 func目录存放被测函数文件 1 2 3 def my_add(x, y): result x y return result
testcase目录存放测试用例文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 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、pyetst结合数据驱动-csv
csv逗号文件以逗号分隔的string文件 读取csv数据
内置函数open()内置模块csv方法csv.reader(iterable)参数iterable文件或列表对象返回迭代器遍历迭代器每次会返回一行数据
以读csv文件实现ABC并断言为例~
工程目录结构
data目录存放csv数据文件 func目录存放被测函数文件 1 2 3 def my_add(x, y): result x y return result
testcase目录存放测试用例文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 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
jsonjs对象是一种轻量级的数据交换格式。 json结构
对象{key:value}数组[value1,value2...] 查看json文件
1.pycharm2.txt记事本 读取json文件
内置函数open()内置库json方法 json.loads() json.dumps()
以读json文件实现ABC并断言为例~
工程目录结构
data目录存放json数据文件 func目录存放被测函数文件 1 2 3 def my_add(x, y): result x y return result
testcase目录存放测试用例文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 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)
最后感谢每一个认真阅读我文章的人看着粉丝一路的上涨和关注礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 希望能帮助到你【100%无套路免费领取】