appium安裝與簡單使用

來源:互聯網
上載者:User

標籤:開啟   http   日誌輸出   ble   名稱   inf   ipa   ppp   簡單   

安裝appium client:
cmd下輸入命令:pip install Appium-Python-Client

pycharm下一個簡單的執行個體,通過appium驅動android模擬器->開啟計算機->計算5+6=?->關閉計算機
from appium import webdriver

desired_caps = {}
desired_caps[‘platformName‘] = ‘Android‘
desired_caps[‘platformVersion‘] = ‘6.0‘
desired_caps[‘deviceName‘] = ‘Android Emulator‘
desired_caps[‘appPackage‘] = ‘com.android.deskclock‘
desired_caps[‘appActivity‘] = ‘.DeskClock‘

driver = webdriver.Remote(‘http://localhost:4723/wd/hub‘, desired_caps)#啟動app

driver.find_element_by_name("5").click()

driver.find_element_by_name("+").click()

driver.find_element_by_name("6").click()

driver.find_element_by_name("=").click()

driver.quit()

webdriver.Remote實際上就是原生webdriver的子類,另外Remote()建構函式的第一個參數中需要顯示指定appium server監聽的連接埠
platformName:使用哪種移動平台。iOS, Android, or FirefoxOS
deviceName:啟動哪種裝置,是真機還是模擬器?iPhone Simulator, iPad Simulator, iPhone Retina 4-inch, Android Emulator, Galaxy S4, etc…
appActivity:待測試的app的Activity名字。比如MainActivity, .Settings。注意,原生app的話要在activity前加個”.“。
appPackage:待測試的app的java package。比如com.example.android.myApp, com.android.settings。

其他:
app:應用的絕對路徑,注意一定是絕對路徑。如果指定了appPackage和appActivity的話,這個屬性是可以不設定的。另外這個屬性和browserName屬性是衝突的。
browserName:行動瀏覽器的名稱。比如Safari’ for iOS and ‘Chrome’, ‘Chromium’, or ‘Browser’ for Android;與app屬性互斥。
udid:物理機的id。比如1ae203187fc012g



monitor.bat:
該檔案位於your_andriod_sdk_path\tools下面,可以幫我們找到android控制項的content-description,為以後的find_element_by_accessibility_id 定位方法做參數使用
uiautomatorviewer.bat:
該檔案位於your_andriod_sdk_path\tools下面
該工具主要用來查看控制項的屬性,比如resource id,class name等。
該工具也可查看被測app的appPackage(Desired Capabilities中使用)

尋找appActivity和appPackage:
a、啟動待測apk
b、開啟日誌輸出:adb logcat>D:/log.txt
c、關閉日誌輸出:ctrl+c
d、查看日誌
找尋:
Displayed com.mm.android.hsy/.ui.LoginActivity: +3s859ms
appPackage = com.mm.android.hsy
appActivity = .ui.LoginActivity


python篇
el = self.driver.find_element_by_android_uiautomator(‘new UiSelector().description("Animation")‘)
self.assertIsNotNone(el)
els = self.driver.find_elements_by_android_uiautomator(‘new UiSelector().clickable(true)‘)
self.assertIsInstance(els, list)

el = self.driver.find_element_by_accessibility_id(‘Animation‘)
self.assertIsNotNone(el)
els = self.driver.find_elements_by_accessibility_id(‘Animation‘)
self.assertIsInstance(els, list)
總的來說就是在driver裡增加了
 find_element_by_accessibility_id
find_elements_by_accessibility_id
find_element_by_android_uiautomator
find_element_by_android_uiautomator
等方法


Appium串連真機
1)開啟手機的USB偵錯模式
不同的手機開啟偵錯模式的方式不同。一般都在設定中的開發人員模式中開啟
2)手機串連電腦
使用資料線串連手機與電腦,然後在cmd中輸入adb devices查看是否串連成功
新手可能會出現兩個問題
一是輸入adb命令時提示不是內部命令或者外部命令

 


那麼你需要下載一個adb工具包並存放在C:\Windows\System32目錄下(必須強調:與sdk中的adb工具包版本一致!!!!)

 


二是需要開啟手機的usb偵錯模式並安裝好驅動
之後在cmd中輸入adb devices 提示如則成功

 


3)啟動appium服務
在cmd命令中輸入:appium

 


啟動成功

或者appium上配置:

 

安裝好django,版本1.9,使用pip install django==1.9命令安裝即可

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.