最新App自動化測試之Appium環境搭建以及python自動化腳本demo演示
Appium簡介
Appium是一個開源、跨平臺的測試框架,可以用來測試原生及混合的移動端應用。Appium支持IOS、Android及FirefoxOS平臺。支持多種語言。
Appium的核心是一個web服務器,它提供了一套REST的接口。它接收到客戶端的連接,監聽到命令,接著在移動設備上執行這個命令,然后將執行結果放到HTTP響應中返還給客戶端。
對于Android系統,Appium使用的是UiAutomator2 Driver來驅動客戶端設備,對于IOS系統,目前使用的是XCUITest。Appium同時還包含了Windows Driver和Mac Driver支持windows和Mac桌面應用的測試。
Appium環境搭建
java1.8+版本
Android SDK
Appium Desktop
Appium Client
Android驅動
JAVA環境變量配置:要配置JAVA_HOME, PATH,classpath ,具體配置百度java環境配置自行解決,這里不再一一列舉。
SDK環境變量配置:
先下載安卓的sdk工具:
http://tools.android-studio.org/index.php/sdk
也可以從我網盤下載我已經下載好的包:
鏈接:https://pan.baidu.com/s/1x73i2wlBFIFDb3yTB8AUmw
提取碼:1234
配置環境變量:ANDROID_HOME,然后再PATH里面加入tools和platform-tools兩個路徑:
%ANDROID_HOME%\tools;
%ANDROID_HOME%\platform-tools;
配置好后,在命令行窗口輸入adb version 即可檢查是否配置好。
Appium Desktop 安裝
https://github.com/appium/appium-desktop/releases 下載安裝包? (也可以通過上面的網盤下載),下載完之后,雙擊進行安裝即可。
Appium Server 安裝
先安裝nodejs,配置環境變量。然后使用命令安裝appium:
npm install -g appium
通過上面這個命令安裝的時候,下載很慢,經常失敗或者卡住,可以使用cnpm進行安裝:
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install -g appium
安裝完成后,命令行輸入appium即可啟動appium服務。
到此,其實appium的環境已經搭建完畢。接下來可以使用Appium Client來來模擬自動操作app。
安裝基于python語言的appium client:
pip install appium-python-client
獲取要測試的當前打開app的應用包名和activity名稱:
adb shell dumpsys window w |findstr \/ |findstr name=
安裝Android驅動
將手機用數據線連接電腦,打開手機開發者模式下的調試模式,然后在電腦上cmd窗口輸入adb devices ,能夠輸出設備的信息即可:
錄制腳本
啟動Appium?Desktop,點擊Start server
在進入的頁面中點擊Start Inspector Session,進入錄制頁面
按照下圖輸入手機對應的系統以及版本號的相關信息,然后點擊Start Session.
接下來執行一段腳本來驗證環境是否搭建成功,是否可以正常操作app,以華為P20手機上的系統自帶的計算器軟件為例,演示一下如何操作app的一個最簡單的demo。
開始錄制,錄制操作見下圖:
選中元素后,點擊右邊相應的操作。Tap為點擊元素,Send keys為文本框錄入,Clear為清空文本框。
錄制出來的腳本如下:
# This sample code uses the Appium python client
# pip install Appium-Python-Client
# Then you can paste this into a file and simply run with Python
from appium import webdriver
caps = {}
caps["platformName"] = "Android"
caps["platformVersion"] = "6.0.1"
caps["deviceName"] = "C9CBY15427001302"
caps["deviceName"] = "C9CBY15427001302"
caps["appPackage"] = "com.android.calculator2"
caps["ensureWebviewsHavePages"] = True
driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
el1 = driver.find_element_by_accessibility_id("1")
el1.click()
el2 = driver.find_element_by_accessibility_id("加")
el2.click()
el3 = driver.find_element_by_accessibility_id("2")
el3.click()
el4 = driver.find_element_by_accessibility_id("等于")
el4.click()
driver.quit()
運行上面的腳本,就會看到通過代碼可以啟動華為手機上的計算器進行相關的操作 。
說明:
1、如果不需要錄制的話,是可以不用在電腦上安裝Appium Desktop的,直接安裝Appium Server即可。運行腳本的時候,會需要在手機上安裝一個Appium Setting的軟件之后才可操作APP。
2、安卓app除了使用Appium Desktop里面的Inspector功能定位/錄制元素之外,還可以使用android sdk目錄下的tools目錄下的uiautomatorviewer.bat進行元素定位,然后手寫腳本即可。
3、本文只是演示通過appium操作安卓手機的一個簡單的demo教程,在實際實戰過程中還會遇到很多的問題 ,比如系統權限、橫豎屏處理、Toast彈窗等問題。
Python 移動APP 自動化測試
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。