Appium界面自動化測試(4)(Android/Python):詳解應用程式操作

2021-03-06 自動化測試理論和實戰

上一節中,筆者首先安裝了被測應用程式到被測設備中,然後進行自動化測試,但實際項目中往往需要自動化測試腳本自己安裝被測應用程式。

假設被測應用程式在E盤根目錄,在desired_capabilities變量中指定「app」的值即可安裝應用程式:

desired_capabilities = {    'automationName': 'UiAutomator2',    'platformName': 'Android',    'platformVersion': '9',    'deviceName': 'Android Device',    'app': 'E:\\filename.apk',    'noReset': 'true'}

通過這種方式安裝應用程式時,desired_capabilities變量不必再提供appPackage和appActivity參數。

如果已經建立了會話,並在測試過程中需要安裝其他應用程式,則可以調用Applications類的install_app方法,而Appium版的WebDriver對象是Applications類的子類,因此可以直接調用:

driver.install_app('E:\\filename.apk')

安裝後可通過指定包名來打開它:

driver.activate_app('your.package')

另外,以上兩種安裝應用程式的方式都支持將應用程式的本地路徑換成URL路徑,以便安裝伺服器上的應用程式文件。

除了install_app和activate_app方法,還可以對應用程式進行以下操作:

driver.is_app_installed('your.package')driver.query_app_state('your.package')driver.close_app()driver.terminate_app('your.package')driver.remove_app('your.package')

is_app_installed方法用於檢測應用程式是否已安裝;query_app_state方法用於檢測應用程式的運行狀態,包括未安裝、未運行、後臺運行並被掛起、後臺運行但未被掛起和前臺運行5種狀態;close_app方法用於將當前應用程式置於後臺運行;terminate_app和remove_app方法分別用於關閉和卸載應用程式。

以下通過一個示例演示is_app_installed和activate_app方法的使用,其他方法您可自行試驗。為此筆者在上一節測試代碼的with-as語句中新增以下代碼:

is_installed = driver.is_app_installed('com.android.calculator2')if is_installed:    driver.activate_app('com.android.calculator2')

以上代碼首先檢測計算器是否已安裝,如果已安裝則打開計算器。執行以上代碼後,在筆者的設備上成功打開了計算器應用程式。

需要注意的是計算器一般為Android設備的內置應用程式,但不同設備上的計算器包名不一定相同,您需根據實際情況進行替換。

相關焦點

  • 【收藏乾貨】基於Appium、Python的自動化測試環境部署和實踐
    1 導言1.1 編制目的該文檔為選用Appium作為行動裝置原生(Native)、混合(Hybrid)、移動Web(Mobile Web)應用UI自動化測試的相關自動化測試人員、開發人員等提供參考。1.2 預期讀者自動化測試人員、測試代表、開發人員等。
  • Appium自動化測試環境搭建
    >」進行關注,微信公眾號TestMadman前言Appium是一個開源的自動化測試框架,支持跨平臺,支持多種程式語言,可用於原生,混合和移動web應用程式,使用webdriver驅動ios,android應用程式、那麼為了學習app自動化測試首要任務肯定就是搭建測試開發環境, 因此在這裡記一次搭建Appium自動化測試環境的完整過程
  • 一套完整的Appium自動化測試環境搭建過程
    Appium是一個開源的自動化測試框架,支持跨平臺,支持多種程式語言,可用於原生,混合和移動web應用程式,使用webdriver驅動ios,android應用程式、那麼為了學習app自動化測試首要任務肯定就是搭建測試開發環境, 因此在這裡記一次搭建Appium自動化測試環境的完整過程,文章較長,需要花費一定的時間,請耐心閱讀,如果文中有什麼錯誤請指正。
  • 記一次搭建Appium自動化測試環境的完整過程
    Appium是一個開源的自動化測試框架,支持跨平臺,支持多種程式語言,可用於原生,混合和移動web應用程式,使用webdriver驅動ios,android
  • Appium界面自動化測試(11)(iOS/Python):詳解應用程式操作
    上一節中,筆者首先安裝了被測應用程式到被測設備中,然後進行自動化測試,但實際項目中往往需要自動化測試腳本自己安裝被測應用程式。
  • APP自動化測試系列之Appium介紹及運行原理
    Appium介紹Appium是一個開源測試自動化框架,可用於原生,混合和移動Web應用程式測試。它使用WebDriver協議驅動IOS,Android和Windows應用程式。Appium是開源的移動端自動化測試框架;Appium可以測試原生的、混合的、以及移動端的web項目;Appium可以測試IOS,Android應用;Appium是跨平臺的,可以用在osx,windows以及linux桌面系統上;Appium支持Ruby、Python、Java、JavaScript、Objective C、php
  • Python Appium開啟Android測試之路
    driver.find_element_by_ios_uiautomation()  (第三個是ios的專用的)  3.2、下面一一舉例進行介紹  3.2.1、元素定位本篇主要介紹如何使用uiautomatorviewer,通過定位到頁面上的元素,然後進行相應的點擊等操作.
  • Appium+python自動化8-Appium Python API(上)
    重置應用(類似刪除應用數據)用法 driver.reset()14. hide_keyboardhide_keyboard(self, key_name=None, key=None, strategy=None):Hides the software keyboard on the device.
  • 全網最全最細的appium自動化測試環境搭建教程以及appium工作原理
    appium 自動化測試是很早之前做的,一直想留下點什麼,可是一直抽不出一塊完整的時間來做這件事兒。現在終於有了。反觀各種網際網路的招聘,移動測試已經成了主流,如果再不去學習移動自動化測試技術將已經追不上時代的趕腳!好了,廢話不多說,進入正題!二、Appium簡介
  • Appium 1.18.1 發布,移動應用自動化測試工具
    Appium 是一個開源、跨平臺的自動化測試工具,最初主要用於測試原生和輕量移動應用,包括 iOS 和 Android ,目前還支持對 Windows 平臺上的應用的自動化測試。
  • 測試 | 如何用 Python 測試 Android 應用
    /p/8486863.html介紹uiautomator2 是一個可以使用Python對Android設備進行UI自動化的庫。其底層基於Google uiautomator,Google提供的uiautomator庫可以獲取屏幕上任意一個APP的任意一個控制項屬性,並對其進行任意操作,但有兩個缺點:1、測試腳本只能使用Java語言。2、測試腳本必須每次被上傳到設備上運行。 我們希望測試能夠用一個更腳本化的語言,例如Python編寫,同時可以每次所見即所得地修改測試、運行測試。
  • Windows-UI自動化:如何選擇合適的測試框架
    相信只要了解過一點UI自動化測試的朋友,一定不會對Appium感到陌生。作為移動端UI自動化界的元老和王者,appium幾乎是所有UI自動化測試和UI自動化框架嵌套的首選。那麼這位老牌選手在Windows UI自動化測試上表現如何呢?官網文檔說明:http://appium.io/docs/en/drivers/windows/【簡單原理】基於屬性定位進行腳本編寫,通過埠連接WebDriverAgent驅動微軟自身的WinAppDriver,對於本機App進行佔用和操作。
  • 同時連接多臺手機,使用appium實現app自動化測試
    同時連接多臺手機,使用appium實現app自動化測試使用appium可以實現app自動化測試,我們之前是連接一臺手機去運行,如何同時連接多臺手機呢?很多人可能想到的是多線程(threading)。環境準備appium的安裝:adt,nodejs,appium的python庫,appium serverpytest的安裝:pytestallure的安裝:allure的python庫pytest-allure-adaptor
  • ​序|自動化測試概述
    Robot Framework: 一款開源的自動化測試框架,具有很好的可擴展性。框架用python編寫,同時也提供跨平臺支持。Postman:簡單方便且功能強大的接口調試工具,API調試首選。UI層自動化基於UI層的自動化測試框架要複雜很多,從平臺種類來講,有Windows,Linux,Android,Ios,Web,還有最新的小程序等等,下面會簡單的和大家捋一遍主流UI層自動化框架的原理、架構以及跨平臺能力。AppiumAppium是一款開源的自動化測試工具,支持IOS、Android、Windows和Mac應用。
  • Android常用6種自動化測試框架對比?
    隨著移動終端的普及,手機應用越來越多,也越來越重要。App的回歸測試用例數量也越來越多,全量回歸也越來越消耗時間。為了擺脫這些,需要引進一些自動化測試來協助我們。趁現在有空我來總結下,Android常用的幾種自動化測試框架的異同,使測試人員在選擇自動化框架時有所參考!
  • Android + Appium 環境搭建
    -h4.根目錄下的SDK Manager,可以安裝tools和各種模擬器。Tools , SDK Platform-tools(最高版本的API,可以向下兼容) ,  SDK Build-tools 5.adb和aapt的路徑都放到環境變量裡(path路徑)6.ADB和Emulator(安卓模擬器)環境配置:都在Android_SDK中ADB路徑:D:\soft download\Android SDK\android-sdk_r24.4.1
  • Appium自身非必現bug影響自動化測試正常運行?Try-Catch幫您解決
    在進行軟體UI自動化測試的時候,經常會出現非被測軟體bug導致的測試執行失敗,常見原因包括:測試腳本的問題、網絡問題、產品UI的變更等等。還有一種情況是測試工具自身的bug,特別是偶現的bug並且開源的自動化測試工具還沒有修復該bug的時候,我們關心的是如何繞過這個已知bug繼續使用appium進行其他場景的自動化測試,本文通過一個實例進行分析,分兩步闡述一、第一步-----------使用appium測試抖音軟體目標
  • APP UI自動化測試思路總結
    接下來,一起總結一下APP UI自動化測試的思路吧。一,開發語言選擇通常用於自動化測試的程式語言有:Python、Java、Javascript、Ruby、C#、PHP等。一般我們會選擇自己熟悉的程式語言來編寫自動化腳本,但對於編程基礎基本為0的童鞋(或者專注於做自動化測試的童鞋),推薦學習使用Python。
  • 移動APP自動化測試框架對比
    從分層測試的角度,自動化測試應該逐層進行。最大量實現自動化測試的應該是單元測試,最容易實現也最容易在早期發現問題;其次是接口級測試,以驗證邏輯為目的進行自動化,由於接口的相對穩定,自動化測試成本相對也可以接受;自動化成本最大的便是UI級自動化測試,然而UI界面是直接反饋給用戶的效果展示,適度的尤其是BVT級的自動化測試也是非常必要的。
  • 輔助程序實現黑盒自動化測試的常見問題
    本文介紹如何搭建輔助程序和如何利用輔助程序進行黑盒測試。並總結了利用輔助程序執行黑盒測試遇到的問題,並在文末總結了各測試方案的應用場景。輔助程序實現黑盒自動化測試的特點輔助功能相較於測試框架在部分場景下有一定的優勢,可以做更多場景的測試:1.