Appium(Python)第一個例子
阿新 • • 發佈:2019-01-02
環境搭建好後,就可以愉快的開始手機自動化測試了,博主以安卓為例
1.初始化的設定
A.開啟Appiium-左上角[Android Settings],我連線的是真機,所以接下來講的都是關於真機的例子
- 1
- 2
- 3
B.也可以通過在原始碼中進行初始化
新建一個test.py檔案,如圖,
注意:
a、webdriver.Remote實際上就是原生webdriver的子類,另外Remote()建構函式的第一個引數中需要顯示指定appium server監聽的埠
這個地址為http://127.0.0.1:4723/wd/hub,wd/hub不可省略
開啟Appium Sever,可以看到資訊
注意: b、關於deviceName,開啟手機-設定-關於手機-裝置名稱 博主試了物理機id也是可行的,如果你以安裝adb工機具,cmd命令,輸入adb devices會顯示你連線的裝置名稱,前提是通過USB連線到電腦
2、寫一個登入的case。完整程式碼如下圖
- 1
- 2
#coding:utf-8
import time
import os
from appium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
PATH=lambda p:os.path.abspath(os.path.join(os.path.dirname(__file__),p))
#初始化
desired_caps={}
#使用哪種移動平臺
desired_caps['platformName']='Android'
#Android版本
desired_caps['platformVersion']='6.0.1'
#啟動哪種裝置,是真機還是模擬器?
desired_caps['deviceName']='Galaxy S6 edge'
#App的絕對路徑
desired_caps['app']=PATH('D:\kuyu.apk')
driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)#初始化
desired_caps['unicodeKeyboard']=True,#使用unicodeKeyboard的編碼方式來發送字串
desired_caps['resetKeyboard' ]=True#將鍵盤給隱藏起來
WebDriverWait(driver,20).until(lambda the_driver: the_driver.find_element_by_id("com.kuyu:id/tv_login").is_displayed())
driver.find_element_by_id("com.kuyu:id/tv_login").click()
#輸入使用者名稱
driver.find_element_by_id("com.kuyu:id/et_email").send_keys("******")
#輸入密碼
driver.find_element_by_id("com.kuyu:id/et_pwd").send_keys("******")
#點選登入
driver.find_element_by_id("com.kuyu:id/tv_login").click()
#這裡加了一個等待,判斷指定的元素出現則為登入成功(等待方法不懂沒有關係,以後會再講解如何設定等待)
WebDriverWait(driver,20).until(lambda the_driver: the_driver.find_element_by_id("com.kuyu:id/include_study_iv_add").is_displayed())
print(u"登入成功")
driver.quit()
3.是不是不知道怎麼進行元素定位,不要著急
開啟你安裝sdk的目錄,sdk/tools/uiautomatorviewer.bat,雙擊開啟
點選左上角的第2個圖示Device Screenshoot,會顯示當前螢幕資訊,切換介面後再次點選即可
點選登入按鈕,右邊會顯示詳細資訊,你可以找到對應元素的id,當然還有其他的定位方式,以後會詳細講解
4.執行
寫好之後,是不是迫不及待的想要執行你的程式了呢。嘿嘿
a.確保你的手機已經連線到電腦,我用的360手機助手,連線成功即可
b.開啟Appium Sever.Appium有上角的開始
c.執行CMD命令,直接將你的py檔案拖到視窗中,或者輸入python “py檔案的路徑地址”
我的示例為python D:\python_wxy\test.py
登入成功並列印了資訊,如下圖所示,這就是一個簡單的登入case
注意: 開始執行後,Appium會列印log日誌,程式沒有錯誤的會顯示下圖,游標在閃動,等待執行
如果程式出現語法或者對齊錯誤,DOS視窗會有提示資訊,告訴你哪一行有問題,然後進行修改
是不是so easy!!!