測試工程師必須要學會的APP UI 自動化都在這裡了!

2021-02-16 凡貓軟體測試

點擊上方藍字「凡貓軟體測試「關注我,每晚準時推送。

首先想要說明一下,APP自動化測試可能很多公司不用,但也是大部分自動化測試工程師、高級測試工程師崗位招聘信息上要求的,所以為了更好的待遇,我們還是需要花時間去掌握的,畢竟誰也不會跟錢過不去。

接下來,一起總結一下APP UI自動化測試的思路吧。

通常用於自動化測試的程式語言有:Python、Java、Javascript、Ruby、C#、PHP等。一般我們會選擇自己熟悉的程式語言來編寫自動化腳本,但對於編程基礎基本為0的童鞋(或者專注於做自動化測試的童鞋),推薦學習使用Python。

相對於其他語言,Python做自動化測試有以下優點:

選擇編開發語言之後,我們需要選擇UI測試框架。目前較為主流或者使用較多的APP UI自動化測試框架有Appium、Airtest等。

1、Appium


開源

Appium server支持在Windows、macOS、Linux上運行

支持多種主流程式語言,如Python、Java、Javascript、Ruby等

支持Android、ios、H5自動化測試(集成了UiAutomator、UiAutomation框架)

環境搭建較為複雜

2、Airtest


由網易開發(官方文檔),只支持python語言

提供集成Airtest與Poco兩個測試框架的強大的IDE,對新手很友好

集成基於圖像識別的UI自動化測試框架airtest,即使不懂代碼也能編寫自動化腳本

跨平臺,可對Windows、Android和iOS應用軟體進行自動化測試

對遊戲測試較為友好

Airtest與Poco本質上是python的兩個第三方庫,測試環境搭建沒有Appium那麼複雜

3、選擇框架


根據實際情況選擇合適的框架。

以下情況可以優先選擇網易的Airtest :


以下情況建議選擇Appium:


區別於上面所說的UI測試框架,單元測試框架用於加載測試用例、執行測試用例、斷言、輸出測試結果等。

不同的開發語言有各自對應的單元測試框架,如Java有JUnit、TestNG、Robot等,Python有unittest、pytest等。這裡只針對Python單元測試框架做說明。

python主流的單元測試框架:

強烈推薦使用pytest,功能強大且容易上手,官方文檔為英文,中文可參考Pytest 使用手冊。



1,測試電腦選擇


有條件的話建議使用Mac機器專門用於UI自動化測試,因為ios app ui自動化只能在Mac機器上進行。

2,測試手機選擇


剛開始進行測試腳本調試時可以選擇模擬器,Android模擬器可選擇Gernymotion、夜神模擬器

待整個測試項目開發完成後,建議換成真機跑自動化腳本,這樣更接近真實的用戶使用場景。

3,開發語言環境


建議安裝python 3以上的版本,官方已經停止對python2版本的更新維護。

4,UI自動化測試框架環境搭建


windows環境下搭建Appium請參考appium環境搭建,Mac下搭建Appium稍微複雜點

若選擇Airtest框架的話,請參考官網。

1,編寫測試demo


為了驗證整個測試環境是否搭建成功、是否能跑通用例,一般我們需要先編寫簡單的測試腳本並執行,通過則說明整個環境搭建成功。

2,確定目錄結構


推薦使用Page Object設計模式來開發APP UI自動化測試項目

3,選擇測試報告


不同的開發語言、不同的單元測試框架可選用不同的測試報告。在python中,unittest框架使用HTMLTestRunner或BSTestrunner生成測試報告

Pytest框架使用pytest-html生成報告或通過allure定製測試報告。

以上步驟完成後,繼續往測試項目裡新增測試用例便可。

根據上述步驟編寫完成整個app UI自動化測試項目,且運行一段時間穩定後,就可以考慮進行Jenkins的集成。

總結APP UI自動化可使用以下幾種實現方式:

1、python + appium + unittest + HTMLTestRunner

2、python + appium + pytest + pytest-html / allure


3、python + Airtest(AirtestIDE)


4、python + Poco + pytest + pytest-html / allure

可根據實際情況自行選擇。


相關焦點

  • APP UI自動化測試,思路全總結在這裡了
    首先想要說明一下,APP自動化測試可能很多公司不用,但也是大部分自動化測試工程師、高級測試工程師崗位招聘信息上要求的,所以為了更好的待遇,我們還是需要花時間去掌握的,畢竟誰也不會跟錢過不去。接下來,一起總結一下APP UI自動化測試的思路吧。通常用於自動化測試的程式語言有:Python、Java、Javascript、Ruby、C#、PHP等。
  • APP UI自動化測試思路總結
    首先想要說明一下,APP自動化測試可能很多公司不用,但也是大部分自動化測試工程師、高級測試工程師崗位招聘信息上要求的,所以為了更好的待遇,我們還是需要花時間去掌握的
  • Windows-UI自動化:如何選擇合適的測試框架
    相信只要了解過一點UI自動化測試的朋友,一定不會對Appium感到陌生。作為移動端UI自動化界的元老和王者,appium幾乎是所有UI自動化測試和UI自動化框架嵌套的首選。【缺點】基於移動端ui測試改造,可能因此對於QT應用的的ID識別較差;accecibility_id 理論上支持 autoid定位,但是由於qt的id過長所以支持能力很差,無法找到對應控制項。
  • 移動APP自動化測試框架對比
    從分層測試的角度,自動化測試應該逐層進行。最大量實現自動化測試的應該是單元測試,最容易實現也最容易在早期發現問題;其次是接口級測試,以驗證邏輯為目的進行自動化,由於接口的相對穩定,自動化測試成本相對也可以接受;自動化成本最大的便是UI級自動化測試,然而UI界面是直接反饋給用戶的效果展示,適度的尤其是BVT級的自動化測試也是非常必要的。
  • Android APP自動化測試框架實戰
    1、為什麼需要使用框架實現自動化測試  作為測試工程師,可能在代碼能力上相比開發工程師要弱一點
  • 自動化測試學習路線
    想必每一個大神,都是從小白一步步走上來的。當然呢,我很能理解小白的想法,因為平時經常和一些剛入門自動化測試的同行交流,也很深入的了解到他們的一些困惑。大部分小白想的無非是以下幾點問題:1.自動化測試好學嗎?2.不學/不寫代碼能做自動化測試嗎?3.怎樣學習自動化測試?4.學自動化測試要先學習哪個方向?學ui自動化?還是接口自動化?
  • 如何成為軟體自動化測試工程師
    由於,崗位需求量大,薪資高的特點,軟體自動化測試工程師已經是當下最熱門的職業之一。如何成為軟體自動化測試工程師呢?只要學習和掌握了相關的技能,就可以成為軟體自動化測試工程師。那麼,具體需要掌握哪些技能呢?不同類型的軟體自動化測試,對於崗位所需的技能要求各不相同。
  • uiautomator2+python自動化測試1-環境準備
    前言uiautomator是Google提供的用來做安卓自動化測試的一個Java庫。功能很強,可以對第三方App進行測試,獲取屏幕上任意一個APP的任意一個控制項屬性,並對其進行任意操作,但有兩個缺點:測試腳本只能使用Java語言測試腳本必須每次被上傳到設備上運行。
  • 有了這一款自動化測試神器,還寫啥代碼呢?!
    在軟體測試這條道路上,大部分的職業技能發展道路都會是功能測試→自動化測試→性能測試→安全測試/測試開發
  • Appium 必須掌握的移動端自動化測試框架
    移動應用在企業中的地位越來越重要,為了更好將產品推向市場,企業對移動軟體測試的要求越來越高,為了完成大量的高強度移動端的測試需求,掌握高校的移動自動化測試工具則成為每一個軟體測試工程師必備的要求。這裡為大家詳細介紹一下Appium——一款軟體測試工程師必須掌握的開源測試自動化框架。
  • [上海] 米哈遊招測試開發工程師、遊戲測試工程師、web/app 測試工程師
    那個男人鎮樓~測試開發工程師崗位描述1、負責業務系統的測試工作,改進現有測試中的不足;2、負責自動化用例建設,提升項目測試自動化程度;3、負責測試相關工具或平臺開發,提升測試效率及平臺化程度崗位要求:1、3年以上工作經驗;2、本科及以上學歷;3、有移動端/web端、接口測試、性能測試經驗;4、能獨立完成安排的測試工作;5、熟練使用jmeter、postman、charles等工具;6、有操作linux、mysql、redis經驗;7、項目經驗有社區類app、webview活動類
  • 成為優秀自動化測試工程師的7個步驟
    「測試自動化測試工程師可以將你從充滿代碼的世界中拯救出來。」
  • 泰康在線--自動化測試工程師
    公司名稱:泰康在線財產保險股份有限公司招聘職位:自動化測試工程師職位年薪:24-40K學歷要求:本科以上經驗要求:7年以上郵箱投遞地址:2099724670@qq.com工作地址:北京>工作職責: 1.根據公司產品分析設計自動化測試方案,制定自動化測試計劃; 2.管理自動化測試團隊,負責本公司自動化測試框架的研發和自動化測試的正常進行;3.搭建配置Web/Android/IOS/接口產品的自動化測試環境,錄製、編寫、維護自動化程序腳本,執行自動化測試並報告問題;
  • UI自動化測試框架
    本篇要講的是Android自動化測試框架UiAutomator。
  • 全網最全最細的appium自動化測試環境搭建教程以及appium工作原理
    一、前言對於appium自動化測試環境的搭建我相信90%的自學者都是在痛苦中掙扎
  • 開發app都要注意哪些問題,西安app軟體開發公司
    現在很多企業都有開發app的需求,只不過需求都不太一樣,前段時間有個客戶就向西安青雲在線諮詢一個查詢的app怎麼收費,主要用途就是用戶企業的倉庫產品管理等。不同客戶開發app的需求不同,所以在開發的時候,選擇的埠也都不同。
  • 我從功能測試進階到自動化測試工程師的經驗總結~|Atstudy
    隨著測試行業的發展,「會代碼」越來越成為測試工程師的一個標籤。打開各大招聘網站,測試工程師月薪一萬以上基本都有一個必備技能,那就是自動化測試。那麼自動化測試到底難不難呢?下面我將會將我的經歷講給大家聽,希望聽完後,大家會有自己的一個判斷。  大家好,我是軟體測試汪。不知不覺,入行軟體測試也有小5個年頭。待過創業公司也待過上市公司。
  • 測試工程師的項目經驗怎麼寫?
    作為三年左右的測試工程師,簡歷上有五六個項目經歷很正常,那如何設計這幾個項目,其實設計好三兩個就行,面試官能關注到的也只有最新的三兩個,兩年前的項目也沒有關注的必要啦,所以在這兩三個項目中一定要體現你絕大部分的能力,一般我們採用逆序排列項目,即最新的項目應該放在最前面,以便面試官查閱
  • Appium自動化測試環境搭建
    這裡有愛,有分享,有工程師們的成長日記,點藍字「軟體測試面試匯總
  • 汽車之家--自動化測試工程師
    公司名稱:汽車之家招聘職位:自動化測試工程師學歷要求:本科以上經驗要求:3-5年工作地點:北京中關村職位薪資:15-25,年底16薪簡歷投遞郵箱:lishuangqing@autohome.com.cn