自動化測試 Appium之Python運行環境搭建 Part2

Appium之Python運行環境搭建 Part2html

by:授客 QQ:1033553122python

實踐環境android

參見 Appium之Python運行環境搭建 Part1ios

 

環境部署git

一、安裝Android SDKgithub

安裝好後,配置ANDROID_HOME環境變量,設置爲Android SDK安裝路徑(例中:D:\Program Files (x86)\Android\android-sdk)web

 

二、安裝其它SDK相關軟件包npm

安裝好Android SDK後,選擇打開Android SDK Manager(在Android SDK目錄下,例中D:\Program Files (x86)\Android\android-sdk)app

 

 

 

 

選好後點擊 接受協議Accept License,Install測試

 

 

參考連接:

https://www.zhihu.com/question/31935836

http://www.cnblogs.com/kangjianwei101/p/5621238.html

 

三、安裝appium-uiautomator2-driver

cmd打開控制檯,輸入如下命令安裝

> npm install -g appium-uiautomator2-driver

 

參考連接:

http://appium.io/docs/en/drivers/android-uiautomator2/index.html

https://github.com/appium/appium-uiautomator2-driver

 

四、開啓appium、appium-desktop(若是沒有開啓的話)

 

其它準備工做

開啓手機(模擬器)USB調試模式

 

打開目標程序主頁,好比圖示計算機

 

 

 

獲取APK包名及資源定位器

雙擊打開android_sdk_install_home\tools\uiautomatorviewer.bat

(例中:D:\Program Files (x86)\Android\android-sdk\tools\uiautomatorviewer.bat
點選圖示圈選按鈕中任何一個

 

 

 

如上圖,鼠標移動到目標控件,好比數字按鈕7,可看到程序所在包名:package 爲com.android.calculator2,數字按鈕7對應資源IDpackage 爲com.android.calculator2:id/digit_7

 

 

活動名稱獲取

經過adb logcat > log.txt 獲取的

 

代碼測試

#!/usr/bin/env python
# -*- encoding:utf-8 -*-

__author__ = 'laifuyu'

import time

from appium import  webdriver

if __name__ == '__main__':
    desired_caps = {
        "platformName":"Android"
        "platformVersion":"5.0",
        "deviceName":"Android Emulator",
        "automationName":"UiAutomator2",
        # "app":"D:\\apks\\ai-sorting_v3.5.5_sit_debug_20180423114313.apk",
        "appPackage":"com.android.calculator2",

        "appActivity":".Calculator"
    }


    driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)
    digit7 = driver.find_element_by_id('com.android.calculator2:id/digit_7')
    digit7.click()

    result = driver.find_element_by_id('com.android.calculator2:id/result')
    result.send_keys('+')

    time.sleep(30)

    driver.quit()

運行結果:

 

 

說明:

platformName  設置手機操做系統平臺(iOS, Android, FirefoxOS)

 

platformVersion  設置手機操做系統版本

 

deviceName    設置手機設備、模擬器類型。好比iPhone Simulator, iPad Simulator, iPhone Retina 4-inch, Android Emulator, Galaxy S4, 等,IOS操做系統上,該設備名必須是經過instruments -s devices命令返回的合法設備。對於Android操做系統來講,該屬性雖然是必填,可是缺是被忽視的。

automationName  設置使用哪一個自動化引擎。對於Android:Appium(默認)、Selendroid 、UiAutomator2 、對於IOS:XCUITest

 

app:設置apk軟件包的絕對路徑,或者.ipa ios包的http url,或者是一個包含一個.ipa、.apk軟件包的.zip文件絕對路徑。注意,彷佛是這樣的,若是手機設備、手機模擬器上沒安裝該軟件包,則可設置該屬性,運行時,會自動把該安裝包安裝到手機設備、模擬器上。 Appium會先嚐試把這個app二進制文件安裝到手機設備或者模擬器中。 注意,若是指定了appPackage和appActivity屬性,則該能夠不設置該屬性。

eg:

/abs/path/to/my.apk

http://myapp.com/app.ipa

        

appPackage:設置Android app JAVA軟件包

appActivity:想啓動的Android activity名稱。一般須要加前綴. 好比.MainActivity而不是MainActivity。

eg:

MainActivity

.Settings

 

參考連接:

https://github.com/appium/appium-uiautomator2-driver/blob/master/README.md

https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md

https://github.com/appium/sample-code/blob/master/sample-code/examples/python/android_contacts.py

https://blog.csdn.net/xyz846/article/details/50750701

相關文章
相關標籤/搜索