python-appium安卓APP自動化環境搭建和appium常用函數說明應用

安裝步驟總覽:

第一步:下載安裝包

  • node.js
  • java-sdk
  • SDK Tools
  • Appium

第二步:安裝node.js

  • D盤新建文件夾“nodejs
  • 安裝時安裝到此文件夾即可
  • 打開cmd輸入“node -v”顯示版本號即爲成功
    在這裏插入圖片描述

第三步:安裝java-sdk

  • D盤新建文件夾“Java”和“Java_an

  • 安裝時 第一次輸入安裝路徑輸入“D:\Java” 第二次輸入安裝路徑輸入“D:\java_an

  • 安裝完成後進入“D:\java_an\bin”地址欄輸入cmd敲回車,打開cmd窗口。
    在這裏插入圖片描述

  • 輸入“java”和“javac”顯示相關內容即爲成功

 java

在這裏插入圖片描述

javac

在這裏插入圖片描述

第四步:配置Java環境變量

一共配置三處環境變量

系統變量中,新建(1)

  • [變量名 ] JAVA_HOME
  • [變量值 ] D:\Java

系統變量中,新建(2)

  • [變量名 ] CLASSPATH
  • [變量值 ] .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

兩個環境變量配置方式一樣,注意一定要記得保存

在這裏插入圖片描述

用戶變量中的path變量中新增三條新建(1)

  • [變量值 ] %JAVA_HOME%\bin
  • [變量值 ] %JAVA_HOME%\jre\bin

注意:win環境是分別添加的如圖所示,win7環境是通過分號鏈接兩個變量值的,詳情請百度
在這裏插入圖片描述

驗證java的環境變量是否成功

  • 直接運行系統cmd窗口
    在這裏插入圖片描述
  • 輸入“java”和“javac”顯示相關內容即爲成功
java

在這裏插入圖片描述

javac

在這裏插入圖片描述

第五步:SDK Tools和部分工具內容

  • D盤新建文件夾“SDKTools
  • 安裝時安裝到此文件夾即可
  • 安裝完成後進入“D:\SDKTools”打開“SDK Manager.exe
  • 安裝時只需要安裝這5個就行
    在這裏插入圖片描述

第六步:配置ANDROID_HOME環境變量

系統變量中,新建(1)

  • [變量名 ] ANDROID_HOME
  • [變量值 ] D:\SDKTools

用戶變量中的path變量中新增三條新建(1)

  • [變量值 ] %ANDROID_HOME%\tools
  • [變量值 ] %ANDROID_HOME%\platform-tools

注意:添加配置的方式和java環境變量配置方法一樣,win環境是分別添加的如圖所示,win7環境是通過分號鏈接兩個變量值的,詳情請百度,記得點保存

驗證android的環境變量是否配置成功

  • 直接運行系統cmd窗口
    在這裏插入圖片描述
  • 輸入“adb version”顯示相關內容即爲成功
adb version

在這裏插入圖片描述

第七步:安裝Appium和鏈接手機

  • 直接安裝即可

第八步:鏈接手機進行調試

  1. usb數據線鏈接手機,打開手機usb調試(usb調試找不到請百度,模擬器鏈接方式下次說,這次先說真機)
  2. 獲取設備名稱adb devices,紅框兩面的就是
    3.
  3. 獲取手機安卓版本,

手機設置》關於手機》安卓版本

  1. 手機類型:Android
  2. 生成:json
{
   
   
  "deviceName": "P7CDU18C04001791",
  "platformVersion": "10.0.0",
  "platformName": "Android"
}
  1. 啓動appium(不要改動默認填寫的東西)

在這裏插入圖片描述
在這裏插入圖片描述

  1. 輸入連接配置,連接手機。
    在這裏插入圖片描述
    在這裏插入圖片描述

  2. 連接成功
    在這裏插入圖片描述

第九步:python代碼連接操作

連接方式和web端的selenium基本相同原理也十分近似,api也幾乎一樣,如果selenium掌握了那麼appium也是會很好掌握的。

樣例代碼和appium基本操作api

# -*- coding: utf-8 -*-
from appium import webdriver  # 導入appium包

desc = {
   
   
    "deviceName": "P7CDU18C04001791",  # 手機設備名稱,adb devices
    "platformVersion": "10.0.0",  # 手機版本,在手機中:設置--關於手機
    "platformName": "Android",  # 手機類型,ios或android
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desc)  # 訪問服務接口,並啓動手機app。url參數是當appium啓動後,默認訪問服務地址和接口
driver.implicitly_wait(10)  # 設置隱式等待時間

driver.find_element_by_id('')  # 通過id定位
driver.find_element_by_xpath('')  # 通過xpath表達式定位
driver.find_element_by_class_name('')  # 通過class名稱定位
driver.find_element_by_link_text('')  # 通過元素文本定位

元素本文值 = driver.find_element_by_id('').text  # 獲取元素的本文值
driver.find_element_by_id('').click()  # 點擊元素
driver.find_element_by_id('').click()  # 點擊元素
driver.find_element_by_id('').clear()  # 清除元素輸入的內容
driver.find_element_by_id('').send_keys('輸入的內容')  # 向元素內輸入內容

driver.back()  # 進行返回操作
driver.quit()  # 進行關閉鏈接操作

# 進行截圖操作,將截圖保存爲指定名稱並指定路徑
driver.get_screenshot_as_file(u'F:\\wifibanlv\\find_element\\image\\anjian01.png')
# 進行截圖操作,將截圖保存爲base64值
base64值 = driver.get_screenshot_as_base64()
# 進行截圖操作,指定名稱保存到當前腳本所在的文件夾,
driver.save_screenshot('anjian.png')

# 屏幕滑動操作
driver.execute_script("mobile:dragFromToForDuration",
                      {
   
   "duration": 0.5,#滑動完成所需時間
                       "element": None,#指定元素
                       "fromX": 0,#x軸滑動開始位置
                       "fromY": 650,#y軸滑動開始位置
                       "toX": 0,#x軸滑動結束位置
                       "toY": 100})#y軸滑動結束位置
感謝各位的關注和支持,下次準備些關於unittest測試框架的應用,支持selenium和appium;對報告內容優化和報告中截圖相關事項解析,以及unittest測試框架基礎概念和相關api描述及應用。至此再次感謝。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章