Macaca使用過程中的疑問

weixin_34365417發表於2018-01-08

使用PyCharm匯入本地包時,提示Unresolved reference錯誤

在PyCharm中匯入本地包,需要為想匯入的包設定源目錄,也就是你要使用的檔案所在的目錄。

6218810-94f6c54ca2b1f89b.png
PyCharm截圖

macaca-ios、macaca-android與app-inspector模組下的應用包衝突

在iOS真機除錯下,因為macaca-ios和app-inspector是兩個模組下的,安裝的XCTestWD也是不一樣的,可能會有問題。因此在切換時,最好把原有的XCTestWD刪除。

在Android真機除錯下,因為app-inspector和macaca-android是兩個資料夾下的,安裝的apk也是不一樣的,可能會有問題。因此在切換時,把這com.maraca.android.testing.test、UiAutomator sample、android-unlock這三個apk從手機裡刪除下。

使用app-Inspector命令時無法安裝XCTestWD

6218810-28eb2aa7a9a3655f.png
Xcode截圖

在安裝iOS真機時,你只是給macaca-ios模組下的XCTestWD重新簽名,但並沒有給app-inspector模組下的XCTestWD重新簽名。如上圖,你需要分別給兩個模組下的XCTestWD重簽名。

在用例中判斷中文字元時,提示UnicodeEncodeError異常

需要解決Python2.7的UnicodeEncodeError,在用例中加上以下程式碼:

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

官方的示例為什麼使用了assertTrue等斷言

我們能從斷言裡獲得以下資訊:哪裡的測試失敗了;測試為什麼失敗。這是大部分斷言都能提供的,但是,不同的斷言使用的判斷卻不盡相同。

  • assertEqual斷言的方法是判斷兩個值相等則通過
  • assertTrue斷言的方法是判斷bool值為True則通過
  • assertIsNotNone斷言的方法是判斷元素存在則通過

斷言雖然不能像人工判斷預期結果那樣準確,但合理靈活地運用,對於重要節點加上斷言也是具有一定判斷預期的效果的。

使用app-Inspector獲取介面元素時,xpath-lite與xpath的區別

6218810-d4a2eafeaa26bd16.png
Macaca App Inspector截圖

如上圖,xpath-lite是模糊定位,當一個頁面有兩個“//*[@name="雙色球"]”時,可能就會定位不到。而xpath是精準定位,正常情況下不會出錯。

無線網路下使用app-inspector檢視Android是經常出現埠對映問題?

有個治根不治本的方法,關閉Wi-Fi網路,換有線網路或行動網路再次執行即可。

相關文章