appium服務器初始化參數 最全: https://github.com/appium/appium/blob/master/docs/cn/writing-running-appium/caps.md
檢查環境是否安裝成功:
1、啓動android虛擬機
2、打開appium桌面版,彈出界面,不做任何配置點擊啓動即可
3、打開pycharm,新建項目後,編寫如下python代碼:
import selenium
from appium import webdriver
des = {
'platformName': 'Android',
'platformVersion': '9.0', #填寫android虛擬機的系統版本
'deviceName': 'Samsung Galaxy S9', #填寫安卓虛擬機的設備名稱
'appPackage': 'com.ibox.calculators', #填寫被測試包名
'appActivity': '.CalculatorActivity', #填寫被測試app入口
'udid': '192.168.56.101:5555', # 填寫通過命令行 adb devices 查看到的 uuid
'noReset': True,
'unicodeKeyboard': True,
'resetKeyboard': True,
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', des)
4、運行代碼,能成功見到android虛擬機啓動被測APP即爲環境部署成功
from appium import webdriver
# 配置項
des = {
"platformName":"android",
"platformVersion":"8.0",
"deviceName":"Samsung Galaxy S8",
"appPackage": "com.android.settings",
"appActivity": ".Settings",
"udid":"192.168.56.102:5555",
"noReset":True,
"unicodeKeyboard": True,
"resetKeyboard": True,
"newCommandTimeout":30
}
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub",des)
Advanced界面:
高級參數配置修改,主要是一些Android和iOS設備,log路徑等相關信息的
配置。部分參數說明如下:
Logfile Path 日誌的路徑
Log Level 日誌級別
Override Temp Path
覆蓋臨時路徑
Local Timezone
使用本地時區作爲時間戳
Log Timestamps
在控制檯輸出中顯示時間戳
Superss Log Color
設置日誌顏色
Node Config File Path node : node節點文件路徑,指定JSON格式的配置文件,
用來在selenium grid中註冊appium server
Allow Session Override : 是否允許會話覆蓋,腳本請求執行就是一次會話
Strict Caps Mode:嚴格上限模式
Relaxed Security:設置讓Appium直接執行 adb shell 方法
Desired Capabilities:
Desired Capabilities攜帶了一些配置信息。從本質上講,它是key-value形
式的對象。可以理解成是java裏的map,python裏的字典,ruby裏的hash以及js
裏的json對象。實際上Desired Capabilities在傳輸時就是json對象。
Desired Capabilities最重要的作用是告訴appium server本次測試的上下文。
比如:
本次測試是啓動瀏覽器還是啓動移動設備?
是啓動andorid還是啓動ios?
啓動android時,app的package是什麼?
啓動android時,app的activity是什麼?
....
appium server的這些疑問Desired Capabilities都必須給予解答,否則appium
server就無法完成移動app或者是瀏覽器的啓動。
測手機網站則只填browserName,不填
"appPackage":"com.android.calculator2",
"appActivity":".Calculator",
"udid":"192.168.56.102:5555",
Desired Capabilities android特有鍵值對介紹:
appPackage:運行的 Android 應用的包名
appActivity:Activity 的名字是指從你的包中所要啓動的 Android acticity。通常
需要再前面添加‘.’
unicodeKeyboard:使用 Unicode 輸入法。 默認值爲 false
resetKeyboard:在設定了 unicodeKeyboard 關鍵字的 Unicode 測試結束後,重
置輸入法到原有狀態。如果單獨使用,將會被忽略。默認值爲 false
noSign:跳過檢查和對應用進行 debug 簽名的步驟。僅適用於 UiAutomator,
不適用於 selendroid。 默認值爲 false