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

Visual Studio 2010操作對象的識別原理

開發 后端
今天我們將要談到的是Visual Studio 2010操作對象的識別原理,這也是Visual Studio 2010在開發測試方面的重要功能。

在UI操作中,操作動作總是離不開具體的操作對象,例如點擊,拖動,填寫值等操作,總是要對文本框,或者按鈕,窗體這些對象進行操作,不是憑空生成的。本章作為入門篇的***一章,將會說明編碼的UI測試是如何識別這些對象的,并介紹UIMap.UItest文件是如何生成對象識別代碼。

對象的識別原理

之前我們錄制的時候,錄制生成器解析了我們的操作對象,并且為我們生成了對象識別代碼(也就是UIMap.UItest下<Map>節點的那部分),以便我們在回放的時候,能夠識別到我們要操作的是哪一個對象

在編碼的UI測試中,對象的識別主要是同時按以下三個方面進行

1. 按對象類別:對象屬于什么類別,例如是button還是textBox

2. 按關鍵標識屬性:能唯一識別該對象的屬性

3. 按層級關系:對象在其父對象中的層次

下面開始進行詳細介紹:

一.按對象類別: 

為便于理解,以web程序為例,假設我們的識別代碼中,寫明讓VS2010按WebButton識別一個對象,那么VS2010則會在頁面源碼中只找到那些html標簽是<input type=“submit”>的控件,如果識別代碼中描寫的是按WebLink識別對象,則VS2010只在頁面源碼中找到那些是<a>的標簽。

二.按關鍵標識屬性:

通過對象類別,已經能識別出來某一類的對象,在這個基礎上,接下來就需要用關鍵識別屬性進行精準標識了,我們需要找出能唯一識別該對象的屬性,假如一個窗體如下

這個窗體中包含了3個button,我們想讓VS2010操作到***個Button,如何區分這些Button呢?這就要用到關鍵標識屬性來標識唯一一個對象

關鍵標識屬性分為兩種----自身標識屬性和輔助標識屬性。

1.自身標識屬性:

也就是屬于對象的屬性,例如,button擁有Name,Text,Enable,BackColor等屬性,我們假設上面那個窗體的Button的各個屬性如下

很明顯可以發現,***個button的Name屬性和和其他的button不一樣,那么可以用其作為他的關鍵標識屬性,并且寫在識別代碼中,這樣vs2010就可以在這些button中能唯一識別他,例如,將Name=button2寫到識別代碼中,就可以唯一識別第二個Button

假設3個button的Name一樣,而BackColor不同,也可以用BackColor作為關鍵標識屬性。

2.輔助標識屬性:

在自動化測試中,還有一種屬性叫做輔助標識屬性,他并不屬于對象的屬性,但可以輔助標識對象

假設剛才那個窗體的各button屬性如下:

可以發現他們的自身屬性都是一模一樣的,那么怎么做才能讓VS2010識別他呢?仔細觀察可以發現這樣一個情況

我們可以通過該對象是第幾個對象這樣的輔助屬性進行標識他

比如如果要識別第3個Button,則需要在識別代碼中設置其輔助標識屬性“對象序號”為3

三.按層級關系:

雖然上面確定了唯一對象,的確已經可以標識出對象了,不過實際上在識別的時候還會按層級關系查找,例如***章提到的一個簡單的窗體

我們用錄制生成器解析他的***個文本框Tbx_uid,在自動生成的識別代碼中,他們的層級關系是這樣的

對應到剛才的Form,層級為:

VS2010在識別這個Textbox1的時候,會只識別屬于 系統登錄Window下的Tbx_uidWindow下的Tbx_uid文本框

(注:按照常規的理解,其實應該“系統登錄窗體”和“Tbx_uid文本框”只有兩個層級,也就是窗體下直接就是文本框,但是VS2010默認解析的時候,會把一個TextBox解析成兩個層級,分為TextBoxWindow和TextBoxEdit,結果本來應該總共只有兩級結果搞成了三級,如果仔細觀察可以發現其他控件也是這樣的,所以在這里糾結的朋友希望你們看到此段后能夠減輕些疑惑...)

UIMap.UItest文件控制識別代碼的生成

在第二章上部分已經提到,在UIMap.uitest文件中,對象的識別代碼的生成部分是放在<Maps>節點下的,點擊生成代碼后,會將其真正起作用的識別代碼生成到UIMap.designer.cs下,那么他們的代碼究竟是怎樣的呢?

以剛才那個窗體生成的代碼為例,我們要識別TextBox1,如果使用錄制生成器,把TextBox1填入到對象庫,我們來看看他生成的識別代碼(可以簡略看,下面會有說明)

別看UIMap.uitest里為這些對象生成的了一大堆代碼,其實對象中真正管作用的屬性就ControlType,ID兩個:

而管作用的節點也就這么兩個:

<AndCondition>這個節點表示識別條件,他的子節點為<PropertyCondition>,表示具體識別條件,識別原理之二的關鍵標識屬性就用這個表示

<Descendants>這個節點用于存放這個對象的子對象,識別原理之三的層級關系就是用這個表示 

現在把上面自動生成的代碼優化一下,把不必要的代碼刪除,并加上注釋。然后再使用這段XML代碼在錄制生成器生成UIMap.designer.cs代碼

  1. <Maps> 
  2.    <UIMap Id="UIMap1"> 
  3.      <TopLevelWindows> 
  4.        <!--表示***級別的窗體,屬性ControlType表示按類型“Window”類型識別對象,對應識別原理之一--> 
  5.        <TopLevelWindow  ControlType="Window" Id="UI系統登錄Window"> 
  6.          <!--TechnologyName標簽沒有實際作用,但是刪除了會報錯,因此保留,之后的也是--> 
  7.          <TechnologyName>MSAA</TechnologyName> 
  8.          <AndCondition Id="SearchCondition"> 
  9.            <!--表示窗體的關鍵標識屬性,識別的時候尋找Name屬性為“系統登錄”的窗體,對應識別原理之二--> 
  10.           <PropertyCondition Name="Name">系統登錄</PropertyCondition> 
  11.           <!--表示窗體的關鍵標識屬性,識別的時候尋找ClassName屬性為“WindowsForms10.Window”的窗體--> 
  12.           <PropertyCondition Name="ClassName" Operator="Contains">WindowsForms10.Window</PropertyCondition> 
  13.         </AndCondition> 
  14.         <!--表示窗體的子對象,對應識別原理之三--> 
  15.         <Descendants> 
  16.           <!--UI對象,按類型“Window”類型識別--> 
  17.           <UIObject ControlType="Window" Id="UITbx_uidWindow"> 
  18.             <TechnologyName>MSAA</TechnologyName> 
  19.             <AndCondition Id="SearchCondition"> 
  20.               <!--關鍵標識屬性,ControlName屬性為“Tbx_uid”的對象--> 
  21.               <PropertyCondition Name="ControlName">Tbx_uid</PropertyCondition> 
  22.             </AndCondition> 
  23.            <!--他的子對象--> 
  24.             <Descendants> 
  25.            <!--UI對象,按類型“Edit”(文本框)類型識別--> 
  26.               <UIObject ControlType="Edit" Id="UITbx_uidEdit"> 
  27.                <TechnologyName>MSAA</TechnologyName> 
  28.                <AndCondition Id="SearchCondition"> 
  29.                <!--關鍵標識屬性,Name屬性為“密碼 :”--> 
  30.                 <PropertyCondition Name="Name">密碼 :</PropertyCondition> 
  31.                </AndCondition> 
  32.                <Descendants /> 
  33.              </UIObject> 
  34.             </Descendants> 
  35.          </UIObject> 
  36.        </Descendants> 
  37.      </TopLevelWindow> 
  38.   </TopLevelWindows> 
  39.   </UIMap> 
  40. /Maps> 

接下來使用錄制生成器生成UIMap.designer.cs代碼,可以看到代碼如下

  1.   [GeneratedCode("編碼的 UI 測試生成器""10.0.30319.1")]  
  2.   public class UI系統登錄Window : WinWindow
  3. //這里的繼承于WinWindow,是根據剛才XML文件里的屬性ControlType="Window"生成的,表示按Window識別,對應識別原理之一  
  4.   {  
  5.         
  6.       public UI系統登錄Window()  
  7.       {  
  8.           //這里是搜索條件,也就是關鍵識別屬性,根據XML文件的AndCondition節點中的內容生成,對應識別原理之二  
  9.           #region 搜索條件  
  10.           this.SearchProperties[WinWindow.PropertyNames.Name] = "系統登錄";  
  11.   this.SearchProperties.Add(new PropertyExpression(WinWindow.PropertyNames.ClassName, "WindowsForms10.Window", PropertyExpressionOperator.Contains));  
  12.       #endregion  
  13.    }  
  14.    //這里是他的子對象,對應于XML文件的Descendants節點,對應識別原理之三  
  15.    #region Properties  
  16.    public UITbx_uidWindow UITbx_uidWindow  
  17.   {  
  18.        get 
  19.         {  
  20.            if ((this.mUITbx_uidWindow == null))  
  21.           {  
  22.                  this.mUITbx_uidWindow = new UITbx_uidWindow(this);  
  23.            }  
  24.             return this.mUITbx_uidWindow;  
  25.          }  
  26.    }  
  27.   #endregion  
  28.     #region Fields  
  29.     private UITbx_uidWindow mUITbx_uidWindow;  
  30.     #endregion  
  31. }  
  32. GeneratedCode("編碼的 UI 測試生成器""10.0.30319.1")]  
  33. public class UITbx_uidWindow : WinWindow
  34. //這里的繼承于WinWindow,是根據剛才XML文件里的屬性ControlType="Window"生成的,表示按Window識別  
  35.  
  36.    public UITbx_uidWindow(UITestControl searchLimitContainer) :   
  37.              base(searchLimitContainer)  
  38.     {  
  39.       //這里是搜索條件,也就是關鍵識別屬性,根據XML文件的AndCondition節點中的內容生成  
  40.        #region 搜索條件  
  41.        this.SearchProperties[WinWindow.PropertyNames.ControlName] = "Tbx_uid";  
  42.        #endregion  
  43.     }  
  44.     //這里是他的子對象,對應于XML文件的Descendants節點  
  45.     #region Properties  
  46.    public WinEdit UITbx_uidEdit
  47. //這里的類型為WinEdit,是根據剛才XML文件里的屬性ControlType生成的(ControlType="Edit")  
  48.     {  
  49.       get 
  50.        {  
  51.            if ((this.mUITbx_uidEdit == null))  
  52.             {  
  53.               this.mUITbx_uidEdit = new WinEdit(this);  
  54.               //這里是搜索條件,也就是關鍵識別屬性,根據XML文件的AndCondition節點中的內容生成  
  55.               #region 搜索條件  
  56.               this.mUITbx_uidEdit.SearchProperties[WinEdit.PropertyNames.Name] = "密碼 :";  
  57.              #endregion  
  58.            }  
  59.           return this.mUITbx_uidEdit;  
  60.       }  
  61.    }  
  62.  #endregion  
  63. #region Fields  
  64.   private WinEdit mUITbx_uidEdit;  
  65.    #endregion  
  66.  } 

總結

在本章介紹了VS2010的對象識別原理,想必大家對這個應該有所了解了吧?

我曾今在用UI測試做項目的時候,經常會發現這樣那樣的對象不能用錄制生成器識別,這個時候怎么辦呢?了解了對象識別原理,就可以自己改XML文件來控制對象的識別,如果有想做這方面練習的朋友,可以留下你的郵箱,我這里正在編寫一個C# Winform小程序,這個程序上的所有控件都經過特殊處理,無法用錄制生成器識別,只有通過自己修改XML文件來控制它的識別,如果想試試自己的身手,別忘了留下郵箱哦~~

到這里編碼的UI測試的入門篇就完結了,接下來會進入進階篇,以實際的例子描述如何對一個項目進行測試

附1:VS2010編碼的UI測試支持識別的對象

平臺 支持級別
Windows Internet Explorer 7.0
Windows Internet Explorer 8.0
(包括 HTML 和 AJAX)
完全支持
Windows Internet Explorer 6.0 不支持
鑲邊OperaSafari 不支持
Silverlight 3.0 不支持
Flash/Java 不支持
Windows 窗體 2.0 及更高版本 完全支持
注意
完全支持 NetFx 控件,但并非支持所有第三方控件。
WPF 3.5 及更高版本 完全支持
注意
完全支持 NetFx 控件,但并非支持所有第三方控件。
Windows Win32 可適用于某些已知問題,但不正式支持
MFC 可適用于某些已知問題,但不正式支持
SharePoint 部分支持
Office 客戶端應用程序 不支持
Dynamics (Ax) 部分支持
SAP 不支持
Citrix/終端服務 部分支持

注:Silverlight4 現在已支持,詳情見http://www.silverlightshow.net/news/Coded-UI-testing-for-Silverlight-4-now-available-.aspx,

原文鏈接:http://www.cnblogs.com/realdigit/archive/2011/03/02/1968454.html

【編輯推薦】

  1. Visual Studio 2010擴展讓JS與CSS實現折疊
  2. 初步了解Visual Studio 2010 Professional專業版
  3. Visual Studio 2010中使用MTLM管理測試工具
  4. Visual Studio 2010 SP1公測版已經發布
  5. Visual Studio 2010中敏捷開發流程模板的應用
責任編輯:彭凡 來源: 博客園
相關推薦

2009-12-02 09:43:38

Visual Stud

2009-10-27 09:12:50

Visual Stud

2009-11-10 13:43:37

Visual Stud

2009-11-11 09:48:06

Visual Stud

2010-02-22 16:43:33

Visual Stud

2009-04-23 14:05:28

Visual Stud歷史調試功能

2010-02-05 09:06:17

Visual Stud

2011-02-13 17:10:28

Visual Stud

2010-04-06 17:32:02

Visual Stud

2010-04-16 14:08:46

Visual Stud

2009-11-13 14:59:12

Visual Stud

2009-12-11 13:14:45

Visual Stud

2009-11-11 14:26:13

Visual Stud

2010-04-12 08:43:45

Visual Stud

2010-05-06 14:43:29

Visual Stud

2009-09-07 09:22:17

Visual Stud代碼片段

2010-07-22 13:23:43

2010-09-25 08:50:00

Visual Stud

2010-07-15 08:50:09

SharePointVisual Stud

2010-03-19 13:17:26

Parallel
點贊
收藏

51CTO技術棧公眾號

日韩丝袜情趣美女图片| 在线观看xxx| 一区二区三区视频免费观看| 天天色综合成人网| 日韩一本精品| 国产一区二区在线播放视频| 99热在线成人| 精品国产精品网麻豆系列 | 国产成年人视频网站| 高清毛片在线看| 国产精品996| 欧美激情女人20p| 在线不卡av电影| 美女18一级毛片一品久道久久综合| 国产精品日日摸夜夜摸av| av免费精品一区二区三区| 日韩欧美中文字幕制服| 国产不卡一区二区三区在线观看| av图片在线观看| 色97色成人| 精品性高朝久久久久久久| 欧美大片久久久| 激情国产在线| 亚洲同性同志一二三专区| 69堂成人精品视频免费| 国产精品第六页| 激情欧美亚洲| 久久99热这里只有精品国产 | 99精品女人在线观看免费视频| 一区二区激情视频| 欧洲精品久久| 手机亚洲第一页| 蜜桃在线一区二区三区| 久久综合久久美利坚合众国| 免费网站在线高清观看| 欧美美女啪啪| 亚洲变态欧美另类捆绑| 波多野结衣国产精品| 日本黄色一区| 色欧美乱欧美15图片| 国产网红主播福利一区二区| 日韩视频精品在线| 一级特黄曰皮片视频| 视频福利一区| 亚洲精品国产精品乱码不99按摩| 伊人影院在线观看视频| 玖玖玖视频精品| 欧美精选在线播放| 日韩av资源在线| 8x8ⅹ拨牐拨牐拨牐在线观看| 一区二区三区小说| 久久久99精品视频| 香蕉成人app免费看片| 国产精品免费av| 亚洲高清在线观看一区| 日本综合在线| 欧美精彩视频一区二区三区| 欧美一区观看| 在线免费av电影| 成人免费在线视频| 一区二区三区电影| 国产不卡在线| 亚洲综合色区另类av| 激情五月婷婷六月| 国产偷倩在线播放| 精品国产精品三级精品av网址| 可以看毛片的网址| 成人动漫一区| 欧美色偷偷大香| 一级黄色大片儿| 成人av资源网址| 日韩黄在线观看| 国内精品400部情侣激情| 欧美一级大片免费看| 丁香久久综合| 欧美一卡二卡三卡| 国产人妖在线观看| 亚洲精品进入| 亚洲性夜色噜噜噜7777| 国产wwwwxxxx| 欧美色综合网| 国产成人91久久精品| 夜夜嗨aⅴ一区二区三区| 国产一区不卡视频| 精品无人区一区二区三区竹菊| 国产福利电影在线| 亚洲精品综合在线| 成年网站在线免费观看| 新版的欧美在线视频| 欧美日韩一区成人| 亚洲色图欧美另类| 成人羞羞视频在线看网址| 久久久精品视频在线观看| 日韩黄色a级片| 蜜桃精品视频在线| 亚洲一区二区免费在线| 国产女人高潮的av毛片| 成人深夜视频在线观看| 日韩资源av在线| 成人高潮aa毛片免费| 狠狠色狠狠色综合日日五| 日本不卡一区在线| 里番精品3d一二三区| 久久激情视频久久| 天天操天天操天天操天天| 久久精品国产77777蜜臀| 国产精品一二三四区| 欧美猛少妇色xxxxx| 三级黄色在线视频| 免费在线观看精品| 国产综合欧美在线看| 中文日本在线观看| 精品高清美女精品国产区| 精品综合久久久久| 国产99精品| 国内精久久久久久久久久人| 国产精品永久久久久久久久久| 26uuu国产电影一区二区| 成人免费看片视频在线观看| 国产精品字幕| 亚洲精品不卡在线| 成年人av电影| 日本中文字幕一区二区视频| 久久av一区二区三区亚洲| www.久久ai| 欧美日韩国产在线| 涩视频在线观看| 国产精品88久久久久久| 国产999精品| 亚洲av无码一区二区三区dv| 中文字幕一区二区三区在线不卡 | av在线免费网站| 欧美性大战久久久久久久| 男人的天堂成人| 午夜精品久久久久99蜜桃最新版| 激情五月***国产精品| 亚洲自拍av在线| 好吊日视频在线观看| 精品福利在线视频| v天堂中文在线| 亚洲激情亚洲| 91人成网站www| 天堂中文а√在线| 欧美影院精品一区| 国产毛片欧美毛片久久久| 欧美午夜电影在线观看 | 91禁国产网站| 偷拍精品一区二区三区| 亚洲综合免费观看高清完整版| 在线播放黄色av| 亚洲国产精品综合久久久| 国产拍精品一二三| 天堂资源最新在线| 日韩欧美极品在线观看| 亚洲a v网站| 99香蕉国产精品偷在线观看| 精品久久蜜桃| 欧美性猛交xxx高清大费中文| 日韩国产中文字幕| 精品在线免费观看视频| 蜜臀久久99精品久久久久久9| 亚洲高清乱码| 不卡专区在线| 制服丝袜国产精品| 极品颜值美女露脸啪啪| 成人精品一区二区三区中文字幕| 欧美国产视频一区| 日日狠狠久久偷偷综合色| 欧亚精品在线观看| 在线观看av黄网站永久| 欧美三区在线观看| 少妇影院在线观看| eeuss国产一区二区三区| 国产美女网站在线观看| 免费成人av| 成人福利免费观看| av影视在线| 日韩国产欧美精品一区二区三区| 欧美视频xxxx| 亚洲精品国产一区二区精华液| 原创真实夫妻啪啪av| 亚洲黄色大片| 蜜桃av久久久亚洲精品| h片在线观看视频免费免费| 亚洲欧美www| 91精品国产综合久| 亚洲国产综合视频在线观看| 波多野结衣片子| 久久国产日韩欧美精品| 欧美亚州在线观看| jizz欧美| 午夜精品一区二区三区av| 精品亚洲成a人片在线观看| 欧美日韩一区三区| jizz国产免费| 国产精品久久久一区麻豆最新章节| www.久久com| 国产日产高清欧美一区二区三区| 欧美一级二级三级| 国产精久久久| 韩日欧美一区二区| 日韩美女网站| 亚洲欧洲午夜一线一品| 性一交一乱一透一a级| 欧美在线视频你懂得| 精品一区免费观看| www.日本不卡| 中文字幕第22页| 天堂资源在线中文精品| 日韩资源av在线| 麻豆精品少妇| 国产精品成人播放| 交100部在线观看| 久久久成人av| 91官网在线| 亚洲国产欧美日韩精品| 99在线小视频| 一区二区欧美精品| 少妇高潮一区二区三区喷水| 成人深夜视频在线观看| 久久久精品视频国产| 青娱乐精品在线视频| av观看免费在线| 亚洲黄色大片| www插插插无码视频网站| 亚洲国产精品91| 一区二区三区欧美在线| 国产麻豆一区二区三区精品视频| 国产日韩中文字幕在线| 中老年在线免费视频| 97碰在线观看| 伊人精品影院| 欧美成人剧情片在线观看| 国产精品一二三区视频| 欧美日韩视频专区在线播放| 丰满人妻一区二区三区四区| 色综合久久天天| 免费的毛片视频| 午夜精品久久久久久久久久久| 粉嫩av性色av蜜臀av网站| 国产精品国产a| 婷婷综合在线视频| 2023国产精品| 国产精品亚洲一区二区无码| 成人午夜精品在线| 亚洲av人人澡人人爽人人夜夜| 国产一区二区免费看| 久久久999视频| 久久久久99| 好男人www社区| 久久精品午夜| 亚洲精品一二三四五区| 日本欧美在线观看| 国产精品区在线| 美国av一区二区| 国产成人黄色网址| 日本欧美一区二区三区乱码| 中文字幕第88页| 久久精品国产在热久久| 91亚洲一区二区| 成人手机电影网| 久久精品老司机| 国产精品污污网站在线观看| 亚洲 欧美 国产 另类| 亚洲人成精品久久久久| 国产wwwwxxxx| 夜夜嗨av一区二区三区中文字幕 | 手机看片1024日韩| 日韩av在线一区二区| 神马午夜电影一区二区三区在线观看 | 精品国产aaa| 亚洲欧洲综合另类| 亚洲国产精品免费在线观看| 一区二区三区 在线观看视频| 青青操免费在线视频| 欧美视频一区在线| 99久久久久久久| 日韩成人中文字幕在线观看| 91福利在线视频| 欧美激情视频在线免费观看 欧美视频免费一| 国产夫妻在线播放| 国产精品嫩草视频| 亚洲日本va午夜在线电影| 国产九色91| 日韩av专区| 欧美视频在线第一页| 久久久综合网| 中文字幕亚洲影院| 99麻豆久久久国产精品免费优播| 无码人妻aⅴ一区二区三区| 国产精品久久久久久久久免费樱桃| www青青草原| 在线欧美日韩精品| 精品国产av鲁一鲁一区| 亚洲人成自拍网站| 成人av免费| 日本精品久久电影| 欧美久久一区二区三区| 欧美日韩国产免费一区二区三区| 天天做天天爱天天综合网| 欧美亚洲精品一区二区| 麻豆精品一二三| 午夜激情视频网| 国产婷婷精品av在线| 青青草激情视频| 欧美中文字幕久久| 精品久久久久成人码免费动漫| 亚洲人av在线影院| 麻豆系列在线观看| 日韩美女在线观看一区| 3d动漫一区二区三区在线观看| 91精品国产一区二区三区动漫| 精品国产乱码久久久| www.欧美黄色| 国产一区二区影院| xxx在线播放| 日韩欧美国产骚| 精品国产亚洲av麻豆| xxx一区二区| 2001个疯子在线观看| 成人欧美一区二区三区黑人孕妇| 国产a久久精品一区二区三区| 蜜臀av无码一区二区三区| 国产精品一区二区三区99| 国产农村妇女精品一区| 色综合久久九月婷婷色综合| 国产99对白在线播放| 国产亚洲精品日韩| 高清视频在线观看三级| 99re国产在线播放| 久久精品亚洲人成影院| 丝袜老师办公室里做好紧好爽| 成人精品高清在线| 国产一级在线免费观看| 欧美成人女星排行榜| 黄色av电影在线观看| 国产日韩欧美中文| 免费看日本一区二区| 成人在线观看你懂的| 国产成人精品亚洲777人妖| 日韩av片在线| 欧美人妇做爰xxxⅹ性高电影| 国产视频网址在线| 国产精品久久久久福利| 亚洲精品一级二级三级| 久久美女福利视频| 久久精品水蜜桃av综合天堂| 久久精品视频5| 国产午夜精品一区二区三区| 麻豆理论在线观看| 91精品久久久久久蜜桃| 你懂的国产精品| 天天干天天色天天干| 26uuu久久综合| 最近免费中文字幕大全免费版视频| 亚洲欧美日韩中文在线| 韩国成人在线| 亚洲国产欧美一区二区三区不卡| 日韩高清一区二区| 国产精品成人在线视频| 欧美丰满少妇xxxxx高潮对白| 美女隐私在线观看| 成人免费视频网站| 国产麻豆综合| a级片在线观看| 欧美日韩亚洲综合在线| 成年人在线观看视频| 国产精品爽爽ⅴa在线观看| 97在线精品| 亚洲一级Av无码毛片久久精品| 亚洲主播在线观看| 人成在线免费视频| 国产精品福利观看| 日韩欧美高清在线播放| 美女网站视频黄色| 国产美女娇喘av呻吟久久| 日韩黄色在线视频| 在线观看不卡av| 2020最新国产精品| 成人黄色片视频| 亚洲人精品一区| 神马久久久久久久久久| 国产精品一区=区| 欧美午夜在线| 怡红院一区二区三区| 91精品国产综合久久精品图片| 91视频欧美| 亚洲欧洲日韩精品| 蜜臀精品一区二区三区在线观看| 久久久久久久蜜桃| 一区二区欧美在线| 日本一区二区三区播放| 亚欧无线一线二线三线区别| 中文字幕一区二区三区精华液| 色哟哟国产精品色哟哟| 成人黄色短视频在线观看| 好吊日精品视频| 美女网站视频色| 欧美久久一区二区| 蜜桃av在线播放|