前面一篇講了setup、teardown可以實現(xiàn)在執(zhí)行用例前或結(jié)束后加入一些操作,但這種都是針對整個腳本全局生效的
如果有以下場景:用例 1 需要先登錄,用例 2 不需要登錄,用例 3 需要先登錄。很顯然無法用 setup 和 teardown 來實現(xiàn)了fixture可以讓我們自定義測試用例的前置條件

@pytest.fixture(scope="function", params=None, autouse=False, ids=None, name=None)
def test():
print("fixture初始化的參數(shù)列表")
參數(shù)列表
注意
session的作用域:是整個測試會話,即開始執(zhí)行pytest到結(jié)束測試
測試用例如何調(diào)用fixture#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
__title__ =
__Time__ = 2020-04-06 15:50
__Author__ = 小菠蘿測試筆記
__Blog__ = https://www.cnblogs.com/poloyy/
"""
import pytest
# 調(diào)用方式一
@pytest.fixture
def login():
print("輸入賬號,密碼先登錄")
def test_s1(login):
print("用例 1:登錄之后其它動作 111")
def test_s2(): # 不傳 login
print("用例 2:不需要登錄,操作 222")
# 調(diào)用方式二
@pytest.fixture
def login2():
print("please輸入賬號,密碼先登錄")
@pytest.mark.usefixtures("login2", "login")
def test_s11():
print("用例 11:登錄之后其它動作 111")
# 調(diào)用方式三
@pytest.fixture(autouse=True)
def login3():
print("====auto===")
# 不是test開頭,加了裝飾器也不會執(zhí)行fixture
@pytest.mark.usefixtures("login2")
def loginss():
print(123)
網(wǎng)站名稱:Pytest框架之fixture的詳細(xì)使用教程-創(chuàng)新互聯(lián)
分享URL:http://www.chinadenli.net/article0/cccgio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、商城網(wǎng)站、網(wǎng)站改版、ChatGPT、App設(shè)計、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容