搭建appium+python自動化測試環境
一.appium簡介
工作原理:
a.執行指令碼時,client-java將指令碼翻譯為webdriver協議,與appium server通過json進行互動
b.appium server通過webdriver協議將翻譯指令碼翻譯為UI Automator命令,通過bootstrap執行
c.bootstra把執行結果轉發回appium server
二.搭建appium+python自動化環境
以下安裝可以參考這個網址:Appium移動自動化測試
1).安裝java環境(記得把jdk和jer路徑放到環境變數中),安裝教程地址:java環境配置,可在cmd下輸入java檢視是否配置完成
2).安裝android adt或者sdk
3).安裝sdk manager
4)安裝sdk platform-tools
5)安裝android模擬器(如果是真機測試,這邊可以忽略)
6)安裝adb環境,下載連結:adbdriver.zip,配置教程:adb配置教程,可在cmd下輸入adb檢視是否配置完成
7)下載appium—desktop並安裝。下載地址https://github.com/appium/appium-desktop/releases/,下載最新版
三.獲取檔案的app的package、activity方式
1)在cmd環境下,cd到sdk\builds-tools\ 目錄下
2)在剛剛的目錄下執行aapt dump badging E:\apk\es3.apk(包在電腦上的路徑),就可以檢視到app的package和activity
四.獲取頁面的元素
1)把手機連線電腦(cmd命令列裡輸入:adb devices,可以看到當前連線的手機)
2)開啟android sdk裡面的uiautomator,點選頁面上方的手機螢幕的按鈕,uitomator上出現的手機上此時的頁面
3)可以在automator頁面的右邊,檢視到需要定位頁面的元素
五.用python程式碼編寫執行
1)find_element_by_id("XXX")
2)find_element_by_class_name("XXXX")
3)find_element_by_accessibility_id("XXX") 查詢介面元素的content-desc屬性 在當期那頁面唯一
4)find_element_by_xpath("XXXX")(xpath的原理:就是先找到一個唯一的id,再在此元素下面查詢其他的元素)
xpath=“//*[@resource-id=' ']//”
5)還有一種是通過autma投入 api,來控制裝置
#1 使用resourceld方式
driver.find_element_by_android_uiautomator('new UiSelector().resoureId(“%s”)')
#2 使用text方式
driver.find_element_by_android_uitomator('new UiSelector().text("%s")')
# 3使用description方式
driver.find_element_by_android_uitomator('new UiSeletor().description("%s")')
# 4使用class方式
driver.find_element_by_android_uitomator('new UiSelector().className("%s")')
#5.使用index方式
driver.find_element_by_android_uitomator('new UiSelector().index("%s")')
六.操作手勢
1)常用的方式
click() 點選
send_keys() 輸入資料
swipe(self, start_x, start_y, end_x, end_y, duration=None) 滑動
2)TouchAction庫(單觸點操作)
(定義了短按press、釋放release、移動到moveTo、點選tap、等待wait、長按longpress、執行perform)
使用方式
from appium.webdriver.common.touch_action import TouchAction
driver.perfrom(TouchAction().tap(el))
或者TouchAction().tap(el).perfrom
3)MultiAction庫(多觸點操作)
from appium.webdriver.common.multi_action import MultiAction
action0=TouchAction().tap(el1)
action1=TouchAction().tap(el2)
MultiTouch().add(action0).add(action1).perform
七.python的安裝
1)win下載地址:https://www.python.org/downloads/windows/(一般下載3.6版本的)
2)安裝好了,記得配置環境(如果是3.5以上的版本這邊勾選就就會自動新增到環境變數中)
3)判斷python是否已安裝
在cmd環境中輸入python:出現如下情況證明已安裝成功
八.pycharm的使用
1)下載:下載社群版的即可(下載地址:https://www.jetbrains.com/pycharm/download/#section=windows)
2)安裝:可參考https://blog.csdn.net/ziyouhahaze/article/details/78230811
3)使用
a.新建一個工程
選擇file——new project,填寫儲存路徑,並命名
b.建立一個專案
c.建立一個檔案
左側導航欄選擇 Pure Python ,右側的 Location 選擇專案的路徑, Interpreter 通過下拉欄選擇 Python版本 ,這裡直接使用 Python 的安裝路徑即可。
選擇完成之後,點選 Create 按鈕,進入介面。這時就可以建立檔案了,步驟如下圖所示:
d.建立一個檔案
Crossin-practices → New → Python File
九.appium—desktop的使用
下載後直接開啟,出現下面頁面
這邊appium和UItomator的使用上有衝突(1.6.2之後的版本這個問題已修復),在使用apium—desktop時就無法正常使用automator,直接點選start server的按鈕,即開啟appium
十.自動化指令碼的基本知識講解
1)基本配置
其中:platforName:裝置的名稱
platforVersion:手機的版本
devicesName:手機的裝置號(cmd中adb devices獲取)
appPackage:包名
appActivity:安卓應用的操作介面
unicodeKeyboard:安裝一箇中文的輸入法
2)獲取頁面元素並操作
十一.學習的參考資料
相關文章
- Appium+Python實現iOS自動化測試~環境搭建APPPythoniOS
- 搭建自動化測試環境
- 自動化測試 selenium 環境搭建
- IOS自動化測試環境搭建(Python & Java)iOSPythonJava
- Appium+python自動化(一)- 環境搭建—上(超詳解)APPPython
- 自動化測試之Selenium篇(一):環境搭建
- Web自動化測試 環境搭建(selenium+python)WebPython
- Web自動化測試 —— 測試環境搭建 (Selenium+Python) Windows篇WebPythonWindows
- mac上搭建appium+IOS自動化測試環境(一)MacAPPiOS
- python+selenium UI自動化測試環境搭建及使用PythonUI
- Android自動化測試第二篇 Appnium環境搭建AndroidAPP
- 安卓自動化打包環境搭建安卓
- 基於Selenium2 與Python自動化測試環境搭建Python
- Grunt自動化構建環境搭建
- 自動化測試環境搭建之Python3.6+selenium44+firefoxPythonFirefox
- java+appium 自動化環境搭建JavaAPP
- 自動化迴歸環境搭建覆盤
- Selenium+Python自動化測試環境搭建和搭建過程遇到的問題解Python
- 騰訊出品小程式自動化測試框架【Minium】系列(一)環境搭建之第一個測試程式框架
- app自動化測試環境配置:adb環境配置、monkey環境配置、appium環境配置大全APP
- kaldi環境搭建 | yesno 測試
- android測試環境搭建Android
- 在公司內部網路如何搭建Python+selenium自動化測試環境Python
- Selenium終極自動化測試環境搭建(二):Selenium+Eclipse+PythonEclipsePython
- 【原創】win11完美搭建macos13實現IOS自動化測試環境MaciOS
- docker入門到自動化搭建php環境DockerPHP
- 乞丐版自動化部署 jenkins 環境搭建Jenkins
- APP自動化環境搭建與安裝(Windows)APPWindows
- 自動化測試系列 —— UI自動化測試UI
- 搭建基於C#和 Appium 的 Android自動測試環境C#APPAndroid
- griffin環境搭建及功能測試
- 自動化測試框架AutoTestFramework及軟硬體環境-Alltesting|澤眾雲測試框架Framework
- 介面自動化測試框架搭建總結框架
- 介面自動化測試框架搭建的思路框架
- 達夢6.0試用之測試環境搭建
- Android自動測試化之道1:Appium開發環境配置AndroidAPP開發環境
- grunt搭建自動化的web前端開發環境Web前端開發環境
- 軟體測試培訓:如何搭建測試環境