Appium整理
1. Appium介紹
1,appium是開源的移動端自動化測試框架;
2,appium能夠測試原生的、混合的、以及移動端的web項目;
3,appium能夠測試ios,android應用(固然了,還有firefox os);
4,appium是跨平臺的,能夠用在osx,windows以及linux桌面系統上;
2. Appium基本原理
在Android端,appium基於WebDriver協議,利用Bootstrap.jar,最後經過調⽤用UiAutomator的命令,實現App的自動化測試。
UiAutomator測試框架是Android SDK自帶的App UI自動化測試Java庫。
另外因爲UiAutomator對H5的支持有限,appium引入了chromedriver以及safaridriver等來實現基於H5的自動化。
3.總結:
1) android sdk安裝完畢後,須要配置環境變量
新建ANDROID_HOME
在PATH中添加:%ANDROID_HOME%:\.....
2) nodejs安裝完畢後,須要配置環境變量
在PATH中添加:D:\Program Files\nodejs;
3) appium安裝完畢後,須要配置環境變量
D:\Program Files (x86)\Appium\node_modules\.bin;
4) 配置好後,啓動cmd
輸入node -v,查看node安裝版本
輸入appium-doctor檢查appium的安裝環境是否成功
5) 安裝Python,配置環境變量
4.經過Python編寫自動化測試腳本
#coding:utf-8
from appium import webdriver
#desired_caps是一個字典,負責啓動服務端時的參數設置,啓動session的時候是必須提供的。
# Desired Capabilities本質上是key value的對象,它告訴appium server這樣一些事情,好比:
# 本次測試是啓動瀏覽器仍是啓動移動設備?
# 是啓動andorid仍是啓動ios?
# 啓動android時,app的package是什麼?
# 啓動android時,app的activity是什麼
desired_caps = {}
#你要測試的手機操做系統
desired_caps['platformName'] = 'Android'
#手機操做系統的版本
desired_caps['platformVersion'] = '4.2'
#使用的手機類型或模擬器類型
desired_caps['deviceName'] = 'Android'
#deviceName你的模擬器名字,就是在下載AVD的時候,你填寫的,忘了的回頭去找,或者在模擬器頂部會顯示
#所運行的app包名
desired_caps['appPackage'] = 'com.android.calculator2'
#app運行的事件
desired_caps['appActivity'] = '.Calculator'
#啓動打開app
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
#根據元素定位,執行點擊操做
driver.find_element_by_name("6").click()
driver.find_element_by_name("5").click()
driver.find_element_by_name("9").click()
driver.find_element_by_name("1").click()
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()
5. Appium界面內容解析
5.1. 總體介紹
主頁面頂部從左到右依次是:
1、AndroidSettings:android相關的設置
2、 GeneralSettings:全局設置,設置appium相關的內容
3、 DeveloperSettings:開發者設置,通常不用須要關心
4、About:appium相關信息,不須要關心
五、Inspector:查找元素用的,windows沒法使用,MAC能夠使用,windows能夠不用關心。
6、LaunchAppium:啓動appium按鈕
7、右下角清除日誌按鈕。
5.2. Android Settings
此頁面分爲Application、Launch Device、Capabilities、Advanced四部分,先看圖以後分析分別有什麼做用
歡迎關注本站公眾號,獲取更多信息