Android自動化測試工具

細解自動化測試工具 Airtest-CSDN博客

以下是幾種常見的Android應用自動化測試工具:

  1. Appium:支持多種編程語言,如Java、Python、Ruby、JavaScript等。可以用于Web應用程序和原生應用程序的自動化測試,并支持iOS和Android平臺。
  2. Espresso:由Google開發的Android UI測試框架,可用于測試應用程序的用戶界面和與用戶的交互。Espresso支持多線程測試、異步UI操作等。
  3. Robot Framework:基于Python編寫的通用自動化測試框架,支持多種應用程序和操作系統,包括Android應用程序。Robot Framework使用關鍵字驅動的方法進行測試,并提供了許多內置庫和插件以擴展測試功能。
  4. UI Automator:由Google開發的Android UI測試框架,可用于跨應用程序測試和針對Android系統UI組件的測試。UI Automator支持多個設備同時進行測試,并提供了一個命令行接口來啟動測試。
  5. Selendroid:用于Android應用程序和混合應用程序的自動化測試框架,在Java客戶端和Selenium 2.0 API上構建。Selendroid支持多種應用程序和設備,并提供了基于HTTP的RESTful API來與測試腳本進行通信。

Appium和Airtest的區別

自動化測試工具——Appium和Airtest的區別_airtest和appium哪個好用-CSDN博客

官網地址:http://airtest.netease.com/

官方文檔:https://airtest.doc.io.netease.com/

簡介:Airtest是一個跨平臺的、基于圖像識別的UI自動化測試框架,適用于游戲和App,支持平臺有Windows、Mac、Android和iOS。

Airtest是一款基于Python的、跨平臺的UI自動化測試工具,支持Android和iOS平臺。

Airtest提供了一個圖形化的界面,可以方便地進行測試腳本的編寫和調試。

Airtest支持多種測試場景,包括UI測試、功能測試、性能測試等。

Airtest免費,可以免費使用。

首推Appium:

推薦理由:功能非常強大的移動端自動化測試框架,還免費
下載鏈接: Appium: Mobile App Automation Made Awesome.

?

移動端自動化測試工具的原理:

通過編程語言和UI交互模擬,來實現自動化測試。并通過元素定位、測試用例管理、并發測試、自動化腳本擴展性和自動化測試集成等功能,來提高測試效率和測試質量。

所以,移動端自動化測試工具通常具備如下功能:

1. 基于編程語言
通過編寫程序來實現自動化測試。通常使用的編程語言有Java、Python、Ruby等。

2. UI交互模擬
模擬用戶與應用程序的交互,包括點擊、輸入、滑動、拖拽等UI操作。

3. 元素定位
通過元素定位來定位應用程序中的控件元素,如:文本框、按鈕、下拉框等。常用的元素定位方法有ID、名稱、標簽、CSS選擇器、XPath等。

4. 測試用例管理
自動化測試工具可以管理和執行測試用例,包括測試用例編寫、執行、管理、報告等。

5. 并發測試
并發執行測試用例,提高測試效率。通過多線程、分布式等技術,可以實現并發測試。

6. 自動化腳本擴展性
自動化測試工具通常具有良好的擴展性和靈活性,可以根據需求添加或修改測試腳本。

7. 自動化測試集成
自動化測試工具可以集成到持續集成/持續交付流程中,實現自動化測試和持續集成的無縫銜接。

Robotium支持多種測試場景,包括UI測試、功能測試等。

Robotium免費,可以免費使用。

作為開源自動化測試工具,Robotium 可能是最靈活的 Android 測試工具。它可以模擬用戶在Android應用程序中的各種操作,例如:點擊按鈕,輸入文本和滾動屏幕等。

它提供了簡單易用的API,可以方便地編寫測試腳本。

Appium元素定位的3大利器

應用UIAutomator Viewer獲取元素信息,

UIAutomator Viewer是Android SDK自帶的用來掃描和分析Android應用中UI控件的工具。在這里小編舉一個實例,結合設備中的計算器應用和UIAutomator Viewer工具向大家演示。

首先啟動Android設備中的計算器應用,再啟動UIAutomator Viewer(這一步依賴于PC端安裝Android SDK),其位置在\Android-sdk\android-sdk-windows\tools,對應的啟動文件為uiautomatorviewer.bat

應用Chrome 瀏覽器ADB插件獲取元素信息

應用Inspector獲得元素信息

除了上述兩種方式,用戶還可通過Appium自帶的Inspector來查找定位元素,這里不再贅述此種方法的定位步驟,代碼實現與上述兩種方式相同。

Appium 和 AirTest 都是針對 APP 的自動化測試工具,都可以進行自動話測試腳本的錄制和回放

?AirTest 最主要的原因是他很容易生成測試腳本,即使測試人員不會編程,不懂腳本,也可以通過正常用戶的點擊拖拽等操作,自動完成腳本的錄制,從而大幅度降低自動化維護成本

打開 AirTestIDE,按照以下步驟進行連接:

1.打開手機設置-開發者選項-USB 調試開關,參考安卓官方文檔

2.在 AirTestIDE 設備面板中點擊 refresh ADB 按鈕,查看連接上的設備;

3.如果沒有顯示出設備,試試 restart ADB,如果還不行,參考FAQ文檔進行問題排查。

4.能夠成功看到設備后,點擊對應設備的 connect 按鈕,進行初始化。

連接成功后,即可在 AirTestIDE 中看到手機屏幕的鏡像顯示,并進行實時操作,如下圖所示:

我們可以先看看如何自動錄制腳本:點擊 AirTestIDE 左側的 AirTest 輔助窗上的“錄制”按鈕,然后隨著你在設備窗口上操作手機,代碼會自動生成在代碼窗口中。

錄制完成后,點擊“運行”,就可以運行你的第一個自動化腳本了。

如果你覺得自動錄制生成的圖標不夠準確,還可以點擊 AirTest 輔助窗上的 touch 按鈕,然后再設備窗口上框選精確的圖標,也可以制動生成一條 touch 語句。

?一、5分鐘上手自動化測試——Airtest+Poco快速上手 - Airtest Project Docs

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/73335.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/73335.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/73335.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Go vs Rust vs C++ vs Python vs Java:誰主后端沉浮

一、核心性能對比(基于TechEmpower基準測試) 語言單核QPS延遲(ms)內存消耗適用場景Rust650,0000.1245MB高頻交易/區塊鏈C++720,0000.0932MB游戲服務器/實時渲染Go230,0000.45110MB微服務/API網關Java180,0001.2450MB企業ERP/銀行系統Python12,0008.5220MBAI接口/快速原型技術…

vue3:八、登錄界面實現-頁面初始搭建、基礎實現

一、初始工作 1、創建登錄文件 在src/views中創建文件LoginView.vue文件 2、創建路由 在router/index.js中增加登錄的信息 代碼 import { createRouter, createWebHistory } from vue-router import HomeView from ../views/HomeView.vue const router createRouter({hist…

結構型模式之適配器模式:讓不兼容的接口兼容

在軟件開發中,經常會遇到這樣一種情況:系統的不同部分需要進行交互,但由于接口不兼容,導致無法直接使用。這時,適配器模式(Adapter Pattern)就能派上用場。適配器模式是設計模式中的結構型模式&…

Qt從入門到入土(十) -數據庫操作--SQLITE

認識 數據庫是用于存儲、管理和檢索數據的系統化集合。它是一種按照特定結構組織數據的存儲方式,通過軟件(數據庫管理系統,DBMS)來實現數據的高效存儲、查詢、更新和管理。通過文件存儲數據適用于少量的數據,而當擁有…

Django REST Framework中的序列化器類和視圖類

序列化器類 一、Serializer序列化類 Serializer是DRF的序列化器基類,提供基本功能,使用Serializer類需要自己定義字段名稱和類型。 BookSerializer(Serializer):name serializers.CharField()price serlializers.IntegerField()date serlializers.…

圖像分類數據集

《動手學深度學習》-3.5-學習筆記 # 通過ToTensor實例將圖像數據從PIL類型變換成32位浮點數格式, # 并除以255使得所有像素的數值均在0~1之間 trans transforms.ToTensor()#用于將圖像數據從 PIL 圖像格式(Python Imaging Library&#xff…

架構師面試(十五):熔斷設計

問題 某電商平臺經常需要在大促運營活動中暫停評論、退款等業務,基于服務治理的設計理念,我們需要對該電商平臺微服務系統的【服務熔斷】進行設計,對此下面描述中說法正確的有哪幾項呢? A. 服務管控系統管理著平臺中所有服務之間…

Ubuntu20.04安裝運行DynaSLAM

目錄 一、安裝Anaconda 二、相關依賴庫安裝 1、boost安裝 2、Eigen 3安裝 3、opencv安裝 4、Pangolin安裝 三、配置Mask_RCNN環境 四、DynaSLAM編譯 五、DynaSLAM運行 一、安裝Anaconda 打開以下鏈接: Index of / 下載和自己系統匹配的安裝包。這里下…

X86 RouterOS 7.18 設置筆記三:防火墻設置(IPV4)

X86 j4125 4網口小主機折騰筆記五:PVE安裝ROS RouterOS X86 RouterOS 7.18 設置筆記一:基礎設置 X86 RouterOS 7.18 設置筆記二:網絡基礎設置(IPV4) X86 RouterOS 7.18 設置筆記三:防火墻設置(IPV4) X86 RouterOS 7.18 設置筆記四…

從 YOLOv1 到 YOLOv2:目標檢測的進化之路

引言 你有沒有想過,當你用手機拍一張照片,里面的人、車、狗是怎么被自動識別出來的?這背后靠的就是目標檢測技術。目標檢測是計算機視覺中的一個重要領域,它不僅要回答“圖片里有什么”,還要告訴你“這些東西在哪里”…

數據的存儲---整型、浮點型

目錄 一、整型在內存中的存儲 1. 原碼、反碼、補碼 2. 大端與小端 二、浮點數在內存中的存儲 1.浮點數的存 2. 浮點數的取 3. 題目解析 一個變量的創建需要在內存中開辟空間,而開辟的空間大小是由數據類型決定的。下面我們就來討論一下整型、浮點型在內存中的…

Java 大視界 -- Java 大數據在智能教育虛擬實驗室建設與實驗數據分析中的應用(132)

💖親愛的朋友們,熱烈歡迎來到 青云交的博客!能與諸位在此相逢,我倍感榮幸。在這飛速更迭的時代,我們都渴望一方心靈凈土,而 我的博客 正是這樣溫暖的所在。這里為你呈上趣味與實用兼具的知識,也…

??Jolt -- 通過JSON配置來處理復雜數據轉換的工具

簡介:一個能夠通過JSON配置(特定的語法)來處理復雜數據轉換的工具。 比如將API響應轉換為內部系統所需的格式,或者處理來自不同來源的數據結構差異。例如,將嵌套的JSON結構扁平化,或者重命名字段&#xff0…

47.全排列 II

47.全排列 II 力扣題目鏈接 給定一個可包含重復數字的序列 nums ,按任意順序 返回所有不重復的全排列。 示例 1: 輸入:nums [1,1,2] 輸出: [[1,1,2],[1,2,1],[2,1,1]]示例 2: 輸入:nums [1,2,3] 輸出…

centos沒有ll

vi /etc/bashrc alias ll‘ls -l’ source /etc/bashrc

04 1個路由器配置一個子網的dhcp服務

前言 這是最近一個朋友的 ensp 相關的問題, 這里來大致了解一下 ensp, 計算機網絡拓撲 相關基礎知識 這里一系列文章, 主要是參照了這位博主的 ensp 專欄 這里 我只是做了一個記錄, 自己實際操作了一遍, 增強了一些 自己的理解 當然 這里僅僅是一個 簡單的示例, 實際場景…

網絡空間安全(31)安全巡檢

一、定義與目的 定義: 安全巡檢是指由專業人員或特定部門負責,對各類設施、設備、環境等進行全面或重點檢查,及時發現潛在的安全隱患或問題。 目的: 預防事故發生:通過定期的安全巡檢,及時發現并解決潛在的…

在IGH ethercat主站中Domain和Entry之間的關系

在 IGH EtherCAT 主站中,“domain”(域)和 “entry”(條目)存在著緊密的關系,具體如下: 數據組織與管理方面:“domain” 是 EtherCAT 主站中用于管理和處理從站配置、數據映射和數據…

信息學奧賽一本通 1449:【例題2】魔板

題目 1449:【例題2】魔板 分析 首先注意:輸入是按順時針給出的,但我們處理時需要按正常順序排,可以用以下代碼讀入 string s(8, 0); // 初始化全零字符串 cin>>s[0]>>s[1]>>s[2]>>s[3]; cin>>…

Unity開發的抖音小游戲接入抖音開放平臺中的流量主(抖音小游戲接入廣告)

前言:作者在進行小游戲審核版本的過程中,碰到了下列問題,所以對這個抖音小游戲接入廣告研究了下。 還有就是作者的TTSDK版本號是6.2.6,使用的Unity版本是Unity2022.3.29f1,最好和作者的兩個版本號保持一致,因為我發現TTSDK舊版的很多函數在新版中就已經無法正常使用了,必…