亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

pytest自動化測試數據驅動yaml/excel/csv/json怎么使用

發布時間:2022-07-04 10:02:59 來源:億速云 閱讀:268 作者:iii 欄目:開發技術

這篇“pytest自動化測試數據驅動yaml/excel/csv/json怎么使用”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“pytest自動化測試數據驅動yaml/excel/csv/json怎么使用”文章吧。

數據驅動

數據的改變從而驅動自動化測試用例的執行,最終引起測試結果的改變。簡單說就是參數化的應用。

測試驅動在自動化測試中的應用場景:

  • 測試步驟的數據驅動;

  • 測試數據的數據驅動;

  • 配置的數據驅動;

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)

結果示例:

pytest自動化測試數據驅動yaml/excel/csv/json怎么使用

2、pytest結合數據驅動-excel

常用的讀取方式有:xlrd、xlwings、pandas、openpyxl

以讀excel文件,實現A+B=C并斷言為例~

工程目錄結構:

data目錄:存放excel數據文件

pytest自動化測試數據驅動yaml/excel/csv/json怎么使用

  • 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數據文件

pytest自動化測試數據驅動yaml/excel/csv/json怎么使用

  • 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數據文件

pytest自動化測試數據驅動yaml/excel/csv/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怎么使用”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昌江| 南华县| 芜湖市| 岑溪市| 红河县| 抚州市| 泗洪县| 玛纳斯县| 姜堰市| 清徐县| 沙坪坝区| 界首市| 西畴县| 黑河市| 留坝县| 蛟河市| 沂水县| 武陟县| 平塘县| 桃园县| 通河县| 磐石市| 乌拉特后旗| 冷水江市| 麻江县| 刚察县| 白水县| 牙克石市| 胶南市| 清徐县| 密云县| 庆城县| 龙川县| 海淀区| 蓬安县| 闵行区| 阿荣旗| 江华| 黄浦区| 日喀则市| 宜丰县|