appium 查錯

來源:互聯網
上載者:User

標籤:

很高興最近論壇用appium的人多了不少,但也有不少由於不瞭解appium導致出現錯誤後不知道從何下手。這雷根據我的個人經驗給出一個簡單的查錯指南,不保證能解決所有錯誤,但至少讓你知道你應該朝哪個方向去解決。  1. 閱讀Appium文檔  這是很多人忽略但卻是最重要的方法。Appium的文檔說明了 如何正確使用appium 和 有哪些事情appium做不了或者要通過特殊方法做。大部分剛入門的同學的問題在這裡面都能找到答案。  中文文檔(由testerhome開源團隊翻譯,目前已和官方文檔一致):https://github.com/testerhome/appium/tree/master/docs/cn  英文文檔:https://github.com/appium/appium/tree/master/docs/en  2. 閱讀Appium log後查詢google或stackoverflow  Appium的log預設使用debug層級,所以內容很豐富。如果你懂得正確地閱讀,你能很容易地從google/stackoverflow找到答案。  PS:不建議用百度。百度搜出來的其實大多都是testerhome的……  由於Appium的主要結構為:  Android:使用adb管理裝置及安裝應用,使用UiAutomator/selendriod驅動對應用的各種操作(找元素、點擊等)  iOS:使用Instruments管理裝置,使用UiAutomation驅動對應用的各種操作  因此Appium的log主要有以下幾類:  1、 網路通訊log(以-->或<--符號開頭):  info: --> GET /wd/hub/status {}  info: <-- GET /wd/hub/status 200 1.335 ms - 104 {"status":0,"value":{"build":{"version":"1.3.4","revision":"c8c79a85fbd6870cd6fc3d66d038a115ebe22efe"}}}  此類log一般出現在Appium client與Appium server通訊時,記錄原始通訊資訊。一般出錯只是因為下面執行出錯然後反饋到上層(出錯的話請看http status code。如上面的狀態代碼是200,即處理成功)。  2、 Appium Server內部處理log(以類似[debug]的log層級開頭,相比下面其他類型的log沒有其他特別標誌 ):  info: [debug] Responding to client with success: {"status":0,"value":{"build":{"version":"1.3.4","revision":"c8c79a85fbd6870cd6fc3d66d038a115ebe22efe"}}}  ...  info: [debug] Configuring Safari session  info: [debug] We‘re on iOS8+ so not copying mobile safari app  info: [debug] Creating new appium session 59f933a1-ee07-45d3-bbec-cabfe89735d8  info: [debug] Removing any remaining instruments sockets  info: [debug] Cleaned up instruments socket /tmp/instruments_sock  info: [debug] Setting Xcode folder  此類log是appium server內部log,出現頻率最高,用於說明此時Appium server內部正在做什麼(調用其他工具、建立會話等)。如果這裡出錯且無下面三類錯誤,那是appium server的錯誤。  3、 Apple Instruments log(log內容中有額外時間戳記。如果用.app看,log顏色為綠色):  info: [debug] [INST] 2015-03-13 23:31:59 +0000 Debug: evaluation finished  info: [debug] [INST] 2015-03-13 23:31:59 +0000 Debug: responding with:  info: [debug] [INST] 2015-03-13 23:31:59 +0000 Debug: Running system command #1: /Applications/Appium.app/Contents/Resources/node/bin/node /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-uiauto/bin/command-proxy-client.js /tmp/instruments_sock 2,{"status":0,"value":true}...  此類log為Instruments的log,Appium只是為了讓大家方便查看而附在appium log裡面。此類log出錯請找Instruments。  4、 Android UiAutomator log(以[UIAUTOMATOR STDOUT]或[BOOTSTRAP]開頭):  info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS: numtests=1  info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS: stream=  info: [debug] [UIAUTOMATOR STDOUT] io.appium.android.bootstrap.Bootstrap:  info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS: id=UiAutomatorTestRunner  info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS: test=testRunServer  info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS: class=io.appium.android.bootstrap.Bootstrap  info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS: current=1  info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS_CODE: 1  info: [debug] [BOOTSTRAP] [debug] Socket opened on port 4724  info: [debug] [BOOTSTRAP] [debug] Appium Socket Server Ready  info: [debug] [BOOTSTRAP] [debug] Loading json...  此類log為UiAutomator的log。其中[UIAUTOMATOR STDOUT]是啟動UiAutomatorTestRunner的log,[BOOTSTRAP]是Appium裝在被測裝置上的BOOTSTRAP工具的log(由於UiAutomator必須在Android系統上運行,所以Appium做了一個特殊的UiAutomator的測試案例在被測裝置上接收Appium命令並執行命令)。此處log出錯請找UiAutomator(雖然BootStrap也是Appium的一部分,但一般是調用UiAutomator API時出錯)。  5、 Selendroid log(以[SELENDROID]開頭):  info: [debug] [SELENDROID] mSeq=0 mSystemUiVisibility=0x0  info: [debug] [SELENDROID] mSystemDecorRect=[0,38][480,728] last=[0,38][480,728]  此類log為Selendroid內部處理的log。此處出錯請找Selendroid。  6. 根據出錯資訊查詢appium官方issue和討論群組以及testerhome(建議google前先看這些地方):  issue:https://github.com/appium/appium/issues  討論群組:https://discuss.appium.io/

appium 查錯

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.