数字驱动
数据库的更改进而推动自动化技术功能测试的落实,最后造成检测结果的变化。简单来说就是参数化设计的应用。
检测推动在功能测试中的运用情景:
测试流程的数字驱动;
测试报告的数字驱动;
配备的数字驱动;
1、pytest融合数字驱动-yaml
完成读yaml文件,先创建env.yml文件配备测试报告
工程项目目录结构:
data文件目录:储放yaml文件
- dev:127.0.0.1 #dev:127.0.0.2 #prod:127.0.0.3
testcase目录:存放测试用例文件
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)
结果示例:
2、pytest结合数据驱动-excel
常用的读取方式有:xlrd、xlwings、pandas、openpyxl
以读excel文件,实现A+B=C并断言为例~
工程目录结构:
data目录:存放excel数据文件
func目录:存放被测函数文件
def my_add(x,y): result=x+y return result
testcase目录:存放测试用例文件
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文件,实现A+B=C并断言为例~
工程目录结构:
data目录:存放csv数据文件
func目录:存放被测函数文件
def my_add(x,y): result=x+y return result
testcase目录:存放测试用例文件
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:js对象,是一种轻量级的数据交换格式。
json结构:
对象{"key":value}
数组[value1,value2...]
查看json文件:
1.pycharm
2.txt记事本
读取json文件:
内置函数open()
内置库json
方法json.loads()json.dumps()
以读json文件,实现A+B=C并断言为例~
工程目录结构:
data目录:存放json数据文件
func目录:存放被测函数文件
def my_add(x,y): result=x+y return result
testcase目录:存放测试用例文件
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.ucloud.cn/yun/129050.html
摘要:前端自动化测试百度搜索功能实战可以与结合生成测试报告。以网页版本的百度为例,百度首页呈现的功能新闻网页贴吧知道音乐图片视频地图等,我们以百度网页的搜索功能为例,使用结合自动化测试框架,完成一个搜索功能的测试。 ...
摘要:在测试行业,如果利用作为脚本语言开发自动化测试用例,可用的框架有等主流可供选择,个人感觉较之和应该算是现阶段最灵活,功能最全面,扩展最丰富的框架了。不知道各位在做自动化的时候有没有遇到过用例数过多,单机执行效率不高的困扰。 在测试行业,如果利用python作为脚本语言开发自动化测试用例,可用...
小编写这篇文章的主要目的,就是教给大家,如何使用Django+Pytest,并用Django+Pytest搭建在线自动化测试平台,具体怎么做呢?下面给大家做一个详细的解答。 一、测试平台: 解决分散用例执行方式,提供统一测试用例执行过程、用例管理、测试报告 主要是基于: fastapi+vue.js django+vue.js django 二、搭建过程 2.1使用django...
摘要:必然的,他们会抛弃标准库中的,使用或者发明自己心仪的单元测试框架。究其原因,一些人会说时间写代码都不够,哪还有空写单元测试。最后我的个人观点,单元测试其实还有一个非常重要的作用,就是替代函数文档注释。希望从今天起,你的代码也都有单元测试。 单元测试是每种编程语言必学的课题,是保护开发者的强力护盾,每个程序员都在时间允许的情况下尽可能多的写单元测试,今天我们不讨论其必要性,只抛砖引玉聊一...
摘要:单元测试框架作为的标准库,是其他单元测试框架的基础。可以和和配合使用编写单元测试。官网地址单元测试覆盖率工具单元测试中还需要用到代码覆盖率工具。代码覆盖率统计工具用来发现没有被测试覆盖的代码,完善单元测试的覆盖率。 在应用程序中,单元是具有一个或多个输入和单个输出的软件中最小可测试部分。单元...
阅读 873·2023-01-14 11:38
阅读 819·2023-01-14 11:04
阅读 668·2023-01-14 10:48
阅读 1823·2023-01-14 10:34
阅读 873·2023-01-14 10:24
阅读 737·2023-01-14 10:18
阅读 466·2023-01-14 10:09
阅读 500·2023-01-14 10:02