1. 程式人生 > >手機APP測試環境搭建---appium

手機APP測試環境搭建---appium

modules select window host check driver 設備 成功 手機

1.ADB的安裝:ADB(ANDROID DEBUG BRIDGE)

應用場景:

針對移動端 Android 的測試, adb 命令是很重要的一個點,常用的 adb 命令, 將會為 Android 測試帶來很大的方便,其
中很多命令將會用於自動化測試的腳本當中
環境搭建:
解壓:platform-tools_r28.0.0-windows.zip(adb)和sdk-tools-windows-4333796.zip (tools-UIAutomator)將解壓後的路徑放置path環境變量
命令?輸?:
adb devices:查看已連接的設備 adb shell wm size
adb kill-server , adb start-server

, 結束 adb 服務, 啟動 adb 服務,通常兩個命令一起用
adb shell pm list package:列出所有的應用的包名
-s:列出系統應用
-3:列出第三方應用
-f:列出應用包名及其安裝來源
打開應用查看包名和activity名稱:adb shell dumpsys activity top | head -n 10     mac使用命令

2.移動端自動化測試:APPIUM

環境搭建:
1.安裝node.js node-v6..zip 將解壓後的件添加至path環境變量
2.安裝appium。 將 C:\Program Files (x86)\Appium\node_modules\.bin添加

環境變量
或者 :npm install -g appium    
淘寶源鏡像:npm install -g cnpm --registry=https://registry.npm.taobao.org    #Windows
3.配置JAVA_HOME :就是JDK路徑
ANDROID_HOME:安卓sdk路徑
輸入:appium-doctor
All Checks were successful ,說明環境成功

DESIRED CAPABILITIES
Desired Capabilities在啟動session的時候是必須提供的。
本質上是key value的對象,它告訴appium server這樣一些事情:
1. ? 本次測試是啟動瀏覽器還是啟動移動設備?
2. ? 是啟動andorid還是啟動ios?
3. ? 啟動android時,app的package是什麽?
4. ? 啟動android時,app的activity是什麽?

C:\Users\ASUS-PC>adb shell
jason:/ $ dumpsys activity | grep mFocusedActivity #Windows查看package和activity----當然還有很多其他方法(百度)

1.導入appium:from appium import webdriver
定義一個字典:desired_cap={
‘platformName‘: ‘Android‘,
‘deviceName‘: ‘8BN0218309004925‘,
‘appPackage‘: ‘com.ximalaya.ting.android‘,
‘appActivity‘: ‘.host.activity.MainActivity‘,
‘noReset‘: ‘true‘,    #密碼相關,(微信為例)註釋掉該段代碼,需要輸入登錄密碼,反正不需要登錄
‘unicodeKeyboard‘: ‘True‘,
‘resetKeyboard‘: ‘True‘,
}
然後實例化對象:driver = webdriver.Remote(‘http://localhost:4723/wd/hub‘, desired_cap)
webdriver.Remote實際上就是原?webdriver的子類,第?個參數中需要顯?指定appium server監聽的端口

APPIUM定位元素:UIAUTOMATORVIEWER
1. 連接真機或模擬器
2.打開/Users/hejianhao/Library/Android/sdk/tools/bin/uiautomatorviewer
元素定位選擇器:
第?是ID,
第?是class,如果class沒有重復
第三是by uiautomator
第四,可能就是xpath  

APPIUM定位元素:UIAUTOMATORVIEWER
1. 連接真機或模擬器
2.打開/Users/hejianhao/Library/Android/sdk/tools/bin/uiautomatorviewer
id:
driver.find_element_by_accessibility_id(‘Animation’)
加個s返回list:driver.find_elements_by_accessibility_id(‘Animation’)
description
:driver.find_element_by_android_uiautomator(‘new UiSelector().description(“Animation")‘)
Xpath:
://android.widget.TextView[@text=‘經典必聽’]
Tag_name
:driver.find_element_by_tag_name(‘button‘)

手機APP測試環境搭建---appium