Python中pytest的数据驱动,pytest自动化测试实战

  Python中pytest的数据驱动,pytest自动化测试实战

  本文主要介绍一个pytest自动化测试数据驱动yaml/excel/csv/json的例子。有需要的朋友可以借鉴一下,希望能有所帮助。祝大家进步很大,早日升职加薪。

  00-1010数据驱动1、pytest结合数据驱动-yaml项目目录结构:2、pytest结合数据驱动-excel项目目录结构:3、pyetst结合数据驱动-csv读取csv数据:项目目录结构:4、pytest结合数据驱动-jsonjson结构:查看json文件:读取json文件:项目目录结构:

  

目录

  数据的变化驱动自动化测试用例的执行,最终导致测试结果的变化。简单来说就是参数化的应用。

  测试驱动在自动化测试中的应用场景;

  数据驱动的测试步骤;数据驱动的测试数据;数据驱动的配置;

  

数据驱动

  要读取yaml文件,首先创建env.yml文件来配置测试数据。

  

1、pytest结合数据驱动-yaml

  数据目录:存储yaml文件-

  127.0.0.1

  #dev:

  127.0.0.3

  Testcase目录:存储测试用例文件导入pytest。

  导入yaml

  TestYaml:类

  @ py test . mark . parameterize( env ,yaml.safe_load(open(。/env.yml ))

  定义测试_yaml(自身,环境):

  如果env:中的“测试”

  打印(“这是测试环境”)

  #打印(环境)

  Print(测试环境的ip是:,env[test])

  env:中的elif“dev”

  打印(“这是开发文件”)

  Print(开发环境的ip是:,env[dev])

  #打印(环境)

  结果示例:

  

工程目录结构:

  常见的阅读方式有:xlrd、xlwings、pandas、openpyxl。

  以读取excel文件,实现A B=C并断言为例~

  

2、pytest结合数据驱动-excel

  数据目录:存储excel数据文件。

  func目录:存放测试过的函数文件defmy _ add (x,y) 3360。

  结果=x y

  回送结果

  Testcase目录:存储测试用例文件import openpyxl。

  导入pytest

  从test _ py test . read _ excel . func . operation导入my_add

  def测试_获取_excel():

  解析excel数据

  :return: [[1,1,2]、[3,6,9]、[100,200,300]]

  book=ope

  npyxl.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)

  以上就是pytest自动化测试数据驱动yaml/excel/csv/json的详细内容,更多关于pytest测试数据驱动yaml/excel/csv/json的资料请关注盛行IT软件开发工作室其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • android自动化测试框架有哪些,ios手机自动化测试工具,Android和iOS 测试五个最好的开源自动化工具
  • ,,如何使用IOS自动化测试工具UIAutomation
  • android自动化测试框架有哪些,ios手机自动化测试工具
  • ,,Python自动化测试框架pytest的详解安装与运行
  • ,,python自动化测试之DDT数据驱动的实现代码
  • selenium+java自动化测试框架,selenium自动化测试pdf
  • java自动化测试框架,java 自动化测试工具
  • 接口自动化测试面试问题,关于接口测试面试题
  • 自动化测试工具可以用在哪种测试过程中,测试自动化工具有哪些
  • airtest和appium自动化测试,airtest全自动脚本
  • 测试自动化面试问题及答案,自动化测试面试题及答案大全(3)
  • 自动化测试框架是什么,什么叫自动化测试框架
  • python+selenium自动化测试框架搭建,selenium自动化测试环境搭建
  • 接口测试与接口自动化测试,接口自动化测试项目实战
  • appium自动化测试环境搭建,python appium自动化测试框架
  • 留言与评论(共有 条评论)
       
    验证码: