Appium-原理、設定
Appium是支援跨平臺的移動端自動化測試框架。
下面介紹下Appium的具體工作流程:
首先,Appium server 預設監聽4723埠,監聽客戶端的命令。
客戶端指的是 我們編寫的自動化測試指令碼。
server端接收到客戶端命令後,將其進行轉換成移動端可以識別的命令,然後轉發給移動端。
然後server端監聽4724埠,接受移動端的執行結果,並將結果返回給客戶端。
其中移動端的工作流程是這樣的:
1.首先Appium會透過adb命令向手機端安裝Bootstrap.jar,透過該jar接收命令併傳送給UIAutomation。真正的自動化測試是由UIAutomation來進行的。
Appium設定及其說明:
首先開啟Appium的客戶端,介面如下:
其中host表示Appium工作的主機,筆者是本地安裝的,這裡直接填寫127.0.0.1即可。
port代表的是Appium監聽的埠,預設是4723,無需修改。
一般情況下,只做這個simple的配置即可支援自動化測試。
點選Start serverV1.10.0,開啟如下視窗:
第一行歡迎資訊,表示的是Appium server的版本。
下面是說明Appium server地址以及正在監聽的埠。
滑鼠上浮在右上角的圖示上,顯示:start Inspector Session(開啟探測會話,表示:設定後與手機端進行會話)。
點選該圖示,開啟如下視窗:
接下來設定Desired Capabilities:
1.首先需要設定裝置名稱:deviceName。
執行命令adb devices,
即可得到deviceName:
List of devices attached
127.0.0.1:26001
如果是Genymotion則為:
192.168.56.101:5555
2.設定platformName:
iOS或Android
3.設定程式的包名appPackage(應用程式的標識):
使用aapt工具獲取,先到aapt工具所在的路徑下:
cd /Users/saisei/Downloads/adt-bundle-mac-x86_64-20140702/sdk/build-tools/android-4.4W
執行命令(後面路徑是apk在本機上的地址):
aapt dump badgoing /Users/saisei/Downloads/neuron_v0.7.0.181214_cryptape.apk
上述命令可以獲取到:
package: name='org.nervos.neuron' versionCode='13' versionName='0.7.0.181214'
4.設定應用程式的入口Activity,appActivity
上面的命令執行完成之後,也可以獲取到這條資訊:
launchable-activity: name='org.nervos.neuron.activity.SplashActivity' label='' icon=''
在對應的模擬器上安裝好需要測試的app後,直接啟動Appium server即可開始我們的APP自動化測試之路啦。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4798/viewspace-2819674/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JVM 堆記憶體設定原理JVM記憶體
- Sentinel 原理-如何為系統設定擴充套件點套件
- Nginx的gzip壓縮的原理和設定引數Nginx
- javascript 定時器工作原理JavaScript定時器
- Java生產環境JVM設定成固定堆大小深層原理JavaJVM
- Laravel setting 設定 / 系統設定 / 網站設定Laravel網站
- SAP Spartacus unit detail 頁面顯示後自動 focus 設定的原理AI
- win10電腦 tls安全設定怎麼設定為預設設定Win10TLS
- 如何設定 HomePod?HomePod設定教程分享
- linux-wdt 原理和任意超時時間設定的解決方法Linux
- Jenkins定時設定Jenkins
- scrapy預設設定
- Pycharm 設定PyCharm
- 路由設定路由
- webstorm設定WebORM
- vim設定
- 設定NFSNFS
- MTU設定
- 設定 sar
- crontab 設定
- EVENTS設定
- 設定dhcpd
- 設定tftpFTP
- cfosspeed設定
- STS設定
- KubeEdge EdgeMesh設計原理
- 良好程式設計原理程式設計
- linux設定埠轉發(一鍵設定)Linux
- 設定鎖定預設瀏覽器為IE瀏覽器
- 程式碼設定RelativeLayout相對位置設定
- DISPLAY 尚未設定。請設定 DISPLAY 後重試。
- JavaScript 定時器函式非同步原理JavaScript定時器函式非同步
- 4.2.10.2 設定和取消設定環境變數變數
- iphone設定iphone資料夾背景透明設定教程iPhone
- Oracle的NLS_DATE_FORMAT設定(日期格式設定)OracleORM
- SQL *Plus設定login.sql登入設定SQL
- Oracle CSS的引數設定 心跳時間設定OracleCSS
- java設定-JDK環境變數的設定(轉)JavaJDK變數