RobotFramework +appium實現Android自動化

2021-02-14 碼同學軟體測試
1、已安裝python37版本(SDK、JDK均已安裝完成,且環境變量都配置好了)4、安裝appium(下載地址:http://6tt.co/pujb)5、安裝python測試庫-appium-python-client6、安裝python測試庫-robotframework-appiumlibrary

下載成功:Appium-windows-1.17.1-1.exe(官網自行下載),雙擊已下載的exe文件,直接安裝即可

安裝指令:

pip install appium-python-client,安裝成功後如下圖:

 

安裝指令:

pip install robotframework-appiumlibrary,安裝成功後如下圖:

 註:安裝過程如果出現超時失敗,重複安裝即可

1.啟動夜神模擬器

2.連接模擬器設備

命令:adb connect 127.0.0.1:62001

 

3.查看已連接的設備

命令:adb devices

 

本文主要進行Android自動化,以「久趣英語app」為例

1.準備安裝包:english.apk(我的存放路徑:E:\app\ english.apk) 

2.獲取app的包名和主activity

命令:

第一個命令:adb shell;進入命令模式

第二個命令:dumpsys activity | grep mFocusedActivity(在模擬器上啟動app後,再執行該命令,可以獲取當前啟動app的包名和activity)

 

獲取到報名為:com.dh.swe

獲取到activity為:

com.zhou.liquan.engcorner.MainActivity

1.部分關鍵字說明:

1.1 open application:啟動程序,其中:

第三個參數platformVersion是安卓的版本(當前設備或模擬器的系統版本號);

第四個參數是apk安裝包的地址(注意地址的「\」,要換成「/」,本文示例為:app=E:/app/english.apk);

第五個參數是安卓安裝包的包名(通過adb命令獲取);

第六個參數是安卓安裝包的activity(通過adb命令獲取)

1.2 click element:點擊元素,參數為元素的定位方式,本文主要通過id定位

1.3 get text:獲取頁面文本,參數為文本的定位方式,本文主要通過id定位

2. 獲取元素的id值

通過appium自帶的工具來獲取元素:啟動appium後,點擊start inspector session,配置相關參數後,點擊start session啟動app

如下圖:(也可以通過Android SDK自帶的元素識別工具來獲取元素的屬性)

 

此時點擊任意元素,就可以在左側看到元素的相關屬性,如果想要獲取其他頁面的元素,則需要在模擬器上切換到其他頁面後,再點擊appium上的刷新圖標重新獲取當前頁面元素(也就是說appium識別元素不是實時的,需要人工手動同步界面元素)

 

3.腳本正文:

3.1.添加進行app自動化的相關library

新建項目後,在項目上添加AppiumLibrary

 

3.2新建test case

創建測試用例,在RIDE右側開始編輯用例正文,內容如下圖:

注意:

腳本換行可以使用「...」來表示;

#標識腳本注釋內容

 sleep增加延遲:由於頁面啟動或展示需要一定的時間,所以在每個動作之後稍微增加延時,避免出現頁面還沒展示導致元素定位不到的錯誤

 

3.3運行腳本:

  

運行腳本

勾選測試用例,點擊run菜單,運行測試腳本

4.測試報告

腳本執行成功後,自動生成測試報告,在瀏覽器中打開效果如下:

相關焦點

  • robotframework-appiumLibrary 應用 - 實現 app 自動化
    robotframework-appiumlibrary若已安裝,需要更新版本可以用命令:pip install -U robotframework-appiumlibrary2、安裝 app 自動化環境。
  • 一套完整的Appium自動化測試環境搭建過程
    Appium是一個開源的自動化測試框架,支持跨平臺,支持多種程式語言,可用於原生,混合和移動web應用程式,使用webdriver驅動ios,android應用程式、那麼為了學習app自動化測試首要任務肯定就是搭建測試開發環境, 因此在這裡記一次搭建Appium自動化測試環境的完整過程,文章較長,需要花費一定的時間,請耐心閱讀,如果文中有什麼錯誤請指正。
  • Appium+python自動化22-Android夜神模擬器
    夜神模擬器可以說是android模擬器裡面的一個神器。 一、環境安裝1.官網下載地址:[https://www.yeshen.com/](https://www.yeshen.com/)2.夜神安卓模擬器(夜神模擬器),是全新一代的安卓模擬器,與傳統安卓模擬器相比,**基於android4.4.2**,兼容X86/AMD,在性能、穩定性、兼容性等方面有著巨大優勢3.安裝時候選擇指定的文件夾路徑
  • 移動端自動化測試-Windows-Android-Appium環境搭建
    下載地址:http://tools.android-studio.org/index.php/sdk/ (直接下載zip版本,解壓至任意目錄即可)將VID、PID中「_」後的4位數增加到adb_usb.ini下(註:adb_usb.ini默認在C盤當前用戶家目錄下的.android目錄下)
  • Python + Appium 自動化操作微信入門看這一篇就夠了
    簡介Appium 是一個開源的自動化測試工具,支持 Android、iOS 平臺上的原生應用,支持 Java、Python、PHP 等多種語言。,變量值為 android-sdk 位置,比如:D:\android-sdk-windows在 Path 變量值的末尾添加 ;%ANDROID_HOME%\tools;%ANDROID_HOME%\build-tools\30.0.0-preview;%ANDROID_HOME%\platform-toolsAppium下載地址
  • 【技術】Python + Appium 自動化操作微信入門看這一篇就夠了
    簡介Appium 是一個開源的自動化測試工具,支持 Android、iOS 平臺上的原生應用,支持 Java、Python、PHP 等多種語言。,變量值為 android-sdk 位置,比如:D:\android-sdk-windows在 Path 變量值的末尾添加 ;%ANDROID_HOME%\tools;%ANDROID_HOME%\build-tools\30.0.0-preview;%ANDROID_HOME%\platform-toolsAppium下載地址
  • 夜神模擬器中如何快速用appium錄製並導出自動化腳本
    '  label='' icon=''卸載apkadb uninstall com. taobao.android停止adb server adb kill-server啟動appium桌面版。例如:/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.support.v4
  • 基於Android和iOS行動應用程式的Appium實用教程
    Appium 作為一種開放性資源和跨平臺交流工具,對自動化移動應用測試(包括安卓系統和IOS系統)很有幫助。Appium支持本地型、移動型以及混合型。  在Windows上設置Appium工具  必要條件:這是一個需要用Appium去測試自動化手機app硬體和軟體的簡短清單  1.你的PC應安裝JDK、Appium Server、Eclipse,、Android SDK這幾項  2.APK:手機應用應該將在我們的通信管理器中自動化
  • Appium 進行 iOS 自動化測試使用問題錦集 | 51上頭條
    我們在進行iOS Appium自動化測試的時候,會遇到環境配置、兼容使用問題,這裡做個總結,以避免後續踩著這些坑。問題1.提示no module 「appium」 解決:第1步,在終端輸入命令cd /usr/local/binpip3 install Appium-Python-Client  因為appium默認裝在了python2上  第2步,新建項目時要勾選
  • 夜神模擬器模擬APP+Appium+mitmdump數據抓取
    mitmdump:它是mitmproxy的命令行接口,利用它我們可以對接Python腳本,用Python實現監聽後的處理。mitmweb:它是一個Web程序,通過它我們可以清楚觀察mitmproxy捕獲的請求。使用mitmdump可以對接python腳本,然後就可以對攔截到的請求和返回數據做處理了。
  • Appium界面自動化測試(4)(Android/Java):詳解應用程式操作
    上一節中,筆者首先安裝了被測應用程式到被測設備中,然後進行自動化測試,但實際項目中往往需要自動化測試腳本自己安裝被測應用程式。
  • 乾貨|app自動化測試之模擬器控制
    模擬器分為原生模擬器與第三方模擬器。我們今天介紹的就是原生模擬器是 Android SDK 中自帶的模擬器,可以通過 Android Studio 工具創建模擬器。Android 虛擬設備(AVD)是一種配置,它可以定義 Android 模擬器例如:Android 手機、平板電腦、Wear OS、Android 電視或車載設備的特徵。
  • Android三方應用實現靜默安裝
    App的靜默安裝和卸載 Android系統本身提供了安裝卸載功能,但是api接口是@hide的,不是公開的接口,所以在應用級別是無法實現靜默安裝和卸載的,要實現靜默安裝和卸載需要是系統應用,要有系統籤名和相應的權限。
  • 使用Appium 快速啟動一個應用
    收錄於話題 #Appium自動化啟動pycharm•新建一個 start_edu_study.py 文件# _*_ coding:utf-8 _*_from appium import webdriver
  • Android應用程式(APK)的編譯打包過程
    再假定你的Android SDK的路徑是ANDROID_SDK_HOME,你想要編譯的Android OS版本是ANDROID_OS_VERSION(比如android-1.6、android-8、android-10等)。我們重點關心的是(1)這個過程的輸入是什麼?(2)這個過程的輸出是什麼?(3)這個過程使用了什麼工具?
  • Android Things 開發入門
    可以看出ats對標準android framework的支持還是挺多的,這也就保證了app開發者們可以很輕鬆的做ats的開發。mLightGpio.getValue())來循環改變電平的激活狀態來實現LED的閃爍,至此LED就可以blingbling的閃了。最後看下ats項目和標準安卓有和區別。
  • Android真機或模擬器激活Xposed框架的方法
    _de4f0d.apk,將de.robv.android.xposed.installer_v32_de4f0d\assets\XposedBridge.jar複製到/system/framework/目錄下,給所有用戶可讀權限(6).用IDA打開Xposed安裝包裡的app_process文件,將代碼裡面的路徑字符串「/data/data/de.robv.android.xposed.installer
  • 自動化測試中的那些誤解和偏見
    由於自動測試通常採用腳本技術,這樣就有可能只需要做少量的甚至不做修改,實現在不同的測試過程中使用相同的用例。7、增加軟體信任度。由於測試是自動執行的,所以不存在執行過程中的疏忽和錯誤,完全取決於測試的設計質量。一旦軟體通過了強有力的自動測試後,軟體的信任度自然會增加。
  • 史上最全 | Android 常用 adb 命令總結
    針對移動端 Android 的測試, adb 命令是很重要的一個點,必須將常用的 adb 命令熟記於心, 將會為 Android 測試帶來很大的方便,其中很多命令將會用於自動化測試的腳本當中
  • 徹底理解 Android Binder 通信架構
    調用流程: Parcel.java –> android_os_Parcel.cpp –> Parcel.cpp./frameworks/base/core/java/android/os/Parcel.java/frameworks/base/core/jni/android_os_Parcel.cpp/frameworks/native/libs/binder/Parcel.cpp簡單說,就是2.4 mRemote究竟為何物mRemote的出生,要出先說說