精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

自動(dòng)化測(cè)試中使用Pytest Fixture?推薦十種常見用法!

開發(fā) 前端
Fixture 是 Pytest 中用于提供測(cè)試環(huán)境的一種機(jī)制,它可以在測(cè)試函數(shù)執(zhí)行前后進(jìn)行一些準(zhǔn)備工作和清理工作,如初始化數(shù)據(jù)庫(kù)連接、創(chuàng)建臨時(shí)文件等。Fixture 可以被多個(gè)測(cè)試用例共享使用,從而提高測(cè)試代碼的復(fù)用性和可維護(hù)性。

Pytest 是一個(gè)功能強(qiáng)大的 Python 測(cè)試框架,其中的Fixture 是 Pytest 中的一個(gè)重要功能。它允許你設(shè)置一些特定的測(cè)試環(huán)境或準(zhǔn)備測(cè)試數(shù)據(jù),這些環(huán)境和數(shù)據(jù)可以在多個(gè)測(cè)試用例中重復(fù)使用。通過(guò)使用fixture,你可以避免在每個(gè)測(cè)試函數(shù)中編寫重復(fù)的設(shè)置和清理代碼,使得測(cè)試更加干凈、簡(jiǎn)潔,并提高代碼的可維護(hù)性。

本文將介紹 Pytest Fixture 的概念、用途以及十種常見的使用方法,并提供相應(yīng)的示例代碼。

1、什么是 Fixture?

Fixture 是 Pytest 中用于提供測(cè)試環(huán)境的一種機(jī)制,它可以在測(cè)試函數(shù)執(zhí)行前后進(jìn)行一些準(zhǔn)備工作和清理工作,如初始化數(shù)據(jù)庫(kù)連接、創(chuàng)建臨時(shí)文件等。Fixture 可以被多個(gè)測(cè)試用例共享使用,從而提高測(cè)試代碼的復(fù)用性和可維護(hù)性。

2、Fixture用途

fixture的主要用途包括:

  • 設(shè)置測(cè)試環(huán)境:例如,配置數(shù)據(jù)庫(kù)連接、初始化外部服務(wù)等。
  • 準(zhǔn)備測(cè)試數(shù)據(jù):提供測(cè)試所需的數(shù)據(jù),如用戶信息、產(chǎn)品列表等。
  • 模擬外部依賴:當(dāng)測(cè)試難以直接訪問(wèn)外部系統(tǒng)時(shí),可以使用fixture來(lái)模擬這些系統(tǒng)的行為。
  • 執(zhí)行特定操作:在測(cè)試前后執(zhí)行某些特定操作,如臨時(shí)修改配置、記錄日志等。
  • 共享資源:在不同的測(cè)試用例之間共享資源,減少資源的創(chuàng)建和銷毀開銷。

3、10種常見用法及示例

基礎(chǔ)使用

import pytest

@pytest.fixture
def sample_data():
    return [1, 2, 3]

def test_example(sample_data):
    assert sum(sample_data) == 6

帶參數(shù)的fixture

import pytest

@pytest.fixture(params=[1, 2, 3])
def number(request):
    return request.param

def test_number(number):
    assert number in [1, 2, 3]

使用范圍(scope)

在pytest中,fixture的作用域決定了測(cè)試夾具的生命周期以及它們能被哪些測(cè)試用例或測(cè)試類訪問(wèn)。以下是pytest中fixture的幾種作用域及其用途:

  • function:這是fixture的默認(rèn)作用域。當(dāng)不指定scope參數(shù)時(shí),fixture會(huì)在每個(gè)測(cè)試函數(shù)執(zhí)行前被調(diào)用,并在測(cè)試函數(shù)結(jié)束后清理。它適用于需要為每個(gè)測(cè)試準(zhǔn)備和清理資源的場(chǎng)合。例如,打開和關(guān)閉數(shù)據(jù)庫(kù)連接、初始化和釋放內(nèi)存空間等。
  • class:當(dāng)設(shè)置scope='class'時(shí),fixture會(huì)在一個(gè)測(cè)試類開始前被調(diào)用一次,然后在整個(gè)類的所有測(cè)試方法運(yùn)行完畢后被清理。這適用于整個(gè)測(cè)試類共享的準(zhǔn)備工作,如創(chuàng)建共享的測(cè)試環(huán)境或?qū)ο蟆?/li>
  • module:如果設(shè)置scope='module',則fixture會(huì)在整個(gè)模塊的第一個(gè)測(cè)試開始前被調(diào)用,并在模塊中的所有測(cè)試完成后被清理。這通常用于模塊級(jí)別的資源管理,比如建立和斷開與外部服務(wù)的連接。
  • package/package.module:當(dāng)設(shè)置為scope='package'或scope='package.module'時(shí),fixture將在整個(gè)包或指定的包的模塊中運(yùn)行一次。這適用于跨模塊或跨包共享的測(cè)試資源,例如配置全局服務(wù)或執(zhí)行一次性的環(huán)境設(shè)置。
  • session:通過(guò)scope='session'設(shè)置,fixture將在整個(gè)測(cè)試會(huì)話中只運(yùn)行一次。這適用于開銷較大,且所有測(cè)試用例都可以共享的準(zhǔn)備步驟,如復(fù)雜的系統(tǒng)級(jí)設(shè)置或一次性的資源分配。
  • instance:如果設(shè)置了scope='instance',則可以為每個(gè)測(cè)試實(shí)例創(chuàng)建一個(gè)fixture實(shí)例。這允許在不同的測(cè)試用例之間共享狀態(tài),而不需要在每個(gè)測(cè)試用例中重新準(zhǔn)備。
  • classinstance:通過(guò)scope='classinstance',可以為每個(gè)測(cè)試類創(chuàng)建一個(gè)fixture實(shí)例。與instance類似,但適用于在類的不同方法間共享狀態(tài)。
  • once:使用scope='once'時(shí),fixture只會(huì)被調(diào)用一次,無(wú)論被多少個(gè)測(cè)試用例或測(cè)試類引用。這對(duì)于單例資源管理或確保某些操作只執(zhí)行一次非常有用。

例如:

import pytest

@pytest.fixture(scope="class")
def class_fixture():
    print("setup")
    yield "data"
    print("teardown")

def test_use_fixture(class_fixture):
    assert class_fixture == "data"

通過(guò)合理選擇不同的fixture作用域,可以有效地組織和管理測(cè)試代碼,提高測(cè)試的效率和可維護(hù)性。

fixture的依賴

可以指定一個(gè)fixture依賴于其他fixture。

import pytest

@pytest.fixture
def db():
    return "sqlite:///:memory:"

@pytest.fixture
def session(db):
    return create_session(db)

def test_database(session):
    assert isinstance(session, Session)

示例2:

import pytest

@pytest.fixture
def login():
    user = User()
    user.login()
    yield user
    user.logout()

@pytest.fixture
def profile(login):
    return login.get_profile()

使用autouse自動(dòng)應(yīng)用

通過(guò)設(shè)置autouse=True,無(wú)需手動(dòng)將fixture作為參數(shù)傳遞到測(cè)試用例中。

import pytest

@pytest.fixture(autouse=True)
def print_hello():
    print("Hello, World!")

def test_example():
    pass

使用request對(duì)象訪問(wèn)fixture

request對(duì)象可以用來(lái)訪問(wèn)調(diào)用的fixture及其參數(shù)。

import pytest

@pytest.fixture(params=[1, 2, 3])
def numbers(request):
    return request.param * 2

def test_numbers(numbers):
    assert numbers % 2 == 0

異常處理

可以對(duì)fixture中的異常進(jìn)行處理。

import pytest

@pytest.fixture(autouse=True)
def exception_handler():
    try:
        yield "some setup code"
    except Exception as e:
        print(f"Handled exception: {e}")
        raise e

def test_example():
    raise ValueError("test error")

使用indirect間接引用

indirect 參數(shù)是 Pytest 中 Fixture 的一個(gè)高級(jí)用法,在pytest中,indirect參數(shù)用于間接引用fixture。

indirect=True 是 @pytest.mark.parametrize 裝飾器的一個(gè)可選參數(shù)。當(dāng)設(shè)置為 True 時(shí),它告訴 pytest,對(duì)應(yīng)的參數(shù)值不是一個(gè)直接的輸入值,而是一個(gè)用于請(qǐng)求 fixture 的名稱。這意味著,pytest 會(huì)查找一個(gè)與參數(shù)值同名的 fixture,并使用該 fixture 的返回值作為測(cè)試用例的參數(shù)。

當(dāng)使用indirect時(shí),它允許你通過(guò)一個(gè)fixture的名稱來(lái)引用另一個(gè)fixture,而不是直接使用它的返回值。這在某些情況下非常有用,比如當(dāng)你需要將一個(gè)fixture的返回值作為另一個(gè)fixture的輸入。

使用方法

  • 在測(cè)試函數(shù)的參數(shù)列表中指定需要間接引用的 Fixture 名稱。
  • 在 @pytest.mark.parametrize 裝飾器中使用 indirect=True 參數(shù)來(lái)啟用間接引用。

示例1:

import pytest  
  
@pytest.fixture  
def test_data(request):  
    # 這里只是一個(gè)簡(jiǎn)單的示例,你可以根據(jù)需要生成更復(fù)雜的測(cè)試數(shù)據(jù)  
    data = request.param  
    return data * 2

然后,我們編寫一個(gè)測(cè)試用例,并使用 @pytest.mark.parametrize 裝飾器來(lái)參數(shù)化它。注意,我們?cè)?indirect=True 時(shí)傳遞 fixture 名稱 test_data,而不是直接的測(cè)試數(shù)據(jù)值:

def test_example(test_data):  
    assert test_data > 0

最后,我們使用 @pytest.mark.parametrize 來(lái)指定測(cè)試數(shù)據(jù)的范圍,并將 indirect 設(shè)置為 True:

@pytest.mark.parametrize("test_data", [1, 2, 3], indirect=True)  
def test_example(test_data):  
    assert test_data > 0

在這個(gè)例子中,pytest 會(huì)為每一組測(cè)試數(shù)據(jù)(1, 2, 3)調(diào)用 test_data fixture,并將 fixture 的返回值(即數(shù)據(jù)的兩倍)作為 test_example 測(cè)試用例的參數(shù)。因此,test_example 測(cè)試用例實(shí)際上會(huì)運(yùn)行三次,每次使用不同的參數(shù)值(2, 4, 6)。

通過(guò)這種方式,你可以使用 fixtures 來(lái)生成復(fù)雜的測(cè)試數(shù)據(jù),并通過(guò) @pytest.mark.parametrize 和 indirect=True 來(lái)參數(shù)化你的測(cè)試用例。

示例2:indirect間接引用fixture另外一種用法:

import pytest

# 定義一個(gè)fixture,返回一個(gè)字符串
@pytest.fixture
def string_fixture():
    return "Hello, World!"

# 定義另一個(gè)fixture,接受一個(gè)字符串作為參數(shù),并返回其長(zhǎng)度
@pytest.fixture
def length_fixture(request):
    string = request.getfixturevalue("string_fixture")
    return len(string)

# 使用indirect間接引用length_fixture,并將結(jié)果傳遞給test_example測(cè)試函數(shù)
def test_example(length_fixture):
    assert length_fixture == 13

在上面的示例中,我們定義了兩個(gè)fixture:string_fixture和length_fixture。string_fixture返回一個(gè)字符串,而length_fixture接受一個(gè)字符串作為參數(shù),并返回其長(zhǎng)度。

在test_example測(cè)試函數(shù)中,我們使用indirect間接引用了length_fixture,并將其結(jié)果傳遞給測(cè)試函數(shù)。這樣,pytest會(huì)自動(dòng)解析length_fixture的依賴關(guān)系,并獲取string_fixture的返回值作為輸入。

運(yùn)行上述代碼,將會(huì)執(zhí)行test_example測(cè)試函數(shù),并斷言字符串的長(zhǎng)度是否為13。由于使用了indirect間接引用,我們可以靈活地管理fixture之間的依賴關(guān)系,并在測(cè)試中使用它們的結(jié)果。

使用fixtures獲取所有fixtures

可以獲取當(dāng)前測(cè)試用例的所有fixtures。

import pytest

@pytest.fixture(scope="module")
def module_fixture():
    return "module data"

def test_example(module_fixture, request):
    fixtures = request.getfixturevalue("module_fixture")
    assert fixtures == "module data"

自定義fixture解析器

可以自定義解析器來(lái)控制如何解析fixture的名稱。

import pytest
from pytest_mock import MockerFixture

@pytest.fixture(scope="module", autouse=True)
def my_custom_parser(request, mocker: MockerFixture):
    mocker.patch("my_module.some_function", return_value="mocked value")
    request.addfinalizer(lambda: mocker.stop())

以上是pytest fixture的10種常見用法及示例,它們涵蓋了從基本使用到高級(jí)技巧的各個(gè)方面。掌握這些用法可以幫助你編寫更加高效和易于維護(hù)的測(cè)試代碼。

責(zé)任編輯:武曉燕 來(lái)源: 測(cè)試開發(fā)技術(shù)
相關(guān)推薦

2021-03-22 08:00:00

PHP開發(fā)框架

2022-05-10 11:18:42

自動(dòng)化測(cè)試軟件測(cè)試

2025-04-24 08:50:00

軟件架構(gòu)架構(gòu)軟件系統(tǒng)

2019-10-08 09:00:00

MySQL數(shù)據(jù)庫(kù)

2019-04-29 09:00:00

數(shù)據(jù)可視化JavaScript圖表庫(kù)

2022-10-08 07:30:17

網(wǎng)絡(luò)安全編程語(yǔ)言C++

2024-07-01 08:51:19

可視化數(shù)據(jù)分析漏斗

2022-09-25 23:34:42

算法回歸算法機(jī)器學(xué)習(xí)

2013-06-13 09:07:53

網(wǎng)吧網(wǎng)絡(luò)協(xié)議ipv6

2020-09-14 07:00:00

測(cè)試自動(dòng)化框架

2019-02-15 10:05:32

人工智能自動(dòng)化革命機(jī)器人

2023-09-01 09:21:03

Python自動(dòng)化測(cè)試

2022-03-15 09:11:42

Python編程模式數(shù)據(jù)類型

2020-01-10 09:00:00

開發(fā)者編程習(xí)慣編程方式

2023-08-18 14:36:00

ChatGPT人工智能

2023-05-15 15:29:13

設(shè)計(jì)模式JavaScript

2024-11-21 15:24:49

2021-03-23 08:00:00

工具開發(fā)審查

2021-01-07 05:28:20

接口PytestTep

2021-11-06 14:10:23

安全基礎(chǔ)勒索軟件攻擊
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

午夜精品小视频| 超碰人人爱人人| www.av成人| 国产精品22p| 日本免费一区二区视频| 亚洲成av人片| 日本一区二区三区视频在线播放| 一区两区小视频| 久久99国产精品自在自在app| 3d动漫精品啪啪一区二区竹菊| 伊人久久大香线蕉av一区| 在线免费看91| 亚洲国产美女| 国产亚洲成av人片在线观看桃| 天堂中文视频在线| www在线视频| 成人丝袜高跟foot| 国产精品欧美亚洲777777| 激情五月少妇a| 国产中文字幕一区二区三区| 日韩亚洲电影在线| 91香蕉视频污版| 欧美人与动牲性行为| 欧美国产丝袜视频| 亚洲自拍偷拍一区| 欧美日韩在线视频播放| 亚洲天堂男人| 久久av.com| 五月天精品在线| 午夜欧洲一区| 亚洲第一福利在线观看| 99sesese| 久久久久日韩精品久久久男男| 老熟妇仑乱视频一区二区| 黄色视屏免费在线观看| 久久众筹精品私拍模特| 欧美有码视频| 大桥未久av一区二区三区| 一区二区三区偷拍| 户外极限露出调教在线视频| 成人在线视频一区二区| 91精品视频在线播放| 亚洲毛片一区二区三区| 99av国产精品欲麻豆| 欧美另类极品videosbestfree| 亚洲一区 欧美| 一区二区三区日本久久久| 亚洲国产成人在线播放| 成人在线观看一区二区| 国产电影一区二区| 欧美日韩黄视频| 亚洲免费一级视频| 欧美影视资讯| 在线观看91视频| 午夜视频在线瓜伦| 欧美日韩精品免费观看视完整| 精品成人久久av| 精品国产一二三四区| 国产夫妻在线播放| 精品久久久久久久久久| 成人免费观看cn| 欧美巨大丰满猛性社交| 精品久久久久久久久久久久久久 | 国产口爆吞精一区二区| 久热成人在线视频| 成人精品一区二区三区电影黑人| 国产精品女人久久久| 精品一区二区三区的国产在线播放| 国产日韩欧美综合| 国产乱淫a∨片免费视频| 国产精品影视网| 国产精品亚洲不卡a| 日韩精品系列| 欧美国产一区二区| 国产免费一区二区三区四在线播放| 精品黄色免费中文电影在线播放| 亚洲精品中文字幕乱码三区| 日韩一级性生活片| 美女高潮在线观看| 在线观看91精品国产入口| 性生活免费在线观看| 精品视频一区二区三区在线观看| 欧美成人免费网站| 一区二区三区少妇| 欧美日韩国产传媒| 久久五月情影视| 日韩av无码中文字幕| 天堂成人免费av电影一区| 国产精品视频精品视频| 在线观看日韩高清av| 日韩av一卡二卡三卡| 亚洲大奶少妇| 亚洲欧美日韩精品久久亚洲区 | 一区二区三区四区av| 免费av观看网址| 国内自拍亚洲| 精品国产不卡一区二区三区| 精品欧美一区二区久久久| 在线一区免费| 国产成人自拍视频在线观看| 99久久精品国产一区色| 久久这里只有精品视频网| 秋霞在线一区二区| 英国三级经典在线观看| 91精品国产综合久久精品麻豆| 人妻无码中文久久久久专区| 国产电影一区二区在线观看| 97超级碰碰碰久久久| 国产精品一区二区免费视频| 久久这里只有精品首页| 国产一二三区在线播放| 美女久久久久久| 日韩第一页在线| 天天看片中文字幕| 视频一区视频二区中文| 国产精品乱码一区二区三区| 色多多视频在线观看| 欧美日韩中国免费专区在线看| 特级黄色片视频| 成人影院在线| 日韩av电影中文字幕| 亚洲精品久久久狠狠狠爱 | 成人看片在线观看| 精品剧情在线观看| 欧美a级片免费看| 天堂久久一区二区三区| 精品国产二区在线| 2024短剧网剧在线观看| 欧美日韩视频专区在线播放| 人妻精品久久久久中文字幕| 伊人成人在线| 99久久99| 在线视频国产区| 777xxx欧美| 国产又色又爽又高潮免费| 久久亚洲美女| 欧美日韩一区在线播放| 女人让男人操自己视频在线观看| 日韩精品中文字幕一区| 午夜免费激情视频| 国内精品免费**视频| 亚洲一区二区三区加勒比| 欧美影视资讯| 最新的欧美黄色| 这里只有精品999| 欧美国产精品专区| 日本久久久久久久久久久久| 凹凸成人精品亚洲精品密奴| 国产ts人妖一区二区三区 | 久久久精品国产免费观看同学| 男人日女人逼逼| 九色精品91| 国产成人在线视频| aaa在线观看| 欧美美女直播网站| xxxx日本少妇| 国产成人av自拍| 免费拍拍拍网站| 理论片午夜视频在线观看| 中文字幕日本不卡| 久久撸在线视频| 久久福利综合| 91日本视频在线| 尤物视频在线看| 欧美v亚洲v综合ⅴ国产v| 免费中文字幕视频| av一区二区三区黑人| 日韩免费一级视频| 欧美伦理影院| 亚洲伊人一本大道中文字幕| 毛片在线网址| 亚洲精品视频久久| 国产精品久久久久av免费| 男女污视频在线观看| 欧美亚男人的天堂| 天天色影综合网| 国产成人精品亚洲777人妖| 隔壁人妻偷人bd中字| 久久精品论坛| 国产精品色视频| 天堂av在线电影| 亚洲精品中文字幕有码专区| 中文字幕1区2区3区| 一区二区三区日韩欧美| 成人免费无码大片a毛片| 石原莉奈一区二区三区在线观看| 一区二区三区四区视频在线观看| 91午夜精品| 国产精品国产福利国产秒拍| 成人高清免费在线| 日韩精品小视频| 国产又粗又黄又爽| 图片区小说区区亚洲影院| 手机免费看av| 丁香一区二区三区| 天美星空大象mv在线观看视频| 欧美国产高潮xxxx1819| 欧美日韩一区二区视频在线观看| 国产精品久久久久久av公交车 | a天堂资源在线| 一本色道久久综合亚洲精品小说 | 成人国产激情在线| 欧美日韩国产第一页| 国产中文字幕在线播放| 日韩精品中文字幕在线一区| 性高潮视频在线观看| 亚洲福利一区二区三区| 99久久久无码国产精品不卡| 91视视频在线观看入口直接观看www | 亚洲一区二区三区四区五区六区| 激情综合五月天| 国内外成人免费激情视频| 一区二区三区四区在线观看国产日韩| 欧美日韩精品免费观看视一区二区| 视频在线一区| 国产日韩av高清| 欧美人体一区二区三区| 久久免费精品日本久久中文字幕| 波多野结衣在线影院| 日韩av在线导航| 亚洲成a人片77777精品| 在线91免费看| 中文字幕一二三四| 色婷婷国产精品| 日韩成人免费在线观看| 亚洲激情五月婷婷| av最新在线观看| 国产清纯在线一区二区www| 99re久久精品国产| 成人午夜精品一区二区三区| 91香蕉视频免费看| 久久99国产精品久久| 一区二区三区免费播放| 日韩av一区二区三区四区| 亚洲色成人一区二区三区小说| 亚洲成人直播| 成人免费性视频| 精品成人久久| 男女猛烈激情xx00免费视频| 狠狠入ady亚洲精品| 成人一区二区av| 国语自产精品视频在线看8查询8| 99亚洲国产精品| 伊人久久大香线蕉综合四虎小说| 黄频视频在线观看| 天天综合精品| 日韩最新中文字幕| 五月开心六月丁香综合色啪| 天天综合中文字幕| 亚洲成人国产| 国产树林野战在线播放| 欧美日韩一区二区三区四区在线观看 | 日本性生活一级片| 成人久久18免费网站麻豆 | 日本亚洲不卡| 免费99视频| 国产毛片一区二区三区| 亚洲日本理论电影| 天天做天天爱天天综合网| 异国色恋浪漫潭| 综合国产精品| 日韩av高清在线看片| 六月天综合网| 538任你躁在线精品免费| 精品一区二区三区的国产在线播放| 一级黄色免费毛片| 成人性生交大片| theav精尽人亡av| 欧美激情一区在线观看| 日本 欧美 国产| 亚洲午夜精品17c| 免费av网站在线| 欧美日韩视频在线第一区| 国产内射老熟女aaaa∵| 亚洲精品www久久久| 狠狠v欧美ⅴ日韩v亚洲v大胸| 中文字幕国产亚洲2019| 天使と恶魔の榨精在线播放| 91成人国产在线观看| 国产精品麻豆成人av电影艾秋| 亚洲综合在线播放| 琪琪久久久久日韩精品| 亚洲精品一区二区三区av| 欧美大片一区| 亚洲人成无码www久久久| 韩国欧美国产一区| 欧美无人区码suv| 中文字幕永久在线不卡| 日产欧产va高清| 欧美另类久久久品| 天天色综合久久| 日韩精品一区二区三区在线观看| 国产探花视频在线| 亚洲美女屁股眼交| 日韩欧美性视频| 欧美三区免费完整视频在线观看| 日本特级黄色大片| 一本到12不卡视频在线dvd| 一本久道高清无码视频| 美女一区二区三区在线观看| 高清中文字幕mv的电影| 中文字幕巨乱亚洲| 国产精品白浆一区二小说| 欧美性大战久久久| 欧美特黄一级视频| 北条麻妃一区二区三区中文字幕| 国产中文在线播放| 91老司机在线| 精品国产123区| 国产精品网站免费| 精品写真视频在线观看| 人妻少妇精品视频一区二区三区| 亚洲人成精品久久久久久| 天天干天天操天天爱| 欧美xxxxxxxx| av在线app| 国产精品专区一| 视频国产一区| 六月丁香婷婷激情| 3atv一区二区三区| 欧美精品a∨在线观看不卡| 欧美成人在线影院| h1515四虎成人| 蜜桃网站成人| 中文一区在线| 香蕉视频免费网站| 亚洲色图第一区| 一级全黄少妇性色生活片| 亚洲午夜未删减在线观看| www.51av欧美视频| 色综合久久综合| 亚洲无码精品国产| 亚洲视频电影图片偷拍一区| 91超碰国产在线| 国产在线精品一区二区中文| 狠色狠色综合久久| 91免费视频污| 亚洲精品欧美激情| 99视频免费看| 欧美成人午夜剧场免费观看| 成人噜噜噜噜| 经典三级在线视频| 国产伦精品一区二区三区免费 | 国产成人一区二区| 精品在线91| 国产精品亚洲αv天堂无码| 2020日本不卡一区二区视频| 亚洲GV成人无码久久精品| 亚洲精品一区中文| free欧美| 一区二区三区四区视频在线观看| 国产中文字幕精品| 欧美成欧美va| 亚洲精品suv精品一区二区| 小草在线视频免费播放| 欧美精彩一区二区三区| 视频在线在亚洲| 免费一级suv好看的国产网站| 欧美老女人第四色| 三级福利片在线观看| 国产一区二区精品免费| 国产欧美亚洲一区| 欧美多人猛交狂配| 欧美日韩视频在线一区二区| 中文字幕有码在线视频| 国产成人亚洲欧美| 国产日韩欧美三级| 一本在线免费视频| 日韩一区二区高清| 女厕盗摄一区二区三区| 亚洲福利av| 国产福利一区二区三区| 日本韩国欧美中文字幕| 一本一本久久a久久精品牛牛影视 一本色道久久综合亚洲精品小说 一本色道久久综合狠狠躁篇怎么玩 | 亚洲精品午夜视频| 欧美年轻男男videosbes| 亚洲wwwww| 欧美日韩一区二区三| 国产一区二区三区精品视频| 久久久精品免费看| 最近2019中文字幕在线高清| 第四色中文综合网| www.99av.com| 亚洲一本大道在线| 国产一级二级三级在线观看| 亚洲综合国产精品| 老司机一区二区三区| 日本高清不卡免费| 精品视频久久久| www.久久久久爱免| 成人在线免费观看av| 亚洲视频香蕉人妖| 亚欧洲精品视频| 96sao精品视频在线观看| 亚洲黄色高清| 91香蕉视频网| 亚洲欧美日韩中文视频| ccyy激情综合| 日韩在线不卡一区| 欧美日韩在线一区|