日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

手机测试相关

發布時間:2023/12/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 手机测试相关 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

appium環境安裝包百度網盤地址
鏈接:https://pan.baidu.com/s/1pvNb5AzYVzIq5tWjoJJhLg
提取碼:ghaj

文章目錄

  • monkey、monkeyRuner、Appium、UIAutomator、對比
      • 附錄:快捷鍵
        • 在線數據生成datagenerator
        • cmd命令
        • adb命令
          • 查看端口號占用
            • Linux
            • window
          • web日志
          • andriod日志
          • Log信息級別
          • appium腳本生成步驟
            • 模板腳本
            • uiautomotor輔助定位
          • Monkey
            • 陌匠測試步驟:
          • Monkeyrunner
            • **運行方式**
            • **示例腳本**
            • MonkeyDevice 方法
            • waitForConnection()
            • MonkeyIamge
      • 一、ADB調試橋作用
        • ADB子命令參考
            • 查看日志
            • 向模擬器傳送.apk文件并安裝
            • 根據包名卸載APP
        • 查看包名和主活動
        • 1.有apk
          • a, aapt dump badging 路徑
          • b, 文件夾內找
        • 2.無apk
          • 單開設備
            • a.查看log,Displayed
            • b.命令行
            • linux命令
            • window10
            • 或者
            • 或者(不推薦)
            • 或者(無效)
          • 多開設備
          • 僅獲取包名 Monkey
      • 二、Monkey和MonkeyRunner
        • Android自動化測試三種模式
          • 1.基于隨機事件
          • 2.基于坐標點
          • 3.基于控件
      • 三、Monkeyrunner3大組件API:
        • **首先導入工具包**
        • 1)MonkeyRunner 工具類,提供工具方法
        • 2)MonkeyDevice 表示某設備對象
        • 3)MonkeyImage
  • Appium安裝總體步驟 :
      • 一、JDK安裝并設置
      • 二、SDK安裝設置
          • SDK重要目錄
          • 必裝:Tools=>Options
          • 配置環境變量
      • 三、安裝ui測試工具
        • AppiumDesktop
          • 啟動Inspector
          • 真機報錯解決
        • UiAutomatorViewer
          • UI測試工具概述
          • 操作步驟
          • 1.確認安裝有adb
          • 2.下載安裝模擬器
          • 3.uiautomatorviewer.bat
        • 常見問題解決
          • adb連接夜神模擬器
          • adb server version (31) doesn't match this client (36)
          • 華為打開USB調試
          • adb找不到真機
          • 無法獲取真機截圖
      • 四、安裝Appium-Python-Client
      • 五、Pycharm配置
        • 測試模板代碼
        • Original error: Could not find 'adb.exe' in PATH.
        • You are using pip version 9.0.1, however version 18.0 is available.
        • Could not find a version that satisfies the requirement openpyxl (from versions: )
  • 附錄:Genymotion模擬器
      • 安裝Genymotion模擬器 (實測無效)
        • VirtualBox問題總結
            • 1.Virtualbox啟動報cannot access the kernel driver
            • 2.安裝VirtualBox回滾
            • 3.Your PC/Device needs to be repaired
        • Genymotion問題總結
            • 1.在線下載虛擬設備失敗
            • 2.aapt: command not found

monkey、monkeyRuner、Appium、UIAutomator、對比

Monkey (壓力測試)

這個是Android提供的系統工具。它向系統發送偽隨機的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢輸入等),實現對正在開發的應用程序進行壓力測試。Monkey測試是一種為了測試軟件的穩定性、健壯性的快速有效的方法。

測試的對象僅為應用程序包,有一定的局限性。 Monky測試使用的事件流數據流是隨機的,不能進行自定義。 可對MonkeyTest的對象,事件數量,類型,頻率等進行設置。

monkeyRuner (功能測試,用戶接受度測試,黑盒測試),提供按鍵或觸摸事件的輸入數值,通過截屏對比是否是正常的運行。

UIAutomator - 官方 (黑盒測試,功能測試) ,可以測試需要在不同app之間切換的情況。找到UI控件然后進行操作。 UiAutomator對外提供了UiAutomatorTestCase、 UiDevice、UiSelector、UiObject、UiCollection、 UiScrollable等重要的類

Appium是基于UIAutomator框架實現的一個開源、跨平臺的測試框架。Appium測試 (功能測試,用戶接受度測試,黑盒測試),findElements**(**)方法獲取到UI元素,獲取信息為主。沒有uiautomator的執行速度快。

附錄:快捷鍵

在線數據生成datagenerator

需要全英文狀態下操作

https://www.onlinedatagenerator.com/

cmd命令

轉到指定盤:D:

回退到根目錄:cd\

adb命令

結束adb命令 :ctrl +C

退出adb shell:exit

退出monkeyrunner:ctrl+D

查看端口號占用
Linux

su
netstat -anlp | grep “631”
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 6184/cupsd

-a列出所有端口;-n使用數字,代替主機、端口和用戶名顯示;-l只顯示監聽端口;-p顯示 PID 和進程名稱;kill -9 6184 殺死進程

window

netstat -ano | findstr “4723”

TCP 0.0.0.0:4723 0.0.0.0:0 LISTENING 11128

監聽到pid 11128–ctrl+alt+delete任務管理器–詳細信息,找到PID11128,右鍵結束任務,可以關閉已占用端口號

web日志

1.作用:取代print()方法,并且可以在日志文件中回溯。

2.日志類需要配置或者注意:

2.1.項目路徑和日志文件路徑

這里我配置了項目的路徑base_url,并且準備新建一個log文件夾,用來放置log日志文件。

為了不用再手動去創建log文件夾和log日志文件,這里我進行了判斷文件夾和日志文件是否存在,如果不存在則創建日志文件夾和文件。
2.2默認level值

默認入參中有默認:clevel、Flevel,如果有等級需要可以進行更改

clevel:cmd輸出日志界面的日志等級

Flevel:日志文件的日志等級

在創建logger時,也對總的日志等級設置,這里我設置為了debug最低等級。

3.log類代碼

# -*-coding:utf-8 -*- import os import logging# 定義了blog_ui項目的絕對路徑 base_url = "E:/111test/blog_ui/"class Logger:def __init__(self, path=base_url + "/log/autotest.log", clevel=logging.DEBUG, Flevel=logging.INFO):# 判斷log文件夾是否存在,不存在的話創建文件夾以及日志文件project_dir = os.listdir(base_url)dir_name = 'log' # log文件夾if dir_name not in project_dir:create_path = base_url + '/' + dir_nameos.makedirs(create_path)file = open(create_path + '/autotest.log', 'w', encoding='gb18030')file.close()# 創建loggerself.logger = logging.getLogger(path)self.logger.setLevel(logging.DEBUG)# 防止創建多個logger對象if not self.logger.handlers:# 設置日志格式fmt = logging.Formatter('[%(asctime)s] [%(levelname)s] %(message)s', '%Y-%m-%d %H:%M:%S')# 設置CMD日志sh = logging.StreamHandler()sh.setFormatter(fmt)sh.setLevel(clevel)# 設置文件日志fh = logging.FileHandler(path)fh.setFormatter(fmt)fh.setLevel(Flevel)self.logger.addHandler(sh)self.logger.addHandler(fh)def debug(self, message):self.logger.debug(message)def info(self, message):self.logger.info(message)def war(self, message):self.logger.warn(message)def error(self, message):self.logger.error(message)def cri(self, message):self.logger.critical(message)

4.日志類的調用 demo.py

# 導入自定義的log類 from common.log import Logger# 實例化一個log對象 test_log = Logger()# 調用log類的方法: test_log.war("警告信息") test_log.info("普通信息") test_log.debug("詳細信息") test_log.error("錯誤信息") test_log.cri("嚴重錯誤")

接下來加入日志后,就需要將之前的print方法逐個替換為log方法,并且在關鍵位置,例如:網址、元素定位地址、輸入值、斷言結果等信息,使用log日志來打印。

andriod日志

1.清理之前的日志緩存,從當前開始顯示

adb logcat -c && adb logcat

2.日志加時間

adb logcat time //顯示日期,調用時間,優先級/標記,PID

3.logcat命令

adb logcat //顯示全部日志
adb logcat > D:\test.log //將日志保存到文件test.log
adb logcat 標記1:I 標記2:D *:S //根據tag標記和級別過濾日志輸出
adb logcat *:W //顯示所有優先級大于等于“warning”的日志
adb logcat -s 標記1 //顯示標記1的日志信息

grep匹配

adb logcat | grep “^E.MyApp”
adb logcat | grep “…MyApp|…MyActivity”
adb logcat | grep -E “…MyApp|…MyActivity” #使用 egrep 無須轉義符

Log信息級別

V — 明細 verbose(最低優先級)
D — 調試 debug
I — 信息 info
W — 警告 warn
E — 錯誤 error
F — 嚴重錯誤 fatal
S — 無記載 silent

從上而下級別逐次增加

appium腳本生成步驟

第一步:打開app
第二步:cmd命令行輸入,獲取包名和主活動,設備端口號

adb shell dumpsys window | findstr mCurrentFocus
mCurrentFocus=Window{3bc2728b u0 com.example.tarena.myappdemo2/com.example.tarena.myappdemo2.MainActivity2}

adb devices
List of devices attached
127.0.0.1:62001 device

第三步:

1.右鍵–以管理員身份運行appium(如失敗,退出再次以管理員運行appium即可),當前log獲取appium端口號:4723。

2.Start Inspector Session–Desired Capabilities–編輯并save as,方便下次直接使用

{
“platformName”: “Android”,
“platformVersion”: “5.1.1”,
“deviceName”: “YeShen”,
“appPackage”: “com.example.tarena.myappdemo2”,
“appActivity”: “com.example.tarena.myappdemo2.MainActivity2”
}

3.Start Session,點擊眼睛圖標開始錄制頁面操作,完成操作后再次點擊眼睛圖標,結束。-- 頁面中間Recorder 選擇python,–copy code–粘貼到模板代碼【錄屏代碼】部分,放到pycham運行即可。

模板腳本
# -*- coding: utf-8 -* from appium import webdriver from appium.webdriver.common.touch_action import TouchAction from time import sleepdesired_caps={"automationName":"UiAutomator2","platformName": "Android","platformVersion": "5.1.1", # 1.設備版本號 模擬器--設置--關于電腦--android版本"deviceName": "127.0.0.1:62001", # 2.設備端口號 cmd--adb devices獲取"appPackage": "com.example.myappdemo3", #3.被測包名"appActivity": "com.example.myappdemo3.MainActivity", #4.被測主活動"unicodeKeyboard":True,# 支持中文輸入,默認false"resetKeyboard":True,# 重置輸入法為系統默認,將鍵盤給隱藏起來"noReset": True, # 不重新安裝apk"noSign": True # 不重新簽名apk } driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)# 5.錄屏代碼sleep(3) driver.quit()
uiautomotor輔助定位
# -*- coding: utf-8 -* from appium.webdriver.common.mobileby import MobileBy# text示例代碼: driver.find_element(MobileBy.ANDROID_UIAUTOMATOR,'new UiSelector().text("確定")').click() driver.find_element_by_android_uiautomator('new UiSelector().text("擅長體育")').click() driver.find_element_by_android_uiautomator('new UiSelector().textContains("e")').click() driver.find_element_by_android_uiautomator('new UiSelector().textStartsWith("de")').click() driver.find_element_by_android_uiautomator('new UiSelector().textMatches(".*e.*")').click()# new UiSelector(). 可以省略 driver.find_element_by_android_uiautomator('text("擅長音樂" )').click()# description示例代碼 driver.find_element(MobileBy.ANDROID_UIAUTOMATOR, 'new UiSelector().description("刪除")').click() driver.find_element_by_android_uiautomator('description("刪除")').click() driver.find_element_by_android_uiautomator('descriptionContains("除")').click() driver.find_element_by_android_uiautomator('descriptionStartsWith("刪")').click() driver.find_element_by_android_uiautomator('descriptionMatches(".*刪.*")').click()# resourceId例代碼: #find_element_by_android_uiautomator,與find_element_by_id功能基本一樣,但不能使用簡寫的id屬性值 driver.find_element(MobileBy.ANDROID_UIAUTOMATOR,'resourceId("com.android.calculator2:id/d el")').click() driver.find_element_by_android_uiautomator('resourceId("com.android.calculator2:id/d el")').click() driver.find_element_by_android_uiautomator('resourceIdMatches(".*e.*")').click()# 在UI Selector中如果resource-id屬性值是 “com.android.calculator2:id/del”,不能簡寫為del。 driver.find_element_by_id("com.android.calculator2:id /del").click() driver.find_element_by_id("del").click() driver.find_element_by_android_uiautomator('resourceId("com.android.calculator2:id/d el")').click()# className # 頁面上的class屬性一般不唯一, 一般用于定位多個元素,用下標(index或instance)獲得指定編號的那一個來操作。 driver.find_element_by_android_uiautomator('className("android.widget.Button")').click() driver.find_element_by_android_uiautomator('classNameMatches(".*Button")').click()# id與text屬性組合定位 driver.find_element_by_android_uiautomator('resourceId("com.android.calculator2:id/d el").text("del")').click()# index:在同一級中的編號,在兄弟類中組件的編號, index從0開始。 driver.find_element_by_android_uiautomator('new UiSelector().className("android.widget.Button").inde x(3)').click()# instance:同一個布局中同一類組件的編號,instance 從0開始 driver.find_element_by_android_uiautomator('new UiSelector().className("android.widget.Button").inst ance(12)').click()# 父子定位childSelector driver.find_element_by_android_uiautomator('resourc eId("android:id/content").childSelector(className("a ndroid.widget.LinearLayout").childSelector(text("Sho w Invisible Contacts (Only)")))').click()# 兄弟定位fromParent driver.find_element_by_android_uiautomator('text("S how Invisible Contacts (Only)").fromParent(className("android.widget.Butt on"))').click()# 逐級查找,先定位到某個祖先節點,再定位其后代節點 driver.find_element(MobileBy.XPATH,"//android.supp ort.v4.view.ViewPager")\.find_element(MobileBy.XPATH,"//android.widget.Lin earLayout")\.find_element(MobileBy.XPATH,"//android.view.ViewG roup[1]")\.find_element(MobileBy.XPATH,"//android.widget.But ton[3]").click()# 跳級查找 driver.find_element(MobileBy.XPATH,"//android.supp ort.v4.view.ViewPager").find_element(MobileBy.XPATH,"//android.widget.Button[3]").click()
Monkey

1、cmd中輸入:

adb shell monkey

獲得monkey的運行幫助信息
注意:必須連接到設備才可獲得幫助信息

陌匠測試步驟:

1、準備測試環境:adb驅動+手機驅動+數據線+手機真機+usb開啟調試模式

2、設計monkey命令

adb shell monkey -p cn.idcby.jiajubang -s 10 --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v - v -v 100 >D:\test.log

3、執行命令跟蹤日志D:\test.log

4、日志分析:

  • 通過Ctrl+F搜索關鍵字,定位錯誤信息:
  • crash(崩潰)/ANR(未響應)/exception(異常)/Force_closed(強制退出)/GC(內存異常)

  • 定位關鍵字后,上下文分析確定錯誤日志,整理后反饋給開發人員即可:reason,traces
  • 陌匠異常:crash–空指針異常造成的

    // CRASH: cn.idcby.jiajubang (pid 1907)

    // Short Msg: java.lang.NullPointerException

    // Long Msg: java.lang.NullPointerException: Unable to create application cn.idcby.jiajubang.application.MyApplication: java.lang.NullPointerException

    application cn.idcby.jiajubang.application.MyApplication: java.lang.NullPointerException

    // at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4394)

    Monkeyrunner

    monkeyrunner

    正常情況會進入jython的環境,并且顯示其版本號,其次有>>>命令提示符

    運行方式

    1.cmd命令窗口–monkeyrunner–腳步逐行運行–回車 true

    2.編寫批量python腳本并生成.py文件,cmd命令窗口–monkeyrunner D:\monkeyrunnertest.py

    提示:實測無法在pycham中直接運行

    示例腳本
    # -*- coding: utf-8 -* from com.android.monkeyrunner import MonkeyRunner from com.android.monkeyrunner import MonkeyDevice from com.android.monkeyrunner import MonkeyImage device=MonkeyRunner.waitForConnection() #連接設備device.touch(438,750,"DOWN_AND_UP") # 操作設備 # device.type("123456") # 輸入文本 img1 = device.takeSnapshot() # 獲取快照/截圖 img1.writeToFile("D:\p1.png", "PNG")
    MonkeyDevice 方法
  • wake():點亮屏幕
  • 案例:device.wake()

  • Type():文本框輸入內容
  • 形式:void type(String 文本內容)

    案例:device.type(‘1234’)

  • touch():點擊屏幕
  • 形式:void touch(坐標位置,操作邏輯)

    案例:device.touch(125,365,’DOWN_AND_UP’)

    4)drag():滑屏

    形式:void drag(開始坐標,結束坐標,持續時間,步驟插值)

    案例:device.drag((225,150),(225,165),2,10)

    思考:長按?–在同一坐標位置持續一段時間滑屏,即長按

    Device.drag((245,345),(245,345),2,10)

    5)press():系統級操作

    形式:press(按鍵名稱,操作邏輯)

    案例:press(‘KEYCODE_HOME’,’DOWN_AND_UP’)

    常用按鍵:KEYCODE_HOME,

    KEYCODE_BACK,KEYCODE_MENU等

    補充:takeSnapShot()—截取當前停留界面的截圖

    形式:參數–空參 ,返回值類型:MonkeyIamge

    常用常量

    1)DOWN-- 按下—String類型

    2)UP–抬起—String類型

    3)DOWN_AND_UP:按下后抬起–String類型

    waitForConnection()

    作用:連接手機設備:真機/模擬器

    形式:waitForConnection(參數1,參數)

    返回值類型:MonkeyDevice

    參數1:float 超時時間 單位S

    參數2:String設備ID,’十六進制ID’(真機);’Emulator-5554’(模擬器)

    案例:MonkeyRunner.waitForConnection()

    2、sleep()

    作用:程序運行過程中步驟間的等待時間,單位:s

    形式:sleep(float 時間)

    返回值類型:void–無需返回值

    參數:具體等待時間

    案例:device.sleep(5)===錯誤

    MonkeyRunner.sleep(5)==正確

    419,382 97,382

    device.drag((419,382),(97,382),2,10)

    MonkeyIamge

    1、writeToFile()–保存文件

    形式:void writeToFile(String 保存位置,String 保存文件格式)

    案例:

    image=device.takeSnapshot()

    image.writeToFile(‘D:\testimage.png’,’png’)

    2、sameAs():對比預期截圖和實際截圖

    形式:booleansameAs(MonkeyImage 預期圖片,float百分比)

    案例:result.sameAs(‘D:\test1.png’, 0.9)

    返回值:對比結果不一致:false–有缺陷或者有異常情況

    ? 對比結果通過:true–正常符合需求

    3、坐標獲取

    1)開發工具–pointer location 選擇后通過工具條獲取坐標

    2)通過monkeyrunner提供錄制功能實現坐標的獲取

    一、ADB調試橋作用

    能夠讓PC機和手機、模擬器進行通信,以便調試的工具
    – 命令位置: sdk\platform-tools
    – adb可以同時管理多個Android設備

    ADB子命令參考

    adb devices 列出所有運行的Android模擬器實例和已連接的Android 設備

    adb shell 通過PC連接手機或打開Android模擬器

    adb push 1.txt /data/ 將PC中的文件傳輸給Android設備,供安裝等操作

    adb pull /data/1.txt D:\ 經常從Android設備中獲取日志文件,在PC中記錄并分析

    查看日志

    adb logcat > app1.log

    -d選項表示讀完所有log后返回

    adb logcat -d > app2.log

    向模擬器傳送.apk文件并安裝

    adb install D:\Mobile_Test\hehe_v1.2.apk

    根據包名卸載APP

    adb uninstall com.zmhj.hehe

    adb start-server 啟動adb服務器進程
    adb kill-server 結束adb服務器進程

    查看包名和主活動

    1.有apk

    a, aapt dump badging 路徑

    aapt dump badging I:\test\手機appium\Apks\app2-debug.apk
    package: name=‘com.example.tarena.myappdemo2’ versionCode=‘1’ versionName=‘1.0’
    launchable-activity: name=‘com.example.tarena.myappdemo2.MainActivity2’ label=’’

    b, 文件夾內找

    (實測無效)

    查看.apk配置文件 – 解壓縮為一個文件夾
    – 該文件夾內找到 AndroidManifest.xml – 使用記事本打開-ctrl+F,搜索:找到manifest 對應的就是appPackage, 搜索:activity對應的就是appActivity。

    (activity關鍵 字很多,你要注意辨別。)

    2.無apk

    (計算器、通訊錄、短信…)

    單開設備
    a.查看log,Displayed

    1.打開APP,命令行執行

    adb devices
    adb logcat>I:\log.txt

    2.對APP做任意一些操作

    Ctrl+c 結束adb命令

    3.打開I:\log.txt文件,搜索:Displayed,找到I/ActivityManager( 1688): Displayed com.example.myappdemo3/.MainActivity: +491ms

    b.命令行

    執行結果-{}中信息找包名:包名形式-com.xxx.xxx

    1.打開APP,命令行執行

    linux命令

    adb shell dumpsys window |grep mCurrent

    window10

    adb shell dumpsys window | findstr mCurrentFocus

    mCurrentFocus=Window{2bcb203d u0 com.tencent.mm/com.tencent.mm.plugin.webview.ui.tools.WebViewUI}

    或者

    adb shell dumpsys window w | findstr / | findstr name=

    mSurface=Surface(name=com.tencent.mm/com.tencent.mm.plugin.webview.ui.tools.WebViewUI)

    或者(不推薦)

    adb shell dumpsys activity activities

    – 命令行結果查看:

    【last屏】?mFocusedActivity: ActivityRecord{18ff6fef u0 com.tencent.mm/.plugin.webview.ui.tools.WebViewUI t4}

    【first屏】?realActivity=com.tencent.mm/.ui.LauncherUI

    或者(無效)

    adb shell “dumpsys window w|grep /|grep name=|sed ‘s/mSurface=Surface(name=//g’|sed ‘s/)//g’|sed ‘s/ //g’”

    使用這條命令,結果看起來會更清晰

    多開設備

    查看設備號:adb devices

    adb -s 127.0.0.1:62026 shell
    dumpsys activity | grep mFocusedActivity

    查看 mFocusedActivity: ActivityRecord{18ff6fef u0 com.tencent.mm/.plugin.webview.ui.tools.WebViewUI t4}

    僅獲取包名 Monkey

    1.獲取所有程序包名

    adb shell pm list packages

    2.獲取自己安裝的程序包名

    adb shell pm list packages -3

    3.獲取與hello相關程序包名

    adb shell pm list packages hello

    二、Monkey和MonkeyRunner

    Android自動化測試三種模式

    1.基于隨機事件

    crash閃退–Monkey壓力測式(穩定性測試)

    2.基于坐標點

    MonkeyRunner功能自動化測試

    3.基于控件

    Appium基于 Webdriver驅動
    Selenium作為web自動化
    Instrumentation測試框架

    三、Monkeyrunner3大組件API:

    首先導入工具包

    from com.android.monkeyrunner import MonkeyRunner

    from com.android.monkeyrunner import MonkeyDevice

    from com.android.monkeyrunner import MonkeyImage

    1)MonkeyRunner 工具類,提供工具方法

    device = MonkeyRunner.waitForConnection() 連接
    嘗試連接設備,如果連接成功,會返回MonkeyDevice類型的對象的引用,賦值給device變量(聲明不用寫類型)
    如果連接不上,默認一直試圖連接下去,如果使用重載的參數,比如超時時間,就可以控制時間。

    2)MonkeyDevice 表示某設備對象

    device.touch(200, 300, “DOWN_AND_UP”) 觸摸
    device.type(“123456”) 輸入文本
    img1 = device.takeSnapshot() 獲取快照/截圖

    3)MonkeyImage

    通過img1.writeToFile(String path, String format)
    產生截圖文件 “D:\p1.png”, “PNG”

    關系:mr 產生 md 產生 mi

    Appium安裝總體步驟 :

    一、JDK安裝并設置

    版本建議1.7以上

    1.搜索:環境變量
    2.在系統變量中點擊“新建”,輸入變量名JAVA_HOME, 變量值中輸入jdk安裝路徑
    3.在系統變量中找到Path,點擊“編輯”,在末尾加入 – %JAVA_HOME%\jre\bin; – %JAVA_HOME%\bin;
    4.檢查Java環境: – 打開命令行窗口 – 輸入java –version查看java版本

    二、SDK安裝設置

    1.搜索:環境變量
    2.在系統變量中點擊“新建”,輸 入變量名ANDROID_HOME,變量值中輸入SDK下的 sdk文件夾路徑,點擊“確定”
    3.Android SDK文件夾下,雙擊SDK Manager,選裝工具。

    SDK重要目錄

    包括【build-tools】【platforms 】【platform-tools】【tools】

    – 【build-tools】里面是丌同版本(例如21.1.1)的build工具, 這些工具包括了aapt打包工具、dx.bat、aidl.exe等等
    – 【platform】是存放丌同API-level版本SDK目錄的地方
    – 【platform-tools】是一些android平臺相關的工具,adb 、fastboot等
    – 【tools】是指的安卓開發相關的工具,例如android.bat 、ddms.bat(Dalvik debug Monitor Service)、 draw9patch.bat等等

    必裝:Tools=>Options

    設置代理提升速度,我們使用鄭州大學開源鏡像站mirrors.zzu.edu.cn,端口80

    配置環境變量

    在系統變量中找到Path,點擊 “編輯”,在末尾加入
    – %ANDROID_HOME%\platform-tools;
    – %ANDROID_HOME%\tools;
    – %ANDROID_HOME%\build-tools;
    檢查Android環境: – 打開命令行窗口 – 輸入adb

    三、安裝ui測試工具

    AppiumDesktop

    啟動Inspector

    要配置一些Desired Capabilities信息:

    {
    “platformName”: “Android”,
    “platformVersion”: “5.1.1”,
    “deviceName”: “YeShen”,
    “appPackage”: “com.example.myappdemo3”,
    “appActivity”: “com.example.myappdemo3.MainActivity”
    }

    真機報錯解決

    啟動Inspector時一直報下面的錯誤:

    An unknown server-side error occurred while processing the command. Original error: Unable to find an active device or emulator with OS 23. The following are available: M************O (10).
    這時候將平臺版本"platformVersion" 改為 “10” 后再次運行,結果正常.

    UiAutomatorViewer

    uiautomator 是自動化UI測試工具。創建測試代碼來執行測試任務,各種測試任務分別覆蓋不同的使用場景,然后使用測試框架來運行這些測試任務。

    UI測試工具概述

    Android SDK在4.1中提供了如下工具來支持UI自動化測試:

    • uiautomatorviewer – 一個圖形界面工具來掃描和分析應用的UI控件。
    • uiautomator – 一個測試的Java庫,包含了創建UI測試的各種API和執行自動化測試的引擎。

    要使用該工具,需要滿足如下條件:

    • Android SDK Tools, Revision 21 or higher
    • Android SDK Platform, API 16 or higher
    操作步驟
    1.確認安裝有adb

    首先確認環境是否安裝有adb工具,首先通過快捷鍵 win+R鍵進入cmd環境,輸入"adb version",如果可以正常查看adb版本,說明安裝成功。如果報錯了,請檢查是否有配置adb的環境變量。

    2.下載安裝模擬器

    設置-關于手機–版本號連點7下打開開發者模式–點擊進入"開發者選項",選擇"允許USB調試",確認安卓模擬器與電腦環境切換至同一網絡環境下。百度查看夜神模擬器默認adb端口:adb connect 127.0.0.1:62001,連接adb調試工具,adb devices確保連接成功。

    3.uiautomatorviewer.bat

    找到電腦C:\Program Files (x86)\Android\android-sdk\tools位置,打開uiautomatorviewer.bat,點擊左上角第二個圖標Device Screenshot (uiautomator dump)設備截屏,選擇控件,右側即可查看控件屬性。

    常見問題解決

    adb連接夜神模擬器

    一、(單開)夜神模擬器

    adb connect 127.0.0.1:62001

    二、(多開)夜神模擬器

    前提:2個新開模擬器,已開啟usb調試模式1.夜神模擬器中默認的端口是62001,多開的模擬器端口應該也是62xxx之類的。cmd中輸入命令:netstat -ano |findstr "62" (查看當前機器中所有62相關程序的IP地址)2.果然在IP地址列表中看到這2個IP地址127.0.0.1:62025/62026協議 本地地址 外部地址 狀態 PIDTCP 127.0.0.1:62001 0.0.0.0:0 LISTENING 2812TCP 127.0.0.1:62001 127.0.0.1:23533 ESTABLISHED 2812 --ESTABLISHED提示已連接上TCP 127.0.0.1:62025 0.0.0.0:0 LISTENING 18760TCP 127.0.0.1:62026 0.0.0.0:0 LISTENING 13120嘗試命令:> adb connect 127.0.0.1:62025,運行程序,果然建立了連接再次查看連接設備列表C:\Users\yy>adb devicesList of devices attached127.0.0.1:62001 device127.0.0.1:62025 device127.0.0.1:62026 device
    adb server version (31) doesn’t match this client (36)

    原因:sdk的adb版本和夜神或逍遙模擬器自帶的adb版本不匹配。
    解決:在C:\Program Files (x86)\Android\android-sdk\platform-tools中復制adb.exe,粘貼替換掉第三方模擬器D:\Program Files\Nox\bin的adb.exe。
    注意:夜神的是以nox_adb.exe命名的,所以要把從sdk里拷貝過來的adb.exe改名為nox_adb.exe。

    華為打開USB調試

    1、進入手機點擊【設置】圖標。
    2、往下滑動屏幕,找到并且點擊【關于手機】選項。
    3、連續點擊【版本號】七次,直到出現提示“您已處于開發者模式”。
    4、返回上一級,在設置里面點開【系統和更新】就能看見【開發者選項】,點擊進入。
    5、在【開發者選項】里面可以看到【USB調試】選項,打開就可以了。

    adb找不到真機

    1.首先找到手機的安裝完之后的“設備的硬件id”,控制面板,找到設備管理器打開。
    2.在設備管理器中,找到ADB driver(android phone)然后點開。
    3.然后在詳細信息中,屬性選擇硬件ID點開,查看到我的ID是12D1
    4.找到你的模擬器存放的目錄,C:\Users\yy.android,找到或新建adb_usb.ini文件,把VID的數值寫入到adb_usb.ini 里面。就是0xVID(0x12D1)這6個字符即可。
    5.在cmd上輸入adb kill-server 然后重新拔插usb線之后,就可以連接adb 了

    無法獲取真機截圖

    本來想使用UIAutomatorView定位app頁面元素的,最開始我使用的是夜神模擬器,打開UIAutomatorView連接模擬器沒有問題,但是后來我使用真機時發現無法連接到真機獲取真機的截圖,具體報錯信息如下

    步驟:

    \1. 在任意盤的根目錄(不是根目錄也沒問題)新鍵app.png 與app.uix 兩個文件(我這里放在的E盤下面)

    \2. 打開CMD按照順序執行下面的命令

    adb shell uiautomator dump /sdcard/app.uix # 把當前窗口的UI布局信息輸出到/sdcard/app.uix文件

    adb pull /sdcard/app.uix E:/app.uix # 把手機里面的app.uix文件寫到本地E盤的app.uix文件

    adb shell screencap -p /sdcard/app.png # 截取當前的屏幕圖片,并保存到/sdcard/app.png

    adb pull /sdcard/app.png E:/app.png # 把上面的截圖文件從手機中傳遞到電腦的E:/app.png中

    \3. 導入UIAutomatorViewer

    啟動UiautomatorViewer, 按照下圖導入兩個app文件

    由于這種方法,每次切換手機的頁面時都需要要重新執行上述命令,所以可以把命令寫到一個bat腳本里面

    @echo on
    adb shell uiautomator dump /sdcard/app.uix
    adb pull /sdcard/app.uix E:/app.uix
    adb shell screencap -p /sdcard/app.png
    adb pull /sdcard/app.png E:/app.png

    導入后再次連接真機,成功

    四、安裝Appium-Python-Client

    Appium Python Client通過Python安裝等待安裝完成:
    – 進入cmd

    • 更新pip: python -m pip install --upgrade pip
      – 輸入:pip install Appium-Python-Client或者 pip3install Appium-Python-Client

    五、Pycharm配置

    1.使用管理員權限啟動Appium

    2.啟動模擬器

    3.啟動pycharm

    測試模板代碼

    from appium import webdriver from appium.webdriver.common.touch_action import TouchAction from appium.webdriver import WebElement from appium.webdriver.common.mobileby import MobileBy from time import sleep import randomdesired_caps={"automationName":"UiAutomator2","platformName": "Android","platformVersion": "5.1.1","deviceName": "127.0.0.1:62001","appPackage": "com.example.myappdemo3","appActivity": "com.example.myappdemo3.MainActivity","unicodeKeyboard":True,# 支持中文輸入,默認false"resetKeyboard":True,# 重置輸入法為系統默認,將鍵盤給隱藏起來"noReset": True, # 不重新安裝apk"noSign": True # 不重新簽名apk } driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)el2 = driver.find_element_by_accessibility_id("手機號輸入框") el2.send_keys("456") TouchAction(driver).tap(x=350, y=392).perform() el3 = driver.find_element_by_id("com.example.myappdemo3:id/editText5") el3.send_keys("456") el4 = driver.find_element_by_id("com.example.myappdemo3:id/editText6") el4.send_keys("零零") el5 = driver.find_element_by_id("com.example.myappdemo3:id/female") el5.click() el6 = driver.find_element_by_accessibility_id("請選擇是否擅長音樂") el6.click() el7 = driver.find_element_by_id("com.example.myappdemo3:id/sports") el7.click() el8 = driver.find_element_by_accessibility_id("提交按鈕") el8.click()sleep(3) driver.quit()

    Original error: Could not find ‘adb.exe’ in PATH.

    最終解決辦法:使用管理員權限啟動Appium,問題解決

    You are using pip version 9.0.1, however version 18.0 is available.

    解決辦法:

    python -m pip install -U pip

    time out 的話多執行幾次即可

    Could not find a version that satisfies the requirement openpyxl (from versions: )

    解決方案
    按照提示所示是其中一個原因是pip版本過低,需要更新pip:
    python -m pip install --upgrade pip
    由于python國內網絡不穩定,一直報錯,升級了很多次才成功。
    然后繼續還是報錯:

    可能考慮到是python國內網絡的問題,這時我們用國內的鏡像源來加速。

    pip install 包名 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

    這個是豆瓣源
    –trusted-host pypi.douban.com 這是為了獲得ssl證書的認證,要不然會報錯

    然而還是報錯,可能是我電腦網絡原因,常理來說都可以安裝成功的,大家到這一步可能應該已經解決問題了。
    我最后還是用pip3 install openpyxl嘗試很多次后才安裝成功。

    附錄:Genymotion模擬器

    安裝Genymotion模擬器 (實測無效)

    直接安裝genymotion-2.11.0-vbox

    或:
    第一步:下載cn_windows_10_multiple_editions_x64_dvd_6848463.iso
    第二步:下載安裝VirtualBox-4.3.12-93733-Win.exe,必須右鍵以管理員的身份運行,新建虛擬電腦,類型:microsoft windows,版本:windows8.1(64 bit),內存大小:2333mb,顯存大小:14mb),設置存儲,添加vdi,iso文件。啟動。進入系統安裝。

    第三步:下載安裝genymotion-2.9.0.exe,右鍵以管理員的身份運行
    登錄后選中settings,選擇ADB,選擇Use custom Android SDK tools,設置Android SDK為本地SDK路徑,如下:…\android-sdk

    VirtualBox問題總結

    1.Virtualbox啟動報cannot access the kernel driver

    操作步驟:關閉電腦防火墻,進入{VitualBox按照目錄}\drivers\vboxdrv文件夾,找到vboxdrv.inf這個文件,鼠標右鍵點,然后選擇安裝;以管理員的身份重新啟動虛擬機,就能運行了。

    2.安裝VirtualBox回滾
  • 系統服務未開啟
    這個不屬于virtual box的問題,而是本機系統的相應安裝服務未開啟。解決方案很簡單。
    電腦搜索–服務–在服務里啟動:
    Device Install Service.
    Device Setup Manager.
    開啟這兩個服務就好了(一般情況下是默認啟動的)
  • 無法安裝USB驅動
    這個問題可以通過查看安裝時打印的log發現,比較隱蔽,具體查看log的做法請參閱https://www.cnblogs.com/lonelyxmas/p/7549927.html
    或者走投無路的情況下,可以直接嘗試在安裝過程中取消usb驅動的安裝(相應的,這個功能也就沒有了,不過先能裝上再說)
  • 意外的安裝終止(導致后面也無法安裝)
    大致就是因為上次安裝終止,導致安裝信息殘留在msi上。因此后面每次在安裝或者卸載其它軟件的時候,注冊表的鍵值提示msi安裝系統,有個未完成安裝的軟件,于是執行回滾,虛擬機因此被刪除。
  • 定位到C:\Windows\Installer,定位到目錄下,按照時間排序,發現該文件的日期果然在今天,恰好在我安裝VirtualBox的時候,同樣的還有幾個最新文件,可以推測出確實是記錄了VirtualBox的正在安裝信息?,F在刪除掉這個鍵值之后,進行其它軟件的安裝以及卸載測試,發現沒有回滾虛擬機了,成功解決該問題。

    3.Your PC/Device needs to be repaired

    如果安裝過程中,提示“Your PC/Device needs to be repaired,this opearating system uses the Physical Address Extension feature to support system …”錯誤。請關閉虛擬機,請按下面的方法操作:
    在vm virtualBox管理器中,依次點擊:設置——系統——處理器,選中"啟用PAE/NX"前的復選框,點擊“確定”退出。

    Genymotion問題總結

    1.在線下載虛擬設備失敗

    1.比如要下載Custom Phone-5.0.0-API21-768*1280,點擊過后下載失敗
    2.在C:\Users\yy\AppData\Local\Genymobile中找到genymotion.log文件
    3.點開該文件找到http://.genymotion.com/dists//ova/genymotion_vbox86p_**.ova
    4.復制URL至迅雷下載,下載完成后將genymotion_vbox86p_5.0_151117_231324.ova文件copy至C:\Users\yy\AppData\Local\Genymobile\Genymotion\ova中
    5.最后在virtualbox–管理–導入虛擬電腦–選擇.ova文件–下一步選擇導入。
    6.重新Add virtual Device,添加成功

    2.aapt: command not found

    可將…\android-sdk\build-tools目錄中的aapt.exe 文件拷貝至 …\android-sdk
    目錄中,然后再重復步驟即可

    總結

    以上是生活随笔為你收集整理的手机测试相关的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    国产在线国偷精品产拍免费yy | 成人综合免费 | 国产精品ssss在线亚洲 | 天天天色 | 国产精品不卡 | 欧美日韩国产一区二区三区 | 亚洲精品网址在线观看 | 日韩欧美xx| 亚洲欧洲精品一区 | 91精品国产91热久久久做人人 | 国产一区在线视频观看 | 亚洲精品videossex少妇 | 天天操天天干天天玩 | 亚洲欧美视屏 | 超碰个人在线 | a√国产免费a | 在线免费观看视频一区二区三区 | 久久电影国产免费久久电影 | 日本久久片 | avwww在线观看 | 麻豆精品在线 | 操老逼免费视频 | 干狠狠 | 欧美日韩国产精品一区二区亚洲 | 亚州av免费 | 国产精品女主播一区二区三区 | 欧美精品中文字幕亚洲专区 | 日韩在线免费播放 | 一区三区视频在线观看 | 91重口视频 | 日韩精品在线免费观看 | 99超碰在线观看 | 精品999在线观看 | 日日骑 | 91黄色成人 | 久久精品一二三 | 日韩欧美一区二区三区视频 | 精品久久久久久久久亚洲 | 黄色91免费观看 | 久久国产精品偷 | 91亚洲综合 | 99久久超碰中文字幕伊人 | 国产激情电影综合在线看 | 国产v在线观看 | 99久久久国产精品免费99 | 国产在线一区二区 | 免费看一级黄色大全 | 久99久精品 | 又色又爽的网站 | 中文字幕在线播放av | 国产视频网站在线观看 | 国产一及片 | 96亚洲精品久久久蜜桃 | 视频一区视频二区在线观看 | 狠狠狠的干| 在线观看91视频 | 欧美日韩二区在线 | 97精品久久人人爽人人爽 | 人人爽人人爽人人爽人人爽 | 日韩视频免费观看高清完整版在线 | 六月色婷 | 国产裸体无遮挡 | 五月开心婷婷网 | 亚洲美女免费精品视频在线观看 | 欧美三级高清 | 丁香花在线观看免费完整版视频 | 国产色婷婷在线 | 最新国产精品拍自在线播放 | 91传媒在线 | 欧美一级黄色视屏 | 911国产 | 成人资源在线播放 | 91av视频 | 国产高清精品在线 | 国产又粗又硬又爽视频 | 日韩国产精品一区 | 在线免费观看黄 | 亚洲欧美成人综合 | 波多野结衣在线观看一区二区三区 | 国产成人久久久77777 | 九九日韩| 碰天天操天天 | 国产日韩欧美在线播放 | 麻豆精品传媒视频 | 一本一道久久a久久精品蜜桃 | 日韩电影黄色 | 国产精品九九九 | 欧美性极品xxxx娇小 | 一区二区欧美激情 | 九九久久久| 制服丝袜亚洲 | 国产主播大尺度精品福利免费 | 十八岁以下禁止观看的1000个网站 | 成人在线电影观看 | 亚洲精选99| 国产护士av | 美女精品在线 | 69av国产| 97狠狠操 | 天天色棕合合合合合合 | 亚洲综合色视频在线观看 | 免费成人在线观看视频 | 久久精品一区二区三区视频 | 天天操天天干天天摸 | 日韩久久精品一区二区 | 综合在线亚洲 | 色婷婷影视 | 欧美日韩国产在线观看 | 亚洲精品一区二区在线观看 | 少妇性色午夜淫片aaaze | 久久国产经典 | 香蕉一区 | 91精品在线观看入口 | 麻豆一级视频 | 成人午夜在线观看 | 日韩免费一区二区三区 | 色就色,综合激情 | 97色在线 | 狠狠干综合 | 中文字幕在线看视频 | 久草久 | 色综合久久五月天 | 亚洲一区二区三区四区精品 | 精品久久片 | 国产精品综合久久久 | 日本三级大片 | 久久看片| 91精品久久香蕉国产线看观看 | 在线观看日韩国产 | 91成版人在线观看入口 | 国产精品手机看片 | 欧美日韩一级视频 | 天堂网一区二区 | 中文字幕丰满人伦在线 | 在线观看www91 | 91视视频在线直接观看在线看网页在线看 | 欧洲激情综合 | 国产明星视频三级a三级点| 国产精品免费成人 | 国产精品国产亚洲精品看不卡 | 午夜久久视频 | 国产高清一区二区 | 久久99精品国产99久久6尤 | 国产精品99免视看9 国产精品毛片一区视频 | 99久久电影 | 国产麻豆果冻传媒在线观看 | 欧美日韩免费在线观看视频 | 日日射天天射 | 91手机电影| 欧美性精品 | 日韩精品免费在线播放 | 中文字幕第 | 中文字幕精品www乱入免费视频 | 免费看片成年人 | 午夜av免费观看 | 日韩电影在线一区 | 亚洲视频第一页 | 午夜精品久久久久久久99水蜜桃 | 亚洲精品久久激情国产片 | av网站地址| 99在线观看免费视频精品观看 | 九九九视频在线 | 在线v片免费观看视频 | 黄色成人在线观看 | 久久99欧美 | 99国产精品久久久久老师 | 免费看黄色小说的网站 | 亚洲一区尤物 | 亚洲涩涩网 | 激情导航 | 丝袜美腿在线播放 | 国产精品美女久久 | 亚洲三级毛片 | 黄色影院在线免费观看 | 天天天天射 | 波多野结衣电影一区二区三区 | 在线av资源 | 亚洲国产精品成人va在线观看 | 国产精品女人网站 | 亚洲成人av电影在线 | 精品久久久久久亚洲综合网站 | 欧美孕妇与黑人孕交 | 四虎在线影视 | 一区二区三区四区久久 | 久久久久久99精品 | 日韩欧美在线视频一区二区三区 | 天天色天天射天天操 | 97香蕉视频 | 夜色成人av| 色婷婷在线视频 | 在线有码中文字幕 | 2023亚洲精品国偷拍自产在线 | 日韩系列在线观看 | 国产精品黄色影片导航在线观看 | 国产精品久久久av | 黄色软件在线观看 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 99国产精品视频免费观看一公开 | 欧美精品在线观看一区 | 亚洲精选视频免费看 | 国产日韩欧美在线播放 | 五月婷婷香蕉 | 久久国产精品一国产精品 | 色偷偷中文字幕 | 国产精品乱码高清在线看 | 中文字幕在线视频网站 | 99久视频 | 国产精品嫩草影院123 | 国产999精品久久久久久 | 一二区av | 国产馆在线播放 | 国产精品av免费在线观看 | 午夜av剧场 | 久久视频精品在线观看 | 又污又黄的网站 | 综合五月| 特黄免费av | 99c视频高清免费观看 | 粉嫩高清一区二区三区 | 日韩一区二区三区观看 | 国产精品第一 | 狠狠躁18三区二区一区ai明星 | 亚洲成av人片在线观看 | 中文字幕2021 | 激情综合网五月激情 | 国产日韩精品在线观看 | 欧美在线观看视频一区二区 | 最近高清中文在线字幕在线观看 | 999久久| 麻豆视频成人 | 玖草影院 | 香蕉视频在线播放 | 丁香激情视频 | 91在线播放视频 | 亚洲综合在线一区二区三区 | 黄色在线观看污 | 奇米网网址 | 日韩免费av网址 | 91在线看视频免费 | a午夜在线 | 久久美女高清视频 | 亚洲天堂网视频 | 中文字幕在线观看日本 | 成人免费一区二区三区在线观看 | 国产一区免费在线观看 | 91香蕉视频黄色 | 国产精品99久久久久久武松影视 | 日日夜夜天天 | 91成人免费看片 | 人人草在线视频 | 久久久免费视频播放 | 美女久久网站 | 日韩毛片在线免费观看 | 欧美久久久久久久久久久久久 | 成全免费观看视频 | 最近中文字幕完整高清 | 亚洲成人av片在线观看 | 成人动漫精品一区二区 | 四虎成人在线 | 精品资源在线 | 午夜精品麻豆 | 久久精品99国产国产精 | 国产又粗又猛又黄又爽 | 麻花豆传媒一二三产区 | 狠狠干夜夜操天天爽 | 国产精品毛片久久久 | 欧美,日韩 | 日韩资源视频 | 国精产品999国精产 久久久久 | 狠狠色噜噜狠狠狠狠 | 国产午夜小视频 | 韩国三级一区 | 中文 一区二区 | 在线观看av网站 | 日韩精品久久久久久久电影竹菊 | 国产午夜精品一区二区三区嫩草 | 91插插插网站 | 999电影免费在线观看 | 亚洲精色 | 国产精品久久久久av福利动漫 | 美女一区网站 | 国产精品美女久久久久久免费 | 天天爱天天操天天干 | 精品一区精品二区 | 国产精品一区二区三区四 | 99精品国产视频 | 日韩黄色在线电影 | 黄色国产精品 | 黄网站污 | 国产亚洲激情视频在线 | 日本免费久久高清视频 | 欧美日韩亚洲第一 | 国产h在线播放 | 欧美精品中文在线免费观看 | 在线免费色视频 | 99热在线观看免费 | 在线观看爱爱视频 | 美女在线观看网站 | 久久人人97超碰com | 亚洲国产片色 | 又黄又爽免费视频 | 亚洲精品在线视频播放 | 久久久久久久久久久福利 | 精品一区二区在线观看 | 亚洲最大av在线播放 | 97色噜噜| 在线日韩中文字幕 | 免费av网站在线 | 日韩欧美高清在线 | 久久久久久影视 | 国产三级香港三韩国三级 | 精品爱爱 | 久久久影院官网 | 国产老熟 | 欧美一级电影在线观看 | 狠狠色狠狠色综合系列 | 国产成人三级在线播放 | 99日精品 | 国产免费亚洲 | 99视频精品在线 | 成年人免费观看在线视频 | 久久久久久久久影视 | 99精品国产高清在线观看 | 日韩有码专区 | 色婷婷精品 | 91桃色视频 | 又黄又爽又刺激视频 | 五月天精品视频 | 日韩一区正在播放 | 中文视频在线播放 | 九九热在线播放 | 中文视频在线看 | 日产乱码一二三区别在线 | 夜夜爽www| 欧美日韩国产免费视频 | 操操操人人 | 国内精品免费久久影院 | 免费在线成人 | 亚洲专区 国产精品 | 欧美日韩一区二区三区在线免费观看 | 国产91影院 | 国产五月天婷婷 | 激情视频在线观看网址 | 国产午夜影院 | 国产裸体无遮挡 | 亚洲一二区精品 | 亚洲视频在线免费看 | 日韩精品电影在线播放 | 最新午夜 | 久久久久国产精品厨房 | 亚洲国产天堂av | 黄色1级大片 | 久久国产精品成人免费浪潮 | 精品视频国产 | 国产最新在线观看 | 91中文字幕| 成人sm另类专区 | 中文字幕精品www乱入免费视频 | 免费看麻豆| 国内精品久久久久久久久久 | 国产亚洲精品久久 | 日韩精品中字 | 成年人免费观看国产 | 国产日韩三级 | 中文字幕日本在线观看 | 久久久久99精品成人片三人毛片 | 97香蕉久久超级碰碰高清版 | 久久深爱网 | 亚洲电影黄色 | 欧美亚洲成人xxx | 国产免费av一区二区三区 | 免费碰碰 | 91在线观看高清 | 久久黄视频 | 日日躁夜夜躁aaaaxxxx | 91桃色免费视频 | 日韩精品久久久免费观看夜色 | 久久精品美女 | 成人在线中文字幕 | 日韩偷拍精品 | 久久免费激情视频 | 日韩av不卡播放 | 久久精品艹| av天天色 | 99久久99久国产黄毛片 | 欧美在线观看视频免费 | 啪嗒啪嗒免费观看完整版 | 欧美大片大全 | a成人v | 在线影视 一区 二区 三区 | 亚洲永久av| 久久精品国产免费看久久精品 | 国内外成人免费在线视频 | 青青色影院 | 国产精品女主播一区二区三区 | 黄色a视频 | av线上看| 欧美永久视频 | 精品视频成人 | 色天天综合网 | 麻豆精品传媒视频 | 亚洲婷婷在线视频 | 午夜精品久久久久久久99无限制 | 大荫蒂欧美视频另类xxxx | 亚洲欧美日韩精品久久奇米一区 | 成人免费在线播放 | 国产精品综合久久久久 | 99久视频| 黄色在线免费观看网站 | 欧美午夜a | 99久久精品国产一区二区成人 | 91免费在线看片 | 美国av片在线观看 | 中文字幕资源在线 | av 在线观看 | 国产又粗又长的视频 | 国产精品福利无圣光在线一区 | 最新日本中文字幕 | 国产91精品一区二区 | 久久av免费观看 | 亚洲午夜精品一区二区三区电影院 | 91自拍视频在线 | 91毛片在线观看 | 久久毛片高清国产 | 亚洲视频免费在线看 | 99久久综合狠狠综合久久 | 欧美视频99 | 日本三级人妇 | 免费一区在线 | 亚洲精品合集 | 欧美激情综合五月色丁香 | 香蕉视频在线观看免费 | 99久久精品国产欧美主题曲 | 一区二区三区高清 | 久久国产精品久久国产精品 | 伊人视频 | 国产二区视频在线观看 | 久久久久久久久久久影院 | 久久久影院 | 日韩色高清 | 亚洲日b视频| 国产丝袜 | 日韩欧美在线观看一区 | 狠狠色丁香婷婷综合久小说久 | avwww在线观看 | 最近免费在线观看 | 久久久黄色 | 中文字幕日本在线观看 | 久久香蕉电影 | 黄色资源网站 | 日日干天天爽 | 字幕网资源站中文字幕 | 国产一区二区三区高清播放 | 亚洲国产精品久久久 | 色婷婷成人网 | 亚洲va男人天堂 | 综合伊人久久 | 免费看国产视频 | 精品91视频 | 久久免费精品视频 | 久久久精品国产一区二区三区 | 夜夜操夜夜干 | 国产精品毛片久久 | 婷婷丁香狠狠爱 | 麻豆视频在线免费 | 91av在线免费| 91精品黄色 | 亚洲精品福利在线观看 | 亚洲国产中文字幕在线 | 欧美精品久久久久久久久久久 | 黄网在线免费观看 | 免费看片在线观看 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 欧美另类成人 | 午夜神马福利 | 韩国一区二区在线观看 | 玖玖玖影院 | 四虎影视成人精品国库在线观看 | 欧美日韩精品国产 | 欧美中文字幕第一页 | 亚洲国产免费 | 欧美日韩精品在线视频 | 狠狠色狠狠色 | 色综合天天狠狠 | 中文字幕乱在线伦视频中文字幕乱码在线 | 一区二区视频网站 | 国产糖心vlog在线观看 | 十八岁以下禁止观看的1000个网站 | 午夜在线日韩 | 久久久久久久国产精品视频 | 国产艹b视频 | 四虎影视成人精品国库在线观看 | 国产在线观看地址 | 亚洲一级在线观看 | 丁香九月激情综合 | 国产一级大片免费看 | 亚洲六月丁香色婷婷综合久久 | 91.dizhi永久地址最新 | www.com黄| 蜜桃av久久久亚洲精品 | 一区二区三区四区五区六区 | 久久久久国产成人免费精品免费 | 日韩电影在线观看一区 | 射久久 | 黄色精品久久 | 日韩动漫免费观看高清完整版在线观看 | 久久综合在线 | 日韩欧美综合视频 | 日韩大片免费在线观看 | 国内精品久久久久影院优 | 免费观看国产视频 | 91精品免费在线视频 | 成片免费观看视频大全 | 97视频在线观看成人 | 精品99在线观看 | 国产手机在线观看 | 国产精品永久在线 | 91天天视频| 久久久久久久久久影院 | 国产一二区免费视频 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 亚洲成av人片在线观看 | www.xxxx欧美| 免费精品在线观看 | 超碰最新网址 | 99热精品免费观看 | 蜜臀aⅴ国产精品久久久国产 | 在线国产小视频 | 日韩欧美电影在线观看 | 日韩欧美精品在线 | 成人动漫一区二区三区 | 欧美一区二区三区在线观看 | 波多野结衣久久资源 | 久久久久日本精品一区二区三区 | 亚洲码国产日韩欧美高潮在线播放 | 久久免费视频这里只有精品 | 国产午夜亚洲精品 | 91大神免费视频 | 日韩在线免费视频观看 | 天堂va在线高清一区 | 一区二区视频免费在线观看 | 国产成人99av超碰超爽 | 天天操人人干 | 国产免费小视频 | 久久免费精品一区二区三区 | 六月丁香久久 | 天天射综合网站 | 日本久久久久 | 日韩在线电影一区二区 | 91视频这里只有精品 | 亚洲综合成人专区片 | 首页中文字幕 | 99视频在线观看视频 | 又黄又爽的视频在线观看网站 | 亚洲精品欧美专区 | 午夜久久久精品 | 久久精品福利视频 | 综合色亚洲| 久久精品国产一区二区电影 | 六月激情婷婷 | 亚洲成熟女人毛片在线 | 友田真希x88av| 色午夜 | 欧美精品二区 | 丁香婷婷成人 | 国产在线播放一区二区三区 | 久久精品站 | 亚洲 中文 欧美 日韩vr 在线 | 日韩手机在线 | 精品国产精品久久一区免费式 | 日韩高清免费在线 | 日韩电影一区二区三区在线观看 | 国产福利专区 | 中文字幕在线观看完整版电影 | 在线观看免费版高清版 | 成人黄色电影视频 | 国产资源免费在线观看 | www国产一区 | 亚洲成人黄色 | 欧美一级免费在线 | 午夜视频欧美 | 国产欧美日韩一区 | 亚洲欧洲日韩 | 97香蕉超级碰碰久久免费软件 | 激情在线五月天 | 欧美日韩国产在线 | av免费播放 | 欧美a级片网站 | 国产.精品.日韩.另类.中文.在线.播放 | 久久精品欧美 | 成人国产精品免费观看 | 欧美99精品| 国产精品美女久久久久久 | 一级黄视频 | 色国产视频| 天海冀一区二区三区 | 色婷婷免费视频 | 欧美一级专区免费大片 | 天天插夜夜操 | 精品国产乱码久久久久久天美 | 欧美人牲 | 伊人五月婷 | 婷婷在线网 | 国产精品99久久免费黑人 | 亚洲精品高清视频 | 综合网伊人 | 国产涩涩在线观看 | 五月婷久久 | 丁香视频免费观看 | 久久色网站 | 99中文字幕视频 | 狠狠色伊人亚洲综合网站野外 | 人人狠 | 五月婷在线观看 | 黄色片亚洲 | 久久久免费av | 亚洲第一av在线播放 | www.黄色片网站 | 偷拍精偷拍精品欧洲亚洲网站 | 亚洲年轻女教师毛茸茸 | 久久99在线观看 | 久久99中文字幕 | 免费看黄的视频 | free,性欧美 九九交易行官网 | 精品av在线播放 | 九九免费在线视频 | 视频在线一区二区三区 | 亚洲精品视频在线免费播放 | 亚洲精品视频www | 狠狠天天| 91亚洲精品久久久蜜桃借种 | 毛片网站观看 | 丁香婷婷亚洲 | 欧美久久综合 | 嫩嫩影院理论片 | 99精品久久久久久久 | 日韩精品一区二区三区在线视频 | 操操操日日 | 一区二区精品久久 | 97国产情侣爱久久免费观看 | 免费男女羞羞的视频网站中文字幕 | 伊人在线视频 | caobi视频| 黄a网 | 亚洲天堂网在线视频观看 | 91最新地址永久入口 | 日韩欧美视频一区二区 | 97超碰资源站 | 国产一区二区三区免费观看视频 | 久久草在线精品 | 免费h精品视频在线播放 | 国产成人一级电影 | 国内亚洲精品 | 日韩免费三区 | 成人午夜免费剧场 | 亚欧日韩av | 亚洲国产中文在线观看 | 日韩中文字幕免费看 | 日韩视频免费播放 | 97在线观看免费视频 | 国产成人一区三区 | 亚洲午夜精品一区二区三区电影院 | 久久看毛片 | 日日爽 | 久久成人欧美 | 国产亚洲精品久久久久久 | 色婷婷综合久久久久中文字幕1 | 免费a v网站| 国产精品电影一区 | 992tv在线 | 国产成人a亚洲精品v | 日韩影视大全 | 日韩精品欧美专区 | 中文字幕日韩一区二区三区不卡 | 成人精品视频 | 日韩视频免费看 | 国产一级电影免费观看 | 国产在线精品一区二区 | 久久人网 | 特黄特色特刺激视频免费播放 | 国产精品美乳一区二区免费 | 久久精品一二三 | 在线观看成人一级片 | 丁香婷五月 | 久久久久福利视频 | 国产精品一区二区三区免费视频 | www.夜夜 | 99视频在线观看一区三区 | 久草青青在线观看 | 中文字幕在线观看第一页 | 国产一区二区手机在线观看 | 在线免费观看羞羞视频 | 精品在线播放视频 | 高清有码中文字幕 | 久久国产影院 | 激情婷婷亚洲 | 亚洲精品午夜久久久 | 韩国av一区二区三区在线观看 | 久久天天躁夜夜躁狠狠85麻豆 | 天天干天天搞天天射 | 国产91在线播放 | 天海冀一区二区三区 | 中文在线最新版天堂 | 久久国产精品成人免费浪潮 | 久操视频在线观看 | 午夜精品久久久久久久99 | 天天草天天插 | 99精品视频免费在线观看 | 丁香久久久| 国产精彩在线视频 | 日韩欧美精品在线观看 | 亚洲欧洲xxxx | 国产精品国产三级国产 | 日韩欧美在线观看一区 | 久草观看 | 日本视频精品 | 五月天天色 | 香蕉精品视频在线观看 | 国产黄色片免费观看 | 亚洲v精品 | 日韩一区正在播放 | 国产精品久久久免费 | 亚洲国产日本 | 亚洲精品久久在线 | 婷婷六月网 | 免费碰碰 | 亚洲精品视频免费观看 | 久久久久国产a免费观看rela | 激情av五月婷婷 | 日韩电影精品一区 | 国产精品美女久久久久久久 | 91视频免费视频 | 超碰av在线 | 国产96视频 | 一区二区网 | 久久调教视频 | 久久精品在线视频 | 伊人久在线| 丁香婷婷成人 | 日本中文在线 | 97成人在线视频 | 中文字幕 影院 | 国产69精品久久99不卡的观看体验 | 日本精品va在线观看 | 热久久影视 | 午夜aaaa | 日韩精品你懂的 | 成人a视频在线观看 | 国产一二区精品 | 丁香婷婷在线观看 | 国产视频一区二区在线观看 | 青青啪 | 日韩电影精品 | 午夜在线观看影院 | 国产精品高潮呻吟久久av无 | 中文字幕美女免费在线 | 波多野结衣精品视频 | 一区二区三区电影大全 | 天天色天天色天天色 | 日产乱码一二三区别免费 | 天天激情天天干 | 亚洲免费在线播放视频 | 99久久精品国产一区 | 最新午夜电影 | 免费网站污 | 99久久精品免费看国产麻豆 | 激情久久综合网 | 91av社区| 91精品国产麻豆国产自产影视 | 91精品国产91热久久久做人人 | 国产在线播放一区 | 国产精品免费人成网站 | 亚洲精品一区二区在线观看 | 一级片免费观看 | 久久www免费视频 | 久久久伦理 | 国产精品久久一区二区三区不卡 | 日本黄色免费看 | 久久精品99久久 | 91大神视频网站 | 中文字幕国产一区二区 | 欧美日韩高清一区二区三区 | 国产高清成人av | 国产精品男女 | 精品视频在线看 | 少妇按摩av | 免费在线观看一区二区三区 | 国产精品美女久久久久久久 | 日韩久久久久久 | 四虎影视精品成人 | 一级黄色片在线 | 精品主播网红福利资源观看 | 久久福利小视频 | 亚洲婷婷伊人 | 久久视频这里有久久精品视频11 | 久久一区二区三区日韩 | 精品欧美小视频在线观看 | 九九九九九九精品 | 日韩在线视 | 久久久午夜影院 | 欧美亚洲国产精品久久高清浪潮 | 婷婷五月色综合 | 亚洲免费在线观看视频 | 天天色天天操天天爽 | 亚洲视频网站在线观看 | 亚洲蜜桃在线 | 欧美与欧洲交xxxx免费观看 | 久久视频在线看 | 在线播放视频一区 | 亚洲激情在线观看 | www.久艹| 国产一区欧美一区 | 91手机电影 | 日韩av电影中文字幕 | 日韩黄色免费 | 狠狠狠狠干 | 国产色视频一区二区三区qq号 | 国内成人精品视频 | 日韩精品一区二区三区在线播放 | av黄色免费网站 | 黄色小网站免费看 | 久久69精品久久久久久久电影好 | 97视频免费 | 一区二区视频欧美 | 久久精品久久99 | 97超碰人人澡 | 亚洲综合狠狠干 | 2022久久国产露脸精品国产 | 久久狠狠亚洲综合 | 欧美日韩在线观看一区二区三区 | 欧美国产日韩在线视频 | 天天躁日日躁狠狠躁av中文 | 欧美日韩视频在线一区 | 天天射天天操天天色 | 在线观看免费日韩 | 免费看成人a | a色视频 | av手机版| 日韩精品无码一区二区三区 | 成人动漫精品一区二区 | 国产免费av一区二区三区 | 蜜臀久久99精品久久久久久网站 | 午夜精品一区二区三区可下载 | 久草在线久草在线2 | 色.www | 久草久草视频 | 91在线精品观看 | 久久久99精品免费观看app | 亚洲一级电影 | 日韩久久精品一区二区 | 黄污视频网站大全 | 六月丁香色婷婷 | 天天综合导航 | 99热这里只有精品1 av中文字幕日韩 | 久久久国产精品网站 | 五月婷婷免费 | 国产一区麻豆 | 亚洲精品ww | 日韩免费在线 | 欧美在线a视频 | 四虎影院在线观看av | 国内精品视频在线 | 香蕉网在线观看 | 国产成人精品av在线 | 91成人免费电影 | 久久黄色网址 | 久操操| 天天摸日日摸人人看 | 亚洲在线视频播放 | 国产成人在线综合 | 免费激情网| 青草视频网 | 激情网在线观看 | 久久草在线精品 | 在线免费视频你懂的 | 精品一区在线 | 亚洲色影爱久久精品 | 日韩小视频网站 | 2024国产精品视频 | 涩涩网站在线播放 | 国内精品久久久久影院优 | 91丨精品丨蝌蚪丨白丝jk | 日韩欧美网址 | 成人黄色大片在线免费观看 | 欧美日韩中文字幕综合视频 | 中文字幕资源网 | 日韩av在线高清 | 国产夫妻自拍av | 中文字幕在线观看第二页 | 午夜精品久久一牛影视 | 久久理伦片 | 免费成人在线视频网站 | 亚洲色图av| 在线免费黄色毛片 | 在线观看电影av | 亚洲精品午夜久久久久久久 | 日韩视频在线观看视频 | 激情深爱| 久久久免费看片 | 蜜臀av夜夜澡人人爽人人桃色 | 国产手机在线观看 | 国产精品久久久久久久久久不蜜月 | 国产专区视频在线观看 | 中文字幕欧美日韩va免费视频 | 亚洲午夜av久久乱码 | 色播五月激情五月 | 91香蕉视频在线下载 | av中文字幕剧情 | 色久综合 | 欧洲一区二区在线观看 | 制服丝袜欧美 | 少妇性xxx | 亚洲精品久 | 精品国产aⅴ一区二区三区 在线直播av | 午夜久久电影网 | 久久精品91视频 | 久久免费视频5 | 国产在线视频不卡 | 久久国产午夜精品理论片最新版本 | 久久99国产精品自在自在app | 免费看av片网站 | 欧美日韩中文在线 | 久久综合九色综合97婷婷女人 | 亚洲色图美腿丝袜 | 欧美日韩国产精品一区二区亚洲 | 中文字幕亚洲不卡 | 在线观看麻豆av | 国内精品毛片 | 欧美精品一区二区免费 | 日韩精品 在线视频 | 久久97久久97精品免视看 | 99re久久精品国产 | 在线成人免费电影 | 日韩中文字幕视频在线观看 | 国产区精品视频 | 国产a级片免费观看 | 国产免费久久精品 | 日韩欧美在线第一页 | 91网免费看 | 亚洲一区二区三区毛片 | 国产aa免费视频 | 五月婷社区 | 日韩91精品| 国产成人免费 | 在线免费av网 | 天天在线操 | 精品在线一区二区三区 | av在线免费网 | 精品在线观看视频 | 午夜久久久久久久 | 欧美日韩一区二区免费在线观看 | 三级黄色大片在线观看 | 国产精品观看 | 国产在线观看国语版免费 | 国产一区二区不卡视频 | 99久久99久久精品 | 久久综合99| 国产免费人成xvideos视频 | 黄色小说在线观看视频 | 99久久er热在这里只有精品15 | 久草久热 | 九九视频免费观看视频精品 | 精品人人人 | av在线com | 91成人精品| 成人高清av在线 | 国产精品黄 | 亚洲精品自拍视频在线观看 | 欧美日韩久久不卡 | 日韩乱码中文字幕 | 婷婷六月网 | 精品亚洲网 | 久久国产热视频 | 国产91欧美 | 国产精品不卡在线播放 | 狠色狠色综合久久 | 91伊人久久大香线蕉蜜芽人口 | 岛国av在线免费 | 久久不射影院 | 成人黄色小说在线观看 | 国产.精品.日韩.另类.中文.在线.播放 | 国产一级在线免费观看 | 91视频国产免费 | 久久精品一级片 | 99视频久| 亚洲九九影院 | 在线天堂视频 | 国产精品一区二区果冻传媒 | 综合激情网... | 欧美一级片在线播放 | 五月婷婷深开心 | 国产日韩在线视频 | 综合色天天 | 99热这里精品 | 国产香蕉97碰碰碰视频在线观看 | 成人理论电影 | 午夜视频一区二区三区 | 国产激情电影综合在线看 |