Appium(Python)第一個例子
環境搭建好後,就可以愉快的開始手機自動化測試了,博主以安卓爲例
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!!!