国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

monkeyrunner之夜神模擬器的安裝與使用(2)

2019-12-12 04:33:12
字體:
來源:轉載
供稿:網友

在上一篇文章-安卓開發環境搭建中,我們創建并啟動了eclipse自帶的安卓模擬器,該模擬器不僅啟動慢,而且在使用過程中的反應速度也是出奇的差,經常出現卡機現象。為了解決這種現象,因此,我們又尋找到了更加合適的模擬器-夜神模擬器。該模擬器除了安裝包有點大之外,其速度是特別快,基本和真機速度無差,甚至是還要更快些,這樣一款速度可以媲美真機的模擬器,更加有利于我們后期的安卓自動化測試。下面就從夜神模擬器的選擇原因及夜神模擬器的使用兩方面講述。

一、夜神模擬器的選擇原因

眾所周知,Android studio的模擬器運行速度也很快,可以媲美真機。雖然其運行速度很快,可以滿足我們測試的需求。但仍存在以下問題:

(1)Android studio的模擬器無法連接wifi,修改dns,不能用測試環境的版本去進行Monkeyrunner腳本的運行及測試;

(2)如果選用真機,修改dns后,可以用測試版本,但無法采用HierarchyViewer獲取控件ID,運行Monkeyrunner會報錯。

有人又會說(2)中,使用真機可以選擇獲取控件坐標,不使用控件ID,這里使用控件ID的原因,見文章尾解釋。下面附加一個真機使用HierarchyViewer報錯截圖。

運行結果:失敗

原因:腳本中調用到了HierarchyViewer,但是真機中沒有開啟view server。

基于上述兩種原因,因此,我們選擇夜神模擬器作為測試中要使用的模擬器。夜神模擬器對于我們來說,好處就是可以連接wifi,修改dns,速度快,但是內存比較大。

二、夜神模擬器的設置與連接

1.模擬器下載與設置

夜神模擬器占用內存比較大,可以去官網下載:http://www.yeshen.com/。下載完成后,按照安裝提示,默認安裝或自定義安裝即可。

安裝成功后,打開模擬器,可以在設置中,設置成顯示為手機版,重啟后生效。以后,每次啟動后,模擬器就是你所設置的手機的大小。同樣,可以設置其他選項,這個根據自己需要設置。

2.模擬器的連接

模擬器設置完成后,在cmd窗口中,查看該模擬器是否連接上電腦,輸入adb devices,結果顯示沒有設備連接。

接下來,就是如何使模擬器連接上電腦。打開夜神模擬器,然后cmd中進Androidsdk下的platform-tools目錄,然后執行命令:adb connect 127.0.0.1:62001。(如果環境變量中已配置ANDROID_HOME,則直接打開cmd,執行命令:adb connect 127.0.0.1:62001即可)。或者用夜神自帶的non_adb.exe,進入到夜神安裝目錄下的bin目錄中,執行命令:adb connect 127.0.0.1:62001。

最后cmd窗口中,輸入命令:adb devices,查看夜神模擬器已經連接上。

三、夜神模擬器的使用

和之前的任一款Android模擬器一樣,安裝我們自己需要的app,我們這里安裝XXX的app,此時,由于沒有修改wifi的dns,此時,連接的是線上環境。

1.dns的修改

下面,我們修改dns為xx.x.x.x,切換到測試環境。

設置頁面,選擇WLAN,可以看到已經連接的wifi,長按鼠標左鍵,彈框修改網絡。

點擊修改網絡,在網絡詳情頁面,勾選“顯示高級選項”,修改域名1為xx.x.x.x。

現在可以打開app,輸入測試賬號進行登錄了。

2.模擬器的簡單使用

夜神模擬器直接雙擊打開啟動就行。我們現在可以把Hierarchy Viewer打開,獲取夜神模擬器中安裝的個人端app登錄頁面的控件ID,并查看一下速度有沒有達到我們的需求。

打開android-sdk/tools下面的hierarchyviewer.bat,運行,可以快速獲取登錄頁面的賬號輸入框、密碼輸入框、登錄按鈕的ID。

之后,將app切到登錄頁面,在夜神模擬器上運行登錄頁面的Monkeyrunner腳本。腳本如下,可以一步一步執行,也可以直接寫到py文件中運行。

具體的腳本如下(腳本的編寫會在后面文章中介紹):

from com.android.monkeyrunner import MonkeyRunner,MonkeyDevicefrom com.android.monkeyrunner.easy import EasyMonkeyDevice #提供了根據ID進行訪問from com.android.monkeyrunner.easy import By #根據ID返回PyObject的方法device=MonkeyRunner.waitForConnection(5,'127.0.0.1:62001') #連接夜神模擬器MonkeyRunner.sleep(3.0)packageName='xxxxxxxx'activity='xxxxxx'componentName=packageName+'/'+activitydevice.startActivity(component=componentName)easy_device=EasyMonkeyDevice(device) #必須在activity啟動之后easy_device.touch(By.id('id/input_login_phone'),MonkeyDevice.DOWN_AND_UP) #獲取輸入賬號的控件IDdevice.type('18511111111') #在賬號輸入框中輸入賬號

查看模擬器中是否有輸入。注意,monkeyrunner運行上述py文件時,會失敗報錯。

原因:python編碼的問題, python中默認的編碼格式是ASCII格式,所以,沒有修改編碼格式時無法顯示中文。

解決方法:在每一個需要顯示中文的python文件中,加入#coding:utf-8、#-*-coding:utf-8 -*-或#vim: set fileencoding:utf-8,我們這邊選擇#coding:utf-8。

即,在上述的py文件的頂部,加入#coding:utf-8后,再運行,則可以運行成功。

四、控件ID的使用原因

Monkeyrunner需要通過獲取控件坐標或控件ID,編寫腳本運行。但是,獲取控件坐標會由于不同分辨率,導致腳本不能復用,需要重新獲取坐標,這樣Monkeyrunner腳本的可用性比較差。

所以我們采取通過Hierarchy Viewer獲取控件ID編寫腳本(后面會有文章講述獲取ID或坐標方法)。但Hierarchy Viewer只能連接Android開發版手機或是模擬器,網上雖然有一些如何把手機root和打開view service的文章,建議不要嘗試,手機容易變磚或者不斷重啟。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吴川市| 三明市| 华阴市| 罗田县| 定安县| 斗六市| 西青区| 涟水县| 巴南区| 荃湾区| 刚察县| 贵溪市| 沙田区| 金乡县| 灯塔市| 曲周县| 邛崃市| 平泉县| 喀喇| 清徐县| 泊头市| 镶黄旗| 新河县| 上虞市| 昌图县| 卓尼县| 璧山县| 兖州市| 东丽区| 祥云县| 来凤县| 姜堰市| 安图县| 临沧市| 高淳县| 株洲市| 喀什市| 吴忠市| 绥德县| 石阡县| 祁东县|