精品欧美一区二区三区在线观看 _久久久久国色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)

91在线观看网站| 久久精品成人欧美大片古装| 很污的网站在线观看| 少妇人妻一区二区| 视频一区视频二区在线观看| 伊人久久大香线蕉av一区二区| 牛夜精品久久久久久久| 羞羞电影在线观看www| 99精品国产热久久91蜜凸| 国产精品久久久久久av福利| 亚洲av无码一区二区三区在线| 高清精品视频| 欧美理论电影在线| 日韩精品 欧美| 看黄网站在线| 国产欧美日韩精品一区| 国产女主播一区二区三区| 亚洲一卡二卡在线观看| 一本久道久久综合婷婷鲸鱼| 日韩中文字幕免费看| 久久偷拍免费视频| 日本少妇精品亚洲第一区| 欧美性色aⅴ视频一区日韩精品| 国产小视频免费| 2019中文字幕在线视频| 99亚偷拍自图区亚洲| 96精品久久久久中文字幕| 蜜臀精品一区二区三区| 亚洲精品激情| 另类色图亚洲色图| 免费看一级黄色| 国产欧美日韩| 精品无码久久久久久国产| 无码国产精品久久一区免费| 少妇高潮一区二区三区99| 色婷婷亚洲精品| 国产黄页在线观看| 波多野结衣中文在线| 亚洲人成网站色在线观看| 亚洲精品欧美精品| 国产精品毛片一区二区三区四区| 91影院在线观看| 国产私拍一区| 熟妇人妻av无码一区二区三区| 国产乱色国产精品免费视频| 国产在线高清精品| 做爰无遮挡三级| 人人爽香蕉精品| 国产精品三级网站| 中文av免费观看| 老司机免费视频一区二区三区| 国产精品欧美一区二区| 999视频在线| 丝袜亚洲另类欧美| 国产成人一区二区三区电影| 黄色网址中文字幕| 美国十次了思思久久精品导航| 国产精品av网站| 中文字幕久久网| 久久国产精品免费| 91久久国产精品91久久性色| 国产普通话bbwbbwbbw| 无码精品在线观看| 91成人精品观看| 91 com成人网| 免费国偷自产拍精品视频| 国产精品高清一区二区| 日韩欧美一卡二卡| 天天躁日日躁狠狠躁av麻豆男男| 丁香一区二区| 亚洲欧美www| 色欲狠狠躁天天躁无码中文字幕| 北条麻妃国产九九九精品小说| 在线观看精品国产视频| 99热6这里只有精品| 91精品二区| 高清一区二区三区四区五区| 久久久久亚洲av成人毛片韩| 日韩制服丝袜av| 成人av色在线观看| www.久久综合| 91日韩在线专区| 亚洲精品欧洲精品| av丝袜在线| 91九色02白丝porn| 成人免费播放视频| 最近国产精品视频| 久久国产精品久久精品| 日韩av电影网址| 日本视频在线一区| www.久久草| 国产中文字幕在线视频| 国产精品成人一区二区三区夜夜夜| 国产又粗又硬又长| 原纱央莉成人av片| 欧美一区中文字幕| 爱爱免费小视频| 亚洲a在线视频| 欧美一级片久久久久久久| 一级黄色片免费看| 91在线观看污| 青青在线免费视频| 日本不卡一二三| 精品免费99久久| 天堂资源在线视频| 成人在线免费电影| 在线观看国产精品入口| 国产69久久精品成人| 国产精品国产三级国产aⅴ| www..com久久爱| 亚洲精品国产精品国自产| cao在线视频| 欧美一区二区日韩一区二区| 中文字幕在线观看免费高清| 亚洲国产美女 | 亚洲综合欧美综合| 欧美三区不卡| 国产欧美精品一区二区| 四虎国产精品永远| 国产精品不卡在线| 国产精品无码av无码| 风间由美一区二区av101| 色综合伊人色综合网站| aaaaaa毛片| 99精品视频一区二区三区| 8x8x华人在线| www.久久久.com| 在线观看日韩av| 无码视频在线观看| 91原创在线视频| 九一国产精品视频| 国产乱论精品| 欧美日韩国产va另类| 国产一区二区三区在线观看 | 久久亚洲一区二区三区四区五区高| 少妇精品无码一区二区免费视频| 亚洲在线视频| 精品国产aⅴ麻豆| 久草在线视频福利| 欧美一区二区三区小说| 91制片厂在线| 久国产精品韩国三级视频| 亚洲欧美一区二区原创| 日韩影片中文字幕| 亚洲欧美三级在线| 成人免费毛片视频| 91麻豆国产福利精品| www国产精品内射老熟女| 欧美aaaaaaaa牛牛影院| 国内精品400部情侣激情| 亚洲美女综合网| 天涯成人国产亚洲精品一区av| 亚洲少妇一区二区三区| 亚洲经典视频在线观看| 国产一区二区自拍| 北岛玲heyzo一区二区| 国产丝袜视频一区| 五月婷婷激情视频| 国产欧美一区二区三区在线老狼| 国产免费视频传媒| 免费成人av| 国产精品久久久久久久久久东京| 成人欧美一区| 欧美另类z0zxhd电影| 精品欧美一区二区久久久久| 懂色av一区二区夜夜嗨| koreanbj精品视频一区| 狠狠操综合网| 成人自拍性视频| 伊人精品影院| 日韩国产精品亚洲а∨天堂免| 欧美一级特黄视频| 亚洲国产精品高清| 三级黄色片免费观看| 在线高清一区| 日韩理论片在线观看| 九九久久国产| 欧美激情按摩在线| 你懂的免费在线观看| 欧美日韩中文另类| 久久综合亚洲色hezyo国产| 91在线观看免费视频| 亚洲激情在线观看视频| 欧美一区二区三区久久精品| 久久99国产精品99久久| 欧美亚洲黄色| 97视频在线观看免费高清完整版在线观看 | 91在线直播| 日韩欧美中文一区二区| 少妇一级淫片免费放中国| 亚洲国产成人自拍| 久久久久99人妻一区二区三区| 精品人妻少妇嫩草av无码专区| 国产原创一区二区| 男人添女人下面高潮视频| 日韩理论在线| 国产尤物99| 国产乱码精品一区二区三区亚洲人 | 国产精品va在线观看视色| 亚洲高清在线观看| 亚洲天堂久久久久| 精品久久久久久中文字幕| 人与动物性xxxx| av亚洲精华国产精华| 手机av在线网| 免费视频久久| 久久久久久www| 亚洲欧美网站在线观看| 日本一区不卡| 久久aimee| 亚洲一区久久久| 免费在线观看一区| 91av视频在线| 日本伦理一区二区| 日韩国产在线播放| 亚洲精品无码专区| 91精品在线免费| 亚洲永久精品一区| 欧美色视频日本版| 国产精品19乱码一区二区三区| 国产精品久久福利| 永久免费av无码网站性色av| 99久久久无码国产精品| 少妇极品熟妇人妻无码| 久久国产剧场电影| 日本黄大片一区二区三区| 久久免费高清| 91精品91久久久中77777老牛| 国产一区二区三区四区三区四 | 亚洲成在人线免费| 精品无码一区二区三区蜜臀| 中文字幕乱码日本亚洲一区二区| 全黄一级裸体片| 26uuu欧美日本| 天堂久久久久久| www.欧美日韩国产在线| 99久久综合网| 国产成人精品影视| av在线天堂网| 国产成人精品三级麻豆| 国模大尺度视频| 国产美女在线精品| 无码人妻一区二区三区在线视频| 青草av.久久免费一区| 女性隐私黄www网站视频| 欧美一级网站| 99热成人精品热久久66| 快she精品国产999| 日韩一级免费在线观看| 天堂va蜜桃一区二区三区| 久久国产色av免费观看| 肉色丝袜一区二区| 在线观看av网页| 麻豆精品国产91久久久久久| 中文字幕免费高清在线| 久久97超碰色| 波多野结衣三级视频| 成人sese在线| 免费看黄色aaaaaa 片| 久久亚洲欧美国产精品乐播| 国精产品一区一区三区免费视频 | 日韩国产欧美在线观看| 91蝌蚪视频在线观看| 美女国产一区二区三区| 欧美日韩精品区别| 国产91在线观看| 在线视频 日韩| 久久久www免费人成精品| 成人在线手机视频| 亚洲人成在线网站| 亚洲色图美腿丝袜| 福利片在线看| 久久成年人视频| 嗯啊主人调教在线播放视频| 琪琪第一精品导航| 自拍偷拍亚洲图片| 狠狠色狠狠色综合人人| 精品国产成人| 日本一区二区三区四区五区六区| 国内在线观看一区二区三区| heyzo国产| 精品一区二区三区日韩| 漂亮人妻被黑人久久精品| 国产欧美日韩亚州综合| 久久久久99精品成人片毛片| 一本色道久久综合亚洲aⅴ蜜桃 | 人人狠狠综合久久亚洲| 中文字幕久久久久久久| 91亚洲国产成人精品一区二区三| 欧美成人短视频| 香蕉成人啪国产精品视频综合网| 18国产免费视频| 蜜桃一区二区三区| 亚洲人成伊人成综合图片| 国产精品无av码在线观看| 国产精品777777在线播放| 国内成+人亚洲| 色婷婷色综合| 水蜜桃色314在线观看| 日本不卡视频一二三区| 国产一精品一aⅴ一免费| 久久无码av三级| 麻豆成人在线视频| 欧美视频一区二区三区在线观看| 亚洲h视频在线观看| 尤物yw午夜国产精品视频明星| 女囚岛在线观看| 国产日韩精品入口| 国产va免费精品观看精品视频| a级片一区二区| 日本伊人午夜精品| 日本黄色片在线播放| 亚洲人成影院在线观看| 精品乱码一区内射人妻无码| 亚洲激情在线视频| 26uuu亚洲电影在线观看| 国产精品成人在线| 青青草免费av| 久久 天天综合| 成年人网站免费在线观看| 亚洲综合图片区| 91福利在线观看视频| 亚洲欧美中文日韩v在线观看| 丰满诱人av在线播放| 91色精品视频在线| 久久影视一区| 亚洲成色www.777999| 久久视频一区二区| 日本少妇激情视频| 欧美大胆人体bbbb| 天堂8中文在线| 91亚洲精品久久久久久久久久久久| 欧美美女一区| 国产成人无码av在线播放dvd| 97se亚洲国产综合自在线观| 国产在线一二区| 欧美大片顶级少妇| 黄色美女视频在线观看| 99久久精品无码一区二区毛片| 99久久精品费精品国产| 尤物国产在线观看| 中文字幕亚洲不卡| 91成品人影院| 久久九九免费视频| 96视频在线观看欧美| 久久免费视频2| 国产精品99久久久久久有的能看| 伊人久久久久久久久久久久久久| 欧美日韩精品一区二区天天拍小说 | 岛国片av在线| 国产日韩精品推荐| 亚洲免费高清| 插吧插吧综合网| 欧美综合色免费| 色开心亚洲综合| 91中文字幕一区| 亚洲性感美女99在线| 午夜免费福利影院| 精品久久久久久久久国产字幕| 色综合成人av| 国产精品丝袜视频| **女人18毛片一区二区| 日本黄色一级网站| 亚洲成av人片在线观看无码| 日本福利片高清在线观看| 国产黑人绿帽在线第一区| 日韩欧美网址| 99热这里只有精品2| 性感美女久久精品| 国产一级在线| 成人女保姆的销魂服务| 午夜欧美精品久久久久久久| 精品无码人妻少妇久久久久久| 婷婷国产v国产偷v亚洲高清| a天堂在线资源| 91久久国产婷婷一区二区| 亚洲久久一区| 在线看片中文字幕| 日韩亚洲欧美中文三级| 美女在线视频免费| 色综合久久av| 国产福利91精品一区| 天天操天天摸天天干| 色偷偷偷综合中文字幕;dd| 久久综合给合| 日韩a在线播放| 亚洲欧美自拍偷拍| 熟妇高潮一区二区三区| 欧美一区二区三区性视频| 国产精品国产三级国产专区52| 亚洲欧洲日本专区| 国产精品久一| 国产aaa一级片| 亚洲精品视频在线看| 美女毛片在线看| 99久久国产免费免费| 蜜桃视频免费观看一区| 成年人免费看毛片| 久久精品视频99| 亚洲涩涩av|