Appium+Python入門學習總結


最近研究了一下Appium,查看了一些大神的博客,繞過了一些坑,現將從搭建環境到運行真機測試的流程總結如下:

一、搭建環境,這里我參考了蟲師的博客,一步一步來,搭好了Appium的環境,如果需要真機測試,android模擬器及以后的部分不用安裝,鏈接如下:

http://www.cnblogs.com/fnng/p/4540731.html

http://www.cnblogs.com/fnng/p/4552438.html

注:以上的東西做完之后,需要在環境變量中添加(安裝路徑)C:\Program Files (x86)\Appium\node_modules\.bin到path中,再在cmd中運行appium-doctor,檢查環境顯示成功之后,則完成了環境搭建

 

二、環境搭建好之后,需要連接手機

連接手機時除了用數據線連到電腦上,還要注意選擇手機的開發者模式,之后,在cmd中運行adb devices,如果下發列表中出現設備,則說明連接成功,那一串奇怪的字符就是你的設備號了

三、用Appium啟動服務,啟動服務的作用就是能讓代碼在連接的機器上運行,其實用cmd代碼運行appium,也能啟動,只不過appium這個程序(上方蟲師教程中安裝的Appiumforwindows)可以比較方便的對服務進行調試,所以選擇用它來啟動

啟動前需要對服務進行設置,點擊左上角的安卓小圖標,進行主要的配置:

 

並且將服務的session配置成可重寫(非必要的配置)

到這里服務就配置好了,點擊右上角的三角進行開啟即可

 

四、配置下載python中的appium組件

這里很簡單,cmd運行  pip install Appium-Python-Client 等待安裝完成即可

 

五、Appium測試用例代碼,以百度安裝包為例:

from appium import webdriver
import time

desired_caps = {
'platformName': 'Android',
'deviceName': '91QECPF5US7G',
'platformVersion': '5.1',
         #將要測試app的安裝包放到自己電腦上執行安裝或啟動,
                如果不是從安裝開始,則不是必填項,可以由下面紅色的兩句直接啟動
                'app':'C:\\Users\\shuchengxiang\\Desktop\\shoujibaidu_25580288.apk',
'appPackage': 'com.baidu.searchbox', #紅色部分如何獲取下面講解
'appActivity': 'MainActivity',
'unicodeKeyboard': True, #此兩行是為了解決字符輸入不正確的問題
'resetKeyboard': True #運行完成后重置軟鍵盤的狀態  
}

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
driver.find_element_by_id("com.baidu.searchbox:id/baidu_searchbox").click()
driver.find_element_by_id("com.baidu.searchbox:id/SearchTextInput").clear()
driver.find_element_by_id("com.baidu.searchbox:id/SearchTextInput").send_keys('appium測試')

driver.find_element_by_id("float_search_or_cancel").click()
driver.find_element_by_id("floating_action_button").click()

driver.quit()

獲取appPackage和appActivity:
1、在之前配置的android SDK文件中找到這個程序,並雙擊打開

在連好手機的情況下點擊這個按鈕,界面上就會顯示出當前手機的頁面(如果是鎖屏狀態則顯示黑屏)

界面加載出來之后,加入我們想定位百度一下的文本框,那么吧光標移動到上面點擊一下即可,下圖框出的部分為我們需要的信息:

通過這個信息我們知道,對於這個包,上方desired_caps字典中appPackage的值應填寫為 com.baidu.search

而代碼中的定位部分的id為com.baidu.searchbox:id/baidu_searchbox,或填寫baidu_searchbox

例:driver.find_element_by_id("com.baidu.searchbox:id/baidu_searchbox").click()

 

2、appActivity的獲取:

先讓百度在手機中運行起來,然后在cmd中輸入:adb shell dumpsys activity activities (獲取當前所有的活動),搜索結果如下:

 上方將所有進程顯示出來,活動進程很多比較難找,這里知道package名稱,可以在結果中進行查找,得到appActivity的值為MainActivity

關於這里的定位還有其他方法,詳情參看大神的博客:http://blog.csdn.net/shyu1989/article/details/51730214

 

到這里,上邊代碼需要的所有內容就已經填寫完了,Appium服務啟動成功之后,運行代碼,即可看到效果(手機不要鎖屏哦)

 



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM