国产凹凸在线-国产拗女一区二区三区-国产白白视-国产白领-国产白拍-国产白丝jk被疯狂输-国产白丝喷-国产白丝在线

金喜正规买球

logo DevExpress WinForm中文手冊(cè)

文檔金喜正規(guī)買球>>DevExpress WinForm中文手冊(cè)>>自動(dòng)化UI測試(UI自動(dòng)化、Appium、編碼UI)

自動(dòng)化UI測試(UI自動(dòng)化、Appium、編碼UI)


立即下載DevExpress WinForms

 用戶界面 (UI) 測試可驗(yàn)證應(yīng)用程序的所有視覺元素是否正常運(yùn)行。UI測試可以由測試人員手動(dòng)執(zhí)行,也可以借助自動(dòng)化測試工具執(zhí)行,自動(dòng)化測試更快、更可靠且更具成本效益。

微軟編碼UI測試(CUIT)框架

 編碼UI測試框架是微軟的一個(gè)解決方案,它利用控件的可訪問性層來記錄和運(yùn)行UI測試,CUIT組件通過Visual Studio Installer分發(fā)。

 該解決方案在Visual Studio 2019及以后被宣布過時(shí),在Visual Studio 2022中,您仍然可以運(yùn)行已編碼UI測試,但不能記錄新測試,較新的IDE版本將完全放棄對(duì)CUIT的支持。

參見:

DevExpress編碼UI擴(kuò)展

 DevExpress Coded UI是Microsoft Coded UI Tests的擴(kuò)展,專為基于DevExpress的應(yīng)用程序量身定制。這些解決方案之間的區(qū)別在于與Microsoft CUIT不同,DevExpress編碼UI擴(kuò)展不利用輔助功能,該框架通過專有通道與控件進(jìn)行通信,并使用DevExpress控件中聲明的幫助程序類。

 Microsoft 終止CUIT的決定也會(huì)影響DevExpress編碼UI擴(kuò)展,對(duì)于較新的項(xiàng)目,我們建議您改用Appium或UI Automation。

也可以看看:

Appium和UI自動(dòng)化

 Appium是一款開源工具,可讓您為 Web、混合、iOS 移動(dòng)、Android 移動(dòng)和 Windows 桌面平臺(tái)創(chuàng)建自動(dòng)化UI測試,要測試Windows應(yīng)用程序則需要設(shè)置。

也可以看看:

  • — Appium 文檔。
  • — 帶有示例的 DevExpress 博客文章。

 Appium(以及多個(gè)其他測試框架)利用UI Automation ——Microsoft 的Windows輔助功能框架,您可以直接使用此框架(不涉及任何第三方解決方案)來編寫UI測試。

也可以看看:

  • — 來自 Microsoft 的概述文章。

 Appium和UI Automation 之間的選擇取決于場景和測試要求的復(fù)雜性,Appium更容易使用,但也有更多限制,因?yàn)樗鼪]有實(shí)現(xiàn)所有UIA功能。例如,Appium 允許您使用 成員,但只能使用屬性,不能使用方法。

提示:調(diào)度程序、富編輯器、PDF查看器和電子表格控件目前不支持UI自動(dòng)化。

步驟記錄器和手動(dòng)測試腳本

 大多數(shù)測試自動(dòng)化平臺(tái)都提供了記錄工具,這些工具在運(yùn)行時(shí)跟蹤您的操作(光標(biāo)移動(dòng)、單擊和鍵盤按鍵),并生成模擬這些操作的代碼。下面的博客文章展示了如何使用Appium步進(jìn)記錄器與DevExpress控件:。

 記錄器允許您編寫更少的代碼,但它們可能產(chǎn)生不穩(wěn)定的測試并導(dǎo)致性能問題。例如,大多數(shù)測試記錄器在元素選擇代碼中枚舉目標(biāo)UI元素的所有父元素,因此,一個(gè)小的UI修改(比如添加一個(gè)新的Panel容器)會(huì)導(dǎo)致這個(gè)選擇代碼失敗。

 為了避免潛在的問題并更好地理解測試的功能,我們建議手動(dòng)編寫測試腳本。例如,您可以選擇為目標(biāo)UI元素檢查哪些父控件,而不是列出元素父元素的整個(gè)層次結(jié)構(gòu),或者直接獲取該元素而不訪問其任何父元素。

如何編寫Appium和UI自動(dòng)化測試

常用測試結(jié)構(gòu)

Appium和UI自動(dòng)化測試共享類似的代碼塊層次結(jié)構(gòu),每個(gè)塊都由一個(gè) NUnit屬性裝飾。

修飾包含測試的類。

每次測試即將開始時(shí),都會(huì)調(diào)用帶有此屬性的方法。

與SetUp屬性相反,此屬性修飾每次測試完成時(shí)執(zhí)行的一組指令。

修飾一個(gè)包含測試腳本的方法。

Appium和UIA測試的一般實(shí)現(xiàn)如下所示:

C#:

using System;
using NUnit.Framework;

namespace VisualTests {
[TestFixture]
public class MyAppTests {
[SetUp]
public void Setup() {
// Actions repeated before each test
}
[TearDown]
public void Cleanup() {
// Actions repeated after each test
}
[Test]
public void Test1() {
// Test #1
}
[Test]
public void Test2() {
// Test #2
}
}
}

VB.NET:

Imports System
Imports NUnit.Framework

Namespace VisualTests
<TestFixture>
Public Class MyAppTests
<SetUp>
Public Sub Setup()
' Actions repeated before each test
End Sub
<TearDown>
Public Sub Cleanup()
' Actions repeated after each test
End Sub
<Test>
Public Sub Test1()
' Test #1
End Sub
<Test>
Public Sub Test2()
' Test #2
End Sub
End Class
End Namespace

檢查Tool

要為任何UI元素編寫測試,需要做以下事情:

  • 通過ID或名稱獲取該元素。
  • 檢查它支持哪些模式,并利用這些模式的屬性和方法來模擬用戶操作。
  • 調(diào)用 方法來比較實(shí)際和預(yù)期的控制狀態(tài)。

 要獲取元素名稱和 ID,并檢查其可用的模式 API,請(qǐng)使用Microsoft Inspect —— Windows SDK安裝中包含的免費(fèi)工具。

WPF可及性和測試檢查

 手工檢查UI元素還允許您定位不良的可訪問性名稱和其他問題,要解決這些問題,請(qǐng)?zhí)幚鞤XAccessible.QueryAccessibleInfo事件。

如何編寫 Appium 測試

  1. 在 Windows 設(shè)置中啟用。
  2. 下載、安裝并運(yùn)行 。
  3. 在需要測試的項(xiàng)目中打開全局WindowsFormsSettings.UseUIAutomation。
  4. 在 Visual Studio 中創(chuàng)建一個(gè)新的“單元測試項(xiàng)目” 。
  5. 安裝“Appium.WebDriver” NuGet 包。
  6. 根據(jù)通用測試結(jié)構(gòu)部分創(chuàng)建測試,下面的代碼說明了一個(gè)自動(dòng)化測試示例。

C#:

using System;
using System.Windows.Forms;
using NUnit.Framework;
using OpenQA.Selenium.Appium;
using OpenQA.Selenium.Appium.Windows;

namespace AppiumTests {
[TestFixture]
public class EditorsDemoTests {
WindowsDriver<WindowsElement> driver;
string editorsDemoPath =
@"C:\Work\2022.1\Demos.Win\EditorsDemos\CS\EditorsMainDemo\bin\Debug\EditorsMainDemo.exe";
[SetUp]
public void Setup() {
AppiumOptions options = new AppiumOptions();
options.AddAdditionalCapability("app", editorsDemoPath);
driver = new WindowsDriver<WindowsElement>(new Uri("http://127.0.0.1:4723"), options);
}
[TearDown]
public void Cleanup() {
driver.Close();
}
[Test]
public void ProgressBarTest() {
var form = driver.FindElementByAccessibilityId("RibbonMainForm");

var progressBarAccordionItem =
form.FindElementByAccessibilityId("accordionControl1").FindElementByName("Progress Bar");
progressBarAccordionItem.Click();
Assert.AreEqual("True", progressBarAccordionItem.GetAttribute("SelectionItem.IsSelected"));
AccessibleStates itemStates =
(AccessibleStates)int.Parse(progressBarAccordionItem.GetAttribute("LegacyState"));
Assert.IsTrue(itemStates.HasFlag(AccessibleStates.Selected));

form.FindElementByName("Position Management").Click();

var minMaxComboBox = form.FindElementByAccessibilityId("comboBoxMaxMin");
minMaxComboBox.Click();
minMaxComboBox.SendKeys(
OpenQA.Selenium.Keys.Down + OpenQA.Selenium.Keys.Down + OpenQA.Selenium.Keys.Enter);
Assert.AreEqual("Min = 100; Max = 200", minMaxComboBox.Text);

var progressBar = form.FindElementByAccessibilityId("progressBarSample2");
Assert.AreEqual("100", progressBar.GetAttribute("RangeValue.Minimum"));
Assert.AreEqual("200", progressBar.GetAttribute("RangeValue.Maximum"));
Assert.AreEqual("100", progressBar.GetAttribute("RangeValue.Value"));
Assert.AreEqual("0%", progressBar.Text);

form.FindElementByName("Step!").Click();
Assert.AreEqual("110", progressBar.GetAttribute("RangeValue.Value"));
Assert.AreEqual("10%", progressBar.Text);
}
}
}

VB.NET:

Imports System
Imports System.Windows.Forms
Imports NUnit.Framework
Imports OpenQA.Selenium.Appium
Imports OpenQA.Selenium.Appium.Windows

Namespace AppiumTests
<TestFixture>
Public Class EditorsDemoTests
Private driver As WindowsDriver(Of WindowsElement)
Private editorsDemoPath As String = "C:\Work\2022.1\Demos.Win\EditorsDemos\CS\EditorsMainDemo\bin\Debug\EditorsMainDemo.exe"
<SetUp>
Public Sub Setup()
Dim options As New AppiumOptions()
options.AddAdditionalCapability("app", editorsDemoPath)
driver = New WindowsDriver(Of WindowsElement)(New Uri("http://127.0.0.1:4723"), options)
End Sub
<TearDown>
Public Sub Cleanup()
driver.Close()
End Sub
<Test>
Public Sub ProgressBarTest()
Dim form = driver.FindElementByAccessibilityId("RibbonMainForm")

Dim progressBarAccordionItem = form.FindElementByAccessibilityId("accordionControl1").FindElementByName("Progress Bar")
progressBarAccordionItem.Click()
Assert.AreEqual("True", progressBarAccordionItem.GetAttribute("SelectionItem.IsSelected"))
Dim itemStates As AccessibleStates = CType(Integer.Parse(progressBarAccordionItem.GetAttribute("LegacyState")), AccessibleStates)
Assert.IsTrue(itemStates.HasFlag(AccessibleStates.Selected))

form.FindElementByName("Position Management").Click()

Dim minMaxComboBox = form.FindElementByAccessibilityId("comboBoxMaxMin")
minMaxComboBox.Click()
minMaxComboBox.SendKeys(OpenQA.Selenium.Keys.Down + OpenQA.Selenium.Keys.Down + OpenQA.Selenium.Keys.Enter)
Assert.AreEqual("Min = 100; Max = 200", minMaxComboBox.Text)

Dim progressBar = form.FindElementByAccessibilityId("progressBarSample2")
Assert.AreEqual("100", progressBar.GetAttribute("RangeValue.Minimum"))
Assert.AreEqual("200", progressBar.GetAttribute("RangeValue.Maximum"))
Assert.AreEqual("100", progressBar.GetAttribute("RangeValue.Value"))
Assert.AreEqual("0%", progressBar.Text)

form.FindElementByName("Step!").Click()
Assert.AreEqual("110", progressBar.GetAttribute("RangeValue.Value"))
Assert.AreEqual("10%", progressBar.Text)
End Sub
End Class
End Namespace
  • 上面的代碼借助FindElementByName和FindElementByAccessibilityId方法定位所需的UI元素,要獲取元素名稱或ID,請(qǐng)?jiān)贗nspect中瀏覽元素屬性
  • 要模擬鼠標(biāo)單擊和按鍵,請(qǐng)調(diào)用Click()和SendKeys方法。
  • 使用UIElement.GetAttribute方法獲取模式屬性的值,這些名稱在Inspect中也可見。

 要訪問模式的屬性LegacyIAccessible,請(qǐng)使用“Legacy{PropertyName}”格式:

C#:

var value = progressBarAccordionItem.GetAttribute("LegacyState");

點(diǎn)擊復(fù)制

VB.NET:

Dim value = progressBarAccordionItem.GetAttribute("LegacyState")

點(diǎn)擊復(fù)制

其他模式的屬性用“{PatternName}.{PropertyName}”格式訪問:

C#:

var value = progressBar.GetAttribute("RangeValue.Maximum");

點(diǎn)擊復(fù)制

VB.NET:

Dim value = progressBar.GetAttribute("RangeValue.Maximum")

點(diǎn)擊復(fù)制

  • DevExpress 上下文菜單沒有直接所有者,因此它們的可訪問對(duì)象是桌面窗口的子窗口,而不是應(yīng)用程序窗口,要訪問這些菜單中的項(xiàng)目,請(qǐng)使用桌面窗口驅(qū)動(dòng)程序。

C#:

AppiumOptions globalDriverOptions = new AppiumOptions();
globalDriverOptions.AddAdditionalCapability("app", "Root");
var globalDriver = new WindowsDriver<WindowsElement>(new Uri("http://127.0.0.1:4723"), globalDriverOptions);
var menuItem = globalDriver.FindElementByName("ItemName");

點(diǎn)擊復(fù)制

VB.NET:

Dim globalDriverOptions As AppiumOptions = New AppiumOptions()
globalDriverOptions.AddAdditionalCapability("app", "Root")
Dim globalDriver = New WindowsDriver(Of WindowsElement)(New Uri("http://127.0.0.1:4723"), globalDriverOptions)
Dim menuItem = globalDriver.FindElementByName("ItemName")

點(diǎn)擊復(fù)制

如何編寫 UI 自動(dòng)化測試

  1. 在需要測試的項(xiàng)目中打開全局WindowsFormsSettings.UseUIAutomation屬性。
  2. 在Visual Studio中創(chuàng)建一個(gè)新的“Unit Test Project”。
  3. 在您的項(xiàng)目中包括UIAutomationClient.dll和UIAutomationTypes.dll庫。
  4. 根據(jù)公共測試結(jié)構(gòu)部分創(chuàng)建測試,下面的代碼演示了一個(gè)自動(dòng)化測試示例。

C#:

using System;
using System.Diagnostics;
using System.Threading;
using System.Windows.Automation;
using Microsoft.Test.Input;
using NUnit.Framework;

namespace UIAutomationTests {
[TestFixture]
public class OutlookInspiredTests {
string path =
@"C:\Work\2022.1\Demos.RealLife\DevExpress.OutlookInspiredApp\
bin\Debug\DevExpress.OutlookInspiredApp.Win.exe";
Process appProcess;
[SetUp]
public void Setup() {
appProcess = Process.Start(path);
}
[TearDown]
public void TearDown() {
appProcess.Kill();
}
[Test]
public void Test1() {
AutomationElement form =
AutomationElement.RootElement.FindFirstWithTimeout(TreeScope.Children, new PropertyCondition(
AutomationElement.AutomationIdProperty, "MainForm"), 10000);

AutomationElement grid =
form.FindFirstWithTimeout(TreeScope.Descendants, new PropertyCondition(
AutomationElement.AutomationIdProperty, "gridControl"), 5000);

AutomationElement cell = FindCellByValue(grid, "FULL NAME", "Greta Sims");
Mouse.MoveTo(cell.GetPoint());
Mouse.DoubleClick(MouseButton.Left);

AutomationElement detailForm =
form.FindFirstWithTimeout(TreeScope.Children, new PropertyCondition(
AutomationElement.AutomationIdProperty, "DetailForm"), 5000);

AutomationElement jobTitleEdit =
detailForm.FindFirstWithTimeout(TreeScope.Descendants, new PropertyCondition(
AutomationElement.AutomationIdProperty, "TitleTextEdit"));
((ValuePattern)jobTitleEdit.GetCurrentPattern(ValuePattern.Pattern)).SetValue("HR Head");

AutomationElement department =
detailForm.FindFirstWithTimeout(TreeScope.Descendants, new PropertyCondition(
AutomationElement.AutomationIdProperty, "DepartmentImageComboBoxEdit"));
((ExpandCollapsePattern)department.GetCurrentPattern(ExpandCollapsePattern.Pattern)).Expand();

AutomationElement managementItem =
detailForm.FindFirstWithTimeout(TreeScope.Descendants, new PropertyCondition(
AutomationElement.NameProperty, "Management"));
((InvokePattern)managementItem.GetCurrentPattern(InvokePattern.Pattern)).Invoke();

AutomationElement saveClose =
detailForm.FindFirstWithTimeout(TreeScope.Descendants, new PropertyCondition(
AutomationElement.NameProperty, "Save & Close"));
((InvokePattern)saveClose.GetCurrentPattern(InvokePattern.Pattern)).Invoke();

AutomationElement jobTitle =
form.FindFirstWithTimeout(TreeScope.Descendants, new PropertyCondition(
AutomationElement.AutomationIdProperty, "sliTitle"));
Assert.AreEqual("HR Head", jobTitle.Current.Name);
}

AutomationElement FindCellByValue(AutomationElement grid, string columnName, string cellValue) {
TablePattern tablePattern = (TablePattern)grid.GetCurrentPattern(TablePattern.Pattern);
AutomationElement[] headers = tablePattern.Current.GetColumnHeaders();
int columnIndex = -1;
for(int i = 0; i < headers.Length - 1; i++)
if(headers[i].Current.Name == columnName)
columnIndex = i;
if(columnIndex == -1)
return null;
for(int i = 0; i < tablePattern.Current.RowCount; i++) {
AutomationElement cell = tablePattern.GetItem(i, columnIndex);
if(cell != null) {
ValuePattern valuePattern = (ValuePattern)cell.GetCurrentPattern(ValuePattern.Pattern);
if(valuePattern.Current.Value == cellValue) {
return cell;
}
}
}
return null;
}
}

public static class AutomationElementExtensions {
public static System.Drawing.Point GetPoint(this AutomationElement @this) {
System.Windows.Point windowsPoint = @this.GetClickablePoint();
return new System.Drawing.Point(Convert.ToInt32(windowsPoint.X), Convert.ToInt32(windowsPoint.Y));
}
public static AutomationElement FindFirstWithTimeout(this AutomationElement @this,
TreeScope scope, Condition condition, int timeoutMilliseconds = 1000) {
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
do {
var result = @this.FindFirst(scope, condition);
if(result != null)
return result;
Thread.Sleep(100);
}
while(stopwatch.ElapsedMilliseconds < timeoutMilliseconds);
return null;
}
}
}

VB.NET:

Imports System
Imports System.Diagnostics
Imports System.Threading
Imports System.Windows.Automation
Imports Microsoft.Test.Input
Imports NUnit.Framework

Namespace UIAutomationTests
<TestFixture>
Public Class OutlookInspiredTests
Private path As String =
"C:\Work\2022.1\Demos.RealLife\DevExpress.OutlookInspiredApp\bin\Debug\DevExpress.OutlookInspiredApp.Win.exe"
Private appProcess As Process
<SetUp>
Public Sub Setup()
appProcess = Process.Start(path)
End Sub
<TearDown>
Public Sub TearDown()
appProcess.Kill()
End Sub
<Test>
Public Sub Test1()
Dim form As AutomationElement = AutomationElement.RootElement.FindFirstWithTimeout(TreeScope.Children, New PropertyCondition(AutomationElement.AutomationIdProperty, "MainForm"), 10000)

Dim grid As AutomationElement = form.FindFirstWithTimeout(TreeScope.Descendants, New PropertyCondition(AutomationElement.AutomationIdProperty, "gridControl"), 5000)

Dim cell As AutomationElement = FindCellByValue(grid, "FULL NAME", "Greta Sims")
Mouse.MoveTo(cell.GetPoint())
Mouse.DoubleClick(MouseButton.Left)

Dim detailForm As AutomationElement = form.FindFirstWithTimeout(TreeScope.Children, New PropertyCondition(AutomationElement.AutomationIdProperty, "DetailForm"), 5000)

Dim jobTitleEdit As AutomationElement = detailForm.FindFirstWithTimeout(TreeScope.Descendants, New PropertyCondition(AutomationElement.AutomationIdProperty, "TitleTextEdit"))
CType(jobTitleEdit.GetCurrentPattern(ValuePattern.Pattern), ValuePattern).SetValue("HR Head")

Dim department As AutomationElement = detailForm.FindFirstWithTimeout(TreeScope.Descendants, New PropertyCondition(AutomationElement.AutomationIdProperty, "DepartmentImageComboBoxEdit"))
CType(department.GetCurrentPattern(ExpandCollapsePattern.Pattern), ExpandCollapsePattern).Expand()

Dim managementItem As AutomationElement = detailForm.FindFirstWithTimeout(TreeScope.Descendants, New PropertyCondition(AutomationElement.NameProperty, "Management"))
CType(managementItem.GetCurrentPattern(InvokePattern.Pattern), InvokePattern).Invoke()

Dim saveClose As AutomationElement = detailForm.FindFirstWithTimeout(TreeScope.Descendants, New PropertyCondition(AutomationElement.NameProperty, "Save & Close"))
CType(saveClose.GetCurrentPattern(InvokePattern.Pattern), InvokePattern).Invoke()

Dim jobTitle As AutomationElement = form.FindFirstWithTimeout(TreeScope.Descendants, New PropertyCondition(AutomationElement.AutomationIdProperty, "sliTitle"))
Assert.AreEqual("HR Head", jobTitle.Current.Name)
End Sub

Private Function FindCellByValue(ByVal grid As AutomationElement, ByVal columnName As String, ByVal cellValue As String) As AutomationElement
Dim tablePattern As TablePattern = CType(grid.GetCurrentPattern(TablePattern.Pattern), TablePattern)
Dim headers() As AutomationElement = tablePattern.Current.GetColumnHeaders()
Dim columnIndex As Integer = -1
For i As Integer = 0 To headers.Length - 2
If headers(i).Current.Name = columnName Then
columnIndex = i
End If
Next i
If columnIndex = -1 Then
Return Nothing
End If
For i As Integer = 0 To tablePattern.Current.RowCount - 1
Dim cell As AutomationElement = tablePattern.GetItem(i, columnIndex)
If cell IsNot Nothing Then
Dim valuePattern As ValuePattern = CType(cell.GetCurrentPattern(ValuePattern.Pattern), ValuePattern)
If valuePattern.Current.Value = cellValue Then
Return cell
End If
End If
Next i
Return Nothing
End Function
End Class

Public Module AutomationElementExtensions
<System.Runtime.CompilerServices.Extension> _
Public Function GetPoint(ByVal this As AutomationElement) As System.Drawing.Point
Dim windowsPoint As System.Windows.Point = this.GetClickablePoint()
Return New System.Drawing.Point(Convert.ToInt32(windowsPoint.X), Convert.ToInt32(windowsPoint.Y))
End Function
<System.Runtime.CompilerServices.Extension> _
Public Function FindFirstWithTimeout(ByVal this As AutomationElement, ByVal scope As TreeScope, ByVal condition As Condition, Optional ByVal timeoutMilliseconds As Integer = 1000) As AutomationElement
Dim stopwatch As New Stopwatch()
stopwatch.Start()
Do
Dim result = this.FindFirst(scope, condition)
If result IsNot Nothing Then
Return result
End If
Thread.Sleep(100)
Loop While stopwatch.ElapsedMilliseconds < timeoutMilliseconds
Return Nothing
End Function
End Module
End Namespace
  • 與Appium測試類似,根據(jù)從Inspect復(fù)制的名稱或id檢索元素,使用 來查找所需的元素。
  • 自定義FindFirstWithTimeout方法通過添加超時(shí)閾值來擴(kuò)展FindFirst,此值指定當(dāng)元素不能立即可用時(shí),腳本可以重試獲取該元素的時(shí)間。
  • 該類Mouse公開了允許模擬鼠標(biāo)操作的方法,安裝“Microsoft.TestApi” NuGet 包后,此類即可使用,也可以使用其他方式來模擬單擊和指針移動(dòng)。
  • 模式方法(TablePattern.GetColumnHeaders()、ValuePattern.SetValue()等)允許您快速找到所需的元素、設(shè)置新的控件值、執(zhí)行默認(rèn)控件操作(例如單擊)等等,正如在Appium和UI自動(dòng)化一節(jié)中提到的,這些方法在Appium中不可用。
  • 要獲得上下文菜單項(xiàng),可以使用RootElements和TreeScope.Descendants。

C#:

AutomationElement menuItem = AutomationElement.RootElement.FindFirst(TreeScope.Descendants, new PropertyCondition(AutomationElement.NameProperty, "itemName"));
((InvokePattern)menuItem.GetCurrentPattern(InvokePattern.Pattern)).Invoke();

VB.NET:

Dim globalDriverOptions As AppiumOptions = New AppiumOptions()
globalDriverOptions.AddAdditionalCapability("app", "Root")
Dim globalDriver = New WindowsDriver(Of WindowsElement)(New Uri("http://127.0.0.1:4723"), globalDriverOptions)
Dim menuItem = globalDriver.FindElementByName("ItemName")
掃碼咨詢


添加微信 立即咨詢

電話咨詢

客服熱線
023-68661681

TOP
337p亚洲日韩国产欧美二区 | 日本久色 | 宅男色影视亚洲 | 国产午夜专区在线观看 | 国精产品一区 | 欧美伦理 | 精品一区二区三区四区在线观 | 欧美一区二区三区性视频 | 国产又色又爽又黄刺激视频 | 国产精品翘臀在线播放 | 欧美性猛交xxxx乱大交蜜桃 | 欧美亚洲喷水视 | 国产太嫩了在 | 射射影院 | 国产大片线上 | 精品国产a自拍 | 制服丝袜中文字幕在线 | 日韩亚洲欧洲美三区中文字幕 | 中文字幕国产专区99 | 99视频在线精品66 | 欧美日韩亚洲国内一区二区三区 | 欧美性猛交免费看 | 中日韩精品视频 | 午夜福利1000集在线观看 | 精品国产香蕉伊思人在线 | 亚洲成年看 | 热播电影电视剧 | 91热成人精品国产免费 | 韩国性爱禁区 | 欧美日韩中文亚洲v在线综合 | 日韩伦理亚洲欧美在线 | 亚洲欧美日本另类 | 亚洲高清不卡在线观看 | 亚洲国产精品日韩专区a∨ 精品深夜寂 | 一区二区视频在线观看入口 | 国产一二片视频免费观看 | 中文字幕国产在线观看 | 老少配videoshd乱配 | 亚洲国产不卡久 | 欧美日韩高清国产aⅴ一区 四区免费视频 | 亚洲综合欧美 | 99re9精品视 国产亚洲精品欧美日韩在线 | 一级a一片在线播放国产 | 国产青草视频在线观看免费影院 | 国产精品女厕嘘嘘视频 | 欧美va天堂va视频va在线 | 国产精品美乳免费看 | 精品日韩欧美一区 | 亚洲国产一区二区试看 | 欧美综合自拍中文 | 国产精品无内丝袜高跟鞋 | 日韩vs欧美vs国产肉 | 欧美高清性色生活片 | 欧美日韩一区二区三区视频播放 | 国产女网红亚洲精品 | 免费国产草莓视频在线观看黄 | 成人亚洲综合 | 久操视频中文字幕在线观看 | 精品成人免費自拍視頻 | 免费看h片 | 明星国产欧美日韩在线观看 | 精品国产污污免费网站入口在 | 精品国产丝袜黑色高跟鞋 | 日日狠狠| 最近中文字幕免费mv视频7 | 偷国内自拍视频在线观看 | 欧美乱妇日本无乱码特黄大片 | 亚洲美精品二区性爱 | 国产精品碰碰现在自在拍 | 69老司机午夜免费 | 国产又黄又爽又猛的免费视频播放 | 蜜臀āv午夜在线 | 国产精品欧美一区二区三区不 | 精品国产男人的天 | 免费播放婬 | 午夜区一区二区在线观看 | 国产在线播放成人免费 | 亚洲国产欧美日韩一区二区在线 | 女女同性一 | 在线精品视| 勃起又长又黑又粗毛又多 | 国语自产视频在线不卡 | 免费电视剧大全在线观看 | 91九色老熟女 | 免费永久在线观看污污的网站 | 国产aⅴ视频一 | 国内免费视频一区二区三区 | 国产一级淫片免费视 | 高清在线免费欧 | 91精品啪在线观看国产在线 | a级国产乱理论片在线观看看 | 韩国中文全部三级伦在线观看中文 | 国产精品自产拍在线观看55 | 最新国产精品拍自在 | 精品一区二区三区四区在线播放 | 乱伦免费影视亚洲 | 国产精品码一区二区 | 久青草久青草视频在线观看 | 国偷自产中文二区三区蜜桃传媒 | 日本亚洲三级国产 | 日韩高跟视频一区二区三区 | 区在线播放 | 精品一区二区三区在线观看视 | 日韩欧美手机在线视频 | 免费草逼视频网站 | 欧美性爱免费网站 | 国产欧美一级在 | 女人扒开屁股爽桶30分钟免费 | 国产如狼似虎富婆找强壮黑人 | 国产精品国产一区日韩一区 | 日本欧美黑白配在线 | 日韩免费视 | 亚洲人精品午夜射精日韩 | 欧美一级成人观 | 日本国产欧美色综合 | 欧美中文日韩aⅴ | 国产一二三四精 | 欧美日韩网站在线观看 | 日韩亚洲第一页 | 国产黑色丝袜在线看片不卡顿 | 日本欧美韩国一区二区三区 | 国产又粗又大又黄的视频 | h片在线观看资源网站 | 亚洲国产精品自产在线播放 | 国产九九 | 日本剧情片在线播放网站 | 日本aa在线观看 | 亚洲午夜视频在线观看 | 日韩大片免费观看视频播放资源 | 日本最大色倩网站 | 国产在线高清精品二区 | 成人日动漫卡一区二区三区动漫 | 欧美日韩爽爽午夜影院 | 欧美老年人草逼视频 | 欧美日韩在线视频专区免费 | 国产福利一区二视频播放 | 国产精品免费一区二区 | 国产精品偷伦视频免费手机播 | 欧美另类一区二区在线观看 | 国产在线精品国自产拍影院午夜 | 日本乱理伦片在线观看中文 | 韩国日本香港三级 | 97色伦午夜免费公开视频 | 日本特黄大片正在播放 | 911亚洲精选| 乱伦91欧| 欧美日韩国产中文精品字幕 | 国产一区二区丝袜美腿在线 | 国产尤物a | 日韩欧美亚洲国产一区 | 视频观看免费国产最新 | 精品国产免费一区二区三区四区 | 一个人高 | 日韩国产经典欧美午夜福利 | 精品一区卡2卡3卡 | 国产香蕉一区二区在线观看 | 欧美一区二区三区视频在线 | 国产一级a爱片在线观看视频 | 国产素人视频在线播放 | 起碰视频在线 | 婷婷亚洲久悠 | 国产视频欧美日韩中文字幕 | 国产强伦姧在线观看 | 欧美精品国产一区二区 | 成人欧美日韩一区 | 高清一区二区亚洲 | 精品国产福利在 | a级国产乱理伦片在线观看al | 欧美日韩国产另类激情一区 | 日韩欧美综合在线 | 韩国三级hd中文字幕 | 亚洲福利电影在线观看 | 国产日韩午夜视频一级 | 国产精品视频在线观看 | 国产中文一区二区三区 | 人成精品视频三区二区一区 | 日韩午夜视| 欧美性在线观看 | 成年美女黄 | 日韩国产私拍在线观看 | 欧美日韩精品一区二区在线 | 免费人成年激情视频在线观看 | 欧美精品一二三区 | 日本电影一区二区 | 免费激情网站国产高清第一页 | 免费国产一级特黄aa大片在线 | 亚洲精品免播放器在线观看 | 片免费观看 | 国产二区三区午夜免费视频 | 女同另类国产精品视频 | 国产香蕉一区二区三区在线视频 | 狠狠亚洲婷婷综合色香五月 | 国产日韩综合精品一区二区三区 | 日产无人区一线二线三线新版 | 丝袜一区在线 | 精品va在线观看 | 国产日韩综合中文字幕 | 在线国产自偷自拍视频 | 精品亚洲精品中文字幕乱码 | 日本高清www色视 | 国产小视频福利在线观看高清完整 | 欧美日韩中文字幕免费观看 | 精品欧美日韩一区二区三区 | 免费ā片在线观看 | 日韩欧美中文字幕在线第一页 | 国产女同一区二区在线 | 国产99热99 | 91精品丝袜国产在线一区 | 蜜桃臀aⅴ精品一 | 日韩欧美三级理论在线观看 | 亚洲欧洲精品一二三区 | 欧美日韩国产一区二区三区在线 | 日本va午| 日本中文字幕有码在线视频 | 国产偷人伦激情在线观看 | 欧美成a高清在线观看www | 免费人成黄页网站大全在线观 | 韩国午夜理伦三级理论在线观看 | 欧美日韩中文字幕免费观看 | 亚洲欧美在线x视频 | 国产对白刺激视频 | 文中字幕一区二区三区视频播放 | 欧美日韩专区在线观看 | 一级特黄h厂视频网站 | 国色天香社区视频免费版 | 欧美一区自拍一区偷拍一区 | 精品国产一区二区三区 | 夜鲁夜鲁很鲁在线视频视频 | 国产免费爽爽视频在线观看 | 亚洲日本欧美日韩髙清观看 | 182tv免费视频在线观看 | 最新院线大片抢先看 | 日本福利导航 | 国产黄a三级三级三级看三级 | 国产99视频在线观看 | 国精产品一区二区三区有限公司 | 18分钟处破好 | 欧美电影院一区二区三区 | 国产女同精品一级在线 | 爱情岛亚洲论坛入 | 91九色精品国产免费 | 在线观看www成人影院 | 中文日本不卡二区 | 欧美第一页在线观看 | 国产97超级碰碰视频 | 国产精品午夜福利在线观看地址 | 日韩中文高清一 | 野花香视频在线观看免费高清版 | 亚洲中文欧美日韩在线不卡 | 欧美狂野乱码一二三四区 | 精品日韩产品 | 国产精品成人免费视频99 | 精品亚洲精品中文字幕乱码 | 欧美性爱之线免费观看 | 欧美日韩不卡视频一区二区三区 | 亚洲成aⅴ人片女在线观看 特级西西人体444ww | 国产区免| 老司机在线观看 | 欧美日韩另类在线专区卡通 | 国色天香天天影院综 | 欧美日韩免费一区二区在线观看 | 国产免费一区二区三区视频 | 国产a级三级三级三级视频 日本高清在线播放 | 国产色黄乱子精品的a | 精品国产乱子伦一区二区三区 | 奇米视频在线观看 | 二区不卡| 8x8ⅹ国产精品| 国产精品女人在线观看 | 豆国产94亚洲欧美 | 日韩一区二区不卡中文字幕 | 国产日产欧产精品 | 国产精品免费一区二区三区视频 | 天天澡日日澡狠狠欧美老妇 | 欧美最新免费一区 | 无限资源最 | 欧美日韩国产一区二区三区不 | 欧美大胆a| 乱伦免费影视亚洲 | 国产乱轮视频在线观看 | 亚洲精品中文字幕 | 香蕉有码在线视频发布 | 日本在线观| 乱码精品一区二区三区四川人 | 国产尤物极品在线视频播放 | 欧美亚洲国产丝袜在线 | 欧美日韩国产无线码一区 | 精品国产亚洲一区二区三区在线观 | 香蕉香蕉国产片一级一级毛 | 国产婷婷一区二区在线观看 | 国产女女互摸互慰在线观 | 国产自偷酒店在线观看 | 91污视频 | google浏览器 | 一二三四中文字幕 | 欧美日韩国产高清一区二区三区 | 日韩一区二区一道高清视频 | 欧美性精品h | 99玖玖爱视频在线观看 | 拍拍拍无挡国产精品 | 日本两人免费观看的视频 | 精品午夜福利在线视在亚洲 | 九九国产| 国产偷2025在线观看午夜 | 精品中文一区二区三区在线观看 | 综合另类| 国产国产乱老熟女视 | 欧美在线精品视频二区 | 91丁香亚洲综合社区 | 免费在线视频观看 | 欧美精品国产精品日韩系列 | a级国产乱理论片在线 | 国产老熟女一区二区三区 | 亚洲成a人片在线观看网站 亚洲国产精品一在线 | 97在线精品视频免费 | 成人三级视频 | 国产综合精品五月天喷水 | 欧洲影院网| 欧美日韩国产亚洲一区二区三区 | 欧美黑人| 欧美国产日本精品一区二区三区 | 欧美日韩精品伊人影院在线 | 国产人妖ts视频在线观看 | 国产精品国产福利国产秒拍 | 亚洲欧美精品网站在线观看 | 国产免费三级a在线观看 | 日本在线播放一区 | 日皮视频免费观看 | 欧美高清午夜视频 | 综合激情五 | 国产日产欧美一区二区蜜桃 | 亚洲精品自拍愉拍第二 | 国产在线拍精品热 | 国产精品视频一二三区 | 国产91精品成人不卡 | 国产高清在线男人的天堂 | 国内高清久 | 菠萝菠萝蜜视频在线观看免 | 国产在线三级 | 国产在线观看美女福利精 | 欧美综合图片 | 国产免费观看久 | 91熟女| 无人在线观看视频高清播放 | 3d动漫h在线观看网站蜜芽 | 午夜网站免费 | 亚洲全网 | 在线免费在线观看的a | 成人精品综| 午夜国产小视频 | 欧美首页| 老司机老色鬼精品免费视频 | 亚洲精品欧美精品日韩精品 | 婷婷影视 | 九九中文字幕国产 | 国产亚洲美女精 | 国产精品午夜国产小视频 | 日韩制服丝袜片中文字幕 | 国产中文字幕手机视频 | 国内精品手机在线观看视频 | 亚洲欧美不卡视频 | 亚洲欧美丝袜另类清纯 | 精品一区二区免费视频 | 91欧洲在线视精品在亚洲 | 日韩精品久 | 精品国产乱子伦一区二区三区r | 国产黑色丝袜在线观看一区 | hs网站在线观看 | 日日摸夜夜添欧美一区 | 欧美国产日韩一区二区 | 国产永久页在线观看网址 | 欧美三级不卡在线播放 | 日本三级做a全过程在线观看 | 羞羞影院| 写真福利理论片在线播放 | 性色xxxxhd天美传媒 | 中文字幕免费高清电视剧网站 | 国产精品极品美女自在线观看 | 国产精品系 | 97人人超 | 国产剧情在线一区观看 | 日本护士喷 | 日韩精品| 韩精品欧美综合区 | 男女做aj视频免费的网站 | 欧美性爱超长大吊网站 | 观看红杏 | 国产精品臀控福利在线观看 | 亚洲日本一区二区一本一道 | 囯产精品 | 国产亚洲日 | 国产精品视频大陆精大陆 | 99国产一区二区三区亚洲一区 | 手机看片1024欧美日 | 国产在线观看免费观看不卡 | 高清在线免费欧 | 成人www视频网站免费观看 | 国产一区二区在线免费 | 日韩国标| 成人春色在线观看免费网站 | 国产精品日产三 | 日韩在线播放专区 | 麻花传剧mv在线看 | 亚洲开心婷婷中文字幕一区 | 婷婷影视网 | 国产的视频在线观看 | 精品一二三四区 | 强奷漂亮的 | 综合国产日韩亚洲 | 午夜免费一级视频 | 大香伊蕉在人线国产最新 | 亚洲天堂视频在线免费观看 | 国产高清视频在线播放 | 国产精品国内免费一区二区三区 | 五月丁香激激情亚洲综合 | 欧美国产日本高清不卡免费 | 精品国产亚洲人成在线观看芒果 | 亚洲卡通欧美制服中文 | 欧美疯狂黑人xxxxbbbb | 国内精品免费 | 国产大学生喷 | 97就去色 | 国产综合视频在线观看 | 中文字幕亚洲综合小综合 | 国产伦精品一区二区三区免费迷 | 色999欧美日韩 | 三年片在线观看免费播放大全电影 | 亚洲天堂视频在线免费观看 | 国产精品午夜福利在线观看 | 美女足脚交一区二区三区 | 国产精品无需播放器在线观看 | 国产在线偷 | 日韩欧美福利在线 | 欧美v国产v亚洲v日韩九九 | 日本韩国一区 | 国语自产视频在线不卡 | 成年人网站 | 热门海量电影资源在线观看 | 乱子伦一区二区三区 | 国产精品一区在线 | 欧洲日韩精品在线播放 | 国产高清在线丝袜精品一区 | 国产日产中文在线视频 | 免费91最新地址永久入口 | 凶猛办公室高清未删减 | 欧美亚洲国产日韩图片 | 成人污污污w | 国产盗摄不卡 | 频道国产在线资源 | 国产成a人片在线观看视频首页 | 国产精品欧美日韩中字一区二区 | 欧美大香线蕉 | 亚洲制服丝袜中文字幕自拍 | 国产高清免费在线观看精品 | 中文乱码 | 欧美激情日韩 | 久章草在线精品视频免费观看 | 国产日韩欧美不卡在线二区 | 国产玉足脚交极品在线视频 | 国产日韩欧美综合网站 | 99香蕉国产线观看免费 | 蜜桃精品一区二区三区在线观看 | 一级特黄aaa大片在线观 | 国产欧美日韩在线视频 | 国产精品一区二区三区 | 国产精品99五月天 | 国产末成年女噜噜 | 国产亚洲欧美日本高清 | 国产日产综合综合 | 国产高跟鞋丝袜在线观看 | 亚洲精品国产第一区二区尤物 | 99精品视频观看国产金尊播放 | 手机午夜福利1000视频 | 欧美午夜性刺激在线观看免费 | 最近中文字幕mv | 午夜福利在线观看 | 国产亚洲精品精品国产亚洲综合l | 欧美激情va永久 | 欧美a级v片在线观看 | 日本欧美大码aⅴ在线播放 国产欧美二区三区 | 亚洲老热 | 亚洲精品国产品国语原创 | 日韩视频在线观看二区 | 日本午夜专区一 | 日韩成人午夜影院 | 亚洲国产一区二区日韩专区 | 日韩精品在线播放 | 私人情侣影院在线电影院 | 日韩亚洲欧美综合 | 日本一本免费线观看视频 | 乱码视频午夜在线观看 | 精品自拍视频在线观看电影 | 91精品网站天堂系列在 | 国产精品无需播放器在线观看 | 欧美激情一区二区三区中文字幕 | 欧美性猛交一 | 国产一级做a爰片在线看免费 | 欧美亚洲日本国 | 亚洲jizz | 一区二区日韩激情在线观看视频 | 日产无人区一线二 | 偷自拍视频区综合视频区 | 亚洲精品精华液一区 | 性生生活12分钟免费 | 日韩美精品成人一区二区 | 国产午夜三 | 一个人看的www视频免 | 水蜜桃www | 视频一区二区 | 欧美日韩一区二区精品在线观看 | 国产熟女熟女 | 国产精品网站不卡在线观看 | 中文字幕一区二区三区免费看 | 日韩色αv一区二区三区 | 国产免费中文字幕v在线 | 最近中文字幕完整版2025一页 | 奇米777四色成人影视 | 中文字幕欧美第一页 | 绿巨人视频app官网 国产一区二区在线视频观看 | 国产日韩欧美911 | 又湿又紧又大又爽a视频国产 | 国产v综合v亚洲欧美大片 | yellow高清免费观看日本 | 国产欧美日韩精品第一页 | 精品欧美极品视频在线播放 | 欧美三级伦理在线影院 | 最近2025年好看中文字幕视频 | 日本高清在线精品 | 欧美高清一级 | 男女做aj视频免费的网站 | 91大视频网站 | 精品日韩欧美在线 | 日韩a级片在线观看 | 国产精品三p一区二区视频 一区二区国产高清视频在线 | 最新国产精品自在自线发布 | 国产极品翘臀在线观 | 色综合中文字幕色综合激情 | 国产激情在线视频 | 欧美亚洲日本另类图区 | 国产午夜福利短视频在线观看 | 亚洲国产欧美日韩v一区二区 | 精品国产香蕉在线观看 | 精品国产综合色在线 | 海量高清影片免费观看 | 国产***尤物在线一级 | 亚洲欧美日韩激情在线观 | 亚洲1级在线观看 | 国产一线二线三线女vv | 永远免费观看 | 欧美日韩一区欧美不卡 | 热门免费电影大片 | 国产中文字幕在线免费观看 | 欧美丰满老妇熟乱xxxxx视频 | 最近免费中文字幕 | 国产高清在线精品一区二区三区 | 男女视频在线观看免费 | 日日插夜夜爽 | 国产伊人精品导航 | 91精品国产八戒影视 | 成人欧美激情亚洲日韩蜜臀 | 全亚洲最大 | 99视频在线国产 | 欧美性大 | 99在线精品国自产拍不卡 | 亚洲一区二区三区不卡在线播放 | 免费不卡影院 | 日韩草莓视频一区二区在线 | 97色伦午夜免费公开视频 | 亚洲精品国产精品乱码不99 | 热门好看的电影大全 | 国产精品视频一区二区三区不卡 | 日韩中文字幕精品视频在线 | 国产欧美日韩电影在线观看 | 97亚洲自拍另类欧美综合 | 精品日韩在线一区二区 | 国产精品高清小罗 | 国产一级淫 | 欧美激情在线导航 | 精品国产一区二区三区四 | 日韩精品乱码在线 | 亚洲视频| 九1热综合这里都是真品 | 激情文学综合区图片区小说区 | 国产一区二区三区欧美亚洲 | 国产老熟女高 | 黑人巨大精品欧美一区在线 | 欧洲精品一区二区三区在线观看 | 在线观看的网站黄2025 | 国产欧美综合系列在线 | 区二区视频在线观看 | 免费人成视网站在线不卡 | 99热国产这里只有精品6 | 国产人成在线观看91 | 免费精品国自产拍在线播放 | 国产精品单位女同事在线 | 欧美激情区二区一区三 | 夜夜看天天想人人爱 | 日韩视频一区二区在线观看 | 黑人巨大精品欧美一区二区免费 | 日日日涩涩 | 成人h视频在线观 | 这里只有精品在线观看视频 | 蜜桃网站入 | 亚洲日韩中文字幕一区 | 爱如潮水视频在线观看 | 黑人巨茎 | 99精品欧美一区二区三区白人 | 国产香港日本三级在线观看 | 亚洲免费黄 | 国产伦理 | 国产精品天干天干在线观看61 | 成人短视频黄 | 国产系列在线亚洲视频 | 解码2025最新电影预告片 | 国产一区二区三区亚洲 | 国产高清不卡视频在线播放 | 国产精品偷窥熟女精品视频 | 含羞草影院在线 | 亚洲人成网7777777国产 | 91成人国产网站在线观看 | 日本阿v片在线播放免费 | 欧美激情人成视频在线观看 | 国产日韩欧美高清 | 成年人午夜视频网站 | 国产精品亚洲二区在线播放 | 精品尤物导航 | 看一级特黄a大一片电影 | 极品美女在线观看免费直播 | 国产精品一区二区视色 | 亚洲精品国产第一区二区尤物 | 国产在线精品国自产拍影院同性 | 青春娱乐国产分类精品二 | 51国产黑色丝袜高跟鞋 | 精品国产丝袜 | 国产午夜在线免费 | 国产真人做爰免费视频 | 欧美日韩极品美女精品 | 亚洲不卡一卡2 | 巨大乳bbwsex中国 | 欧美激情一区二区三区牲牛牛 | 国精产品一区二区三区有限 | 男人本色国产在线综合 | 亚洲综合亚洲综合网成人 | 欧美乱伦免费 | 高清影视电视剧免费在线观看 | 国产亚洲 | 久99久热只有精品国产15 | 亚洲中文波霸中文字幕 | 精品国产一区二区一区二 | 国产精品自在自线亚洲 | 国产男生夜间福利免费网站 | 亚洲精品熟女中文字幕 | 加勒比一本大道香蕉大在线 | 国产欧美曰韩一区二区三区 | 亚洲中文国产综合 | 91极品女神嫩| 欧美日韩一区二区三区在线播放 | 天天爱天天做天天做天天吃中 | 日韩精品电影一区 | 国产日韩欧美二区在线 | 欧美床戏吻戏摸下面吻胸 | 国产丰满大乳奶水在线播放 | 国产一区高清在线欧美 | 日本最大のタイ旅行サイト | 欧美xxxx欧美精品 | 欧美日韩在线亚洲 | 日韩大乳视频中文字幕 | 50章厨房激情双开 | 综合精品欧美乱伦 | 国产美女跪下吃大j8视频 | 中文字幕在线播放视频 | 国产免费福利在线视频 | 国产老熟女精品一区二区 | 亚洲综合色区在线观看 | 国产喷水在线观看 | 国产精品一区高清在线观看 | 污网站在线观看视频平台 | 国产亚洲tv在线观看 | 国产日韩欧美在线精品电影 | 日韩亚洲欧美中文高清 | 91露脸对白不带套在线播放 | 日本欧美中文日韩v在线 | 国产综合精品一区 | 国产色色色專業從事互動視頻 | 国内永久福利在线视频 | 国产精一品亚洲二区在线播放 | 日韩播放自拍视频在线观看免 | 国产精品免费精 | 国产一本视频在线播放 | 日韩哦欧美在线 | 国产午夜福利电影免费在线观看 | 国产一区二区高清 | 国产户外一区二区三区在线 | 欧美日韩中文无限码 | 成人熟女日韩欧美综合 | 九一国产精品视频 | 欧美无砖专区一中文字新闻 | 欧美激情一区二区三区高清视 | 亚洲日韩一页精品发布 | 国产盗摄亚洲中国 | 国产综合视频在线观看 | 国产在线观看成人 | 日本欧美高清乱码一区二区 | 欧美性大 | 国产亚洲男人的天堂在线观看 | 国产日韩传媒一区二区三区四区 | 国产色秀视频在线播放 | 啦啦啦免费高清在线观看 | 国产免费人成视频 | 国产亚洲综合成人91精品 | 涩涩www在线观看免费高清 | 日韩激情视频在线 | 10000部禁人视频免费网站 | 一级特黄性色生活片一区二区 | 黑人大战亚洲女在线播放 | 国产香线蕉手机在线观看 | 精品无人区一区二 | 欧美人与动交zoz0 | 追心影视| 欧美日韩亚州在线 | 最新天美传媒 | 欧美福利的日韩片 | 日韩中文字幕不卡 | 国产日产中文在线观看 | 日韩亚洲欧洲精品婷婷涩 | 国产一级淫片a免 | 国产午夜激情视频自拍 | 日本综合欧美 | 国产剧视频在线播放 | 亚洲日本 | 国产经典三级 | 日本黄页网站免费观看 | 欧美日韩中文有 | 日韩午夜在线一区二区三区 | 日韩一级 | 国产大学生酒店刺激在线 | 国产全部理论片线观看 | 日本激情猛烈在线看免费观看 | 欧美日韩午夜国产一区 | 欧美一级欧美三级在线观看 | 日韩欧美国产高清在线观看 | 亚洲码国 | 亚洲国产精品综合色在线 | 国产欧美日韩在线 | 国产人成亚洲区 | 欧美日韩在线视频制服 | 国产suv精品一区 | 国产精品自在线拍国产下载 | 国产日韩区欧美a | 亚洲欧美一区二区三区 | 三年片最新电影免费观看 | 亚洲色自偷自拍另类小说 | 欧美视频中文字幕 | 国产精品白丝网站 | 国产理论在线观看 | 日韩丰满少 | 国产精品日韩欧美一区 | 国内精品在线一区二区 | 亚洲成年看 | 不卡精品| 欧美黑人巨大性 | 国产在线成人观看.www | 韩国三级高清手机在线版 | 日韩高清在线高清免费 | 国产日韩欧美亚欧在线中日韩 | 变态另类清纯唯美中文 | 最新md传 | 欧美高清性xxxxhd | 国产在线久欧美视频 | 日韩欧美亚洲一区 | 国产一级做a爰片在线 | 中文字幕在线观 | 欧美精品在线免费一区 | 国产在线观看精品高清 | 日本亚洲欧洲无免费码在线 | 日本.欧美一区二区三区 | 精品国产又大又长又爽 | 免费人成在线观看网站品爱网 | 岛国大片在线一区二区三区 | 国产精品免费无 | 欧美视频综合二区 | 成人精品欧美一区二区三区 | 国产精品自拍 | 日韩高清一区在线观看 | 国产精品区网红主播在线观看 | 大色佬视频在线 | 精品亚洲a | 国产乱理伦片在线观看夜色 | 成人免费一区二区三区 | 国产玉足脚交极品网站 | 区视频在线 | 国产韩国日本欧美在线观看 | 中文字幕夫妇交换乱叫 | 国内在线视频观看 | 亚洲精品国产福利 | 日韩欧美亚洲午夜 | 亚洲精品日韩一区 | 精品日本永久免费网站 | 欧美亚洲综合一区 |