APP自動化:Appium極簡上手
像
Selenium
可以操控Web瀏覽器,手機APP平臺也有類似的自動化測試工具:Appium
;
全文分基礎介紹、環境搭建和案例演示三部分介紹Appium
,以幫助Learner快速的上手。
基礎介紹
Appium是一個開源的自動化測試框架,用於原生,混合和移動Web應用程式。 它使用WebDriver協議驅動iOS,Android和Windows應用程式。關於它的運作流程,用圖來介紹會更加生動形象一些:
Appium執行流程、原理
在上圖中,左邊這部分是Appium-Client
,通俗點來說,是用於間接驅動最右邊的裝置執行預定的自動化測試流程,支援使用多種主流的程式語言進行編寫,這也是測試開發人員需要關注的核心部分;中間的Appium-Server
環境搭建
- NodeJS
Appium是使用nodejs實現的,因此Node是直譯器,首先要確認安裝好
上述的兩種方式都可以搭建Appium-Server
環境,後面演示會基於Appium-Desktop。(PS:下載太慢了?分享個百度網盤)
上述方式可以直接和間接搭建安裝Android
環境,因為後面要用到adb
這個工具,所以需要配置好ANDROID_HOME
這個環境變數。(PS:下載太慢了?分享個百度網盤)
- Appium-Python-Client
後面會用到Python來編寫Appium客戶端:pip install Appium-Python-Client
okay,準備好以上幾個環境後,啟動Appium測試一下:
Appium Desktop Server
Appium Desktop Server
案例演示
下面演示在安卓真機上的自動登入Keep
(APP)。
- 獲取裝置名稱。操作流程:開啟手機的開發和除錯模式,連線電腦授權認證,
Window + R
輸入並執行cmd
,用adb devices -l
檢視:
獲取裝置號
- 啟動Appium Server進行除錯:
Inspector Session
Desired Capabilities
從上圖可以看到,啟動App Session需要有以下幾個引數(點選瞭解更詳細的Appium Desired Capabilities):
platformName
,如Android
、iOS
等deviceName
,參考前面是如何獲取的appPackage
和appActivity
,獲取參考這裡
綜上所述,這裡對應Keep
的資訊如下:
{
"platformName": "Android",
"deviceName": "WAS_AL00",
"appPackage": "com.gotokeep.keep",
"appActivity": "com.gotokeep.keep.splash.SplashActivity"
}
點選Start Session
,之後可以看到手機端啟動了Keep
,並且在Appium Server端中同步展示:
Start Session
Keep
上述的操作通常只是用來方便獲取控制元件id及定位的,下面基於Python編寫完整的Appium-Client
以實現自動登入操作:
from appium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
server = 'http://localhost:4723/wd/hub' # Appium Server, 埠預設為4723
desired_capabilities = {
'platformName': 'Android',
'deviceName': 'WAS_AL00', # 需替換成你的deviceName
'appPackage': 'com.gotokeep.keep',
'appActivity': 'com.gotokeep.keep.splash.SplashActivity'
}
driver = webdriver.Remote(server, desired_capabilities)
wait = WebDriverWait(driver, 10) # 最大查詢等待超時時間:10s
def get_permission():
"""允許APP獲取的某些許可權"""
try:
ask = wait.until(EC.presence_of_element_located((By.ID, 'com.android.packageinstaller:id/do_not_ask_checkbox')))
ask.click()
allow = wait.until(
EC.presence_of_element_located((By.ID, 'com.android.packageinstaller:id/permission_allow_button')))
allow.click()
except:
pass
# 允許兩項授權
get_permission()
get_permission()
# 點選“立即使用”
welcome = wait.until(EC.presence_of_element_located((By.ID, 'com.gotokeep.keep:id/btn_bottom_in_video_welcome')))
welcome.click()
# 切換“密碼登入”(同樣可以使用第三方進行授權登入)
driver.tap([(900, 110)])
# 輸入“手機號”
phone = driver.find_element_by_accessibility_id('Phone Number In Login')
phone.send_keys('13988888888') # 替換成實際的賬號
# 輸入“密碼”
password = driver.find_element_by_accessibility_id('Password In Login')
password.send_keys('123456') # 替換成實際的密碼
# 點選“登入”
login = driver.find_element_by_id('com.gotokeep.keep:id/btn_action')
login.click()
最後,附上執行效果圖:
效果圖
示例原始碼
歡迎關注我的個人公眾號:超級碼里奧
如果這對您有幫助,歡迎點贊和分享,轉載請註明出處
相關推薦
APP自動化:Appium極簡上手
像Selenium可以操控Web瀏覽器,手機APP平臺也有類似的自動化測試工具:Appium; 全文分基礎介紹、環境搭建和案例演示三部分介紹Appium,以幫助Learner快速的上手。 基礎介紹 Appium是一個開源的自動化測試框架,用於原生,混合和移動Web應用
MemCached學習筆記之一: 入門極簡教程
權宣告:本文為博主原創文章,轉載註明出處。歡迎指點評論,技術交流,個人郵箱[email protected] https://blog.csdn.net/kangvcar/article/details/78591899 MemCache 概述 MemCache雖然被稱為”分散式快
從零開始仿寫一個抖音App——基於FFmpeg的極簡視訊播放器
本文發於掘金——何時夕,搬運轉載請註明出處,否則將追究版權責任。交流qq群:859640274 GitHub地址 好久不見,最近加班比較多所以第二篇音視訊方面的文章 delay 了一週,大家多包涵哈。本文預計閱讀時間二十分鐘。 本文分為以下章節,讀者可以按需閱讀 1.FFmpeg原始碼
App自動化測試Appium+Python最新資料
課程目錄:" D5 I4 h8 P. l第一章:App自動化測試概述, y, D6 G& C1 J ~& y0 Y; }第二章:Android系統基礎3 P7 V: p( t5 o5 ]. P& e第三章:測試工具簡介第四章:Appium基礎8 ~4 `; o7
Spring Boot (七): Mybatis極簡配置
Spring Boot (七): Mybatis極簡配置 1. 前言 ORM 框架的目的是簡化程式設計中的資料庫操作,經過這麼多年的發展,基本上活到現在的就剩下兩家了,一個是宣稱可以不用寫 SQL 的 Hibernate ,一個是對 SQL 非常友好的 Mybaties ,,兩者各有特點,在企業級系統開發
App 自動化,Appium 憑什麼使用 UiAutomator2?
![image](https://upload-images.jianshu.io/upload_images/1466987-7448def5b0898c8b?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ## 1\. UiAutomator2 是
Appium移動自動化測試-----AppiumDesktop錄製指令碼生成極簡指令碼
AppiumDesktop啟動頁面: 啟動AppiumDesktop以後點選該頁面右上角的Start New Session按鈕,就會啟動一個新的會話視窗(如下圖),在這個視窗我們需要配置一些Desired Capabilities資訊: platformName:'Android'&nb
app自動化測試環境配置:adb環境配置、monkey環境配置、appium環境配置大全
1. 安裝jdk 安裝參考連結:https://www.cnblogs.com/erweimalaoshi/p/13204509.html 2. 安裝配置Andriod sdk 安裝Andriod sdk前首先需要安裝配置好jdk環境。 然後安裝Android sdk 安裝完成
(轉)APP測試教福利:Appium 國內下載地址(百度雲盤,已更新至 1.3.4.1)
monkey 語言 1.3 更新 follow zha install ast IT 鏈接是Appium相關安裝包下載地址(exe&dmg格式),如需自取:) 最新更新的是: appium-1.3.4.dmg& AppiumForWindows-1.3.4.
app自動化工具:UI Automator viewer工具的相關使用說明
當前 res ide andro ram 有用 oot png 區別 uiautomatorviewer是android SDK自帶的工具,通過截屏並分析XML布局文件的方式,為用戶提供控件信息查看服務。 整個界面分四個區域: (1)工作欄區(上) 共有4個按鈕。從左
Python + Robotframework + Appium 之APP自動化測試小試牛刀(Android)
transform all 分享 直接 round letter 執行 image col Robotframework如何好?這裏先不說了~ Python更不用說了~ Appium前面的文章有介紹~ 今天直接來Python+Robotframework+Appium
python+appium app自動化的方法實例運用
file lee 數據 打印 debug odi pwa 保存 eve # -*- coding: utf-8 -*-import osimport sysimport timeimport unittest from appium import webdriver# fr
appium+python的APP自動化(2)
.exe path 輸入 地址 cat 打開 installer tor sof 上節說到安卓上的測試環境都安裝好了,這個時候要安裝python了 1python的安裝 https://www.python.org/15官網下載python2.7(3.0以上也行,個人愛好)
2星|《極簡主義者的崛起》:數年前的日本時事評論文集
公眾號 一起 餐廳 新的 中一 ec2 處理 事件 興趣 極簡主義者的崛起 作者是暢銷書作家,本書中作者整理了他以前多本書中發明的單詞或概念,並對這些單詞或概念加以闡釋。 主要內容接近於時事評論,看到聽到一個現象,發表一些評論,做一些推測。文中經常用到“
自動化測試 - Appium + Python史上最全最簡環境搭建步驟
一,為什麼是Appium借一張圖: 1.1 Appium優點 l 開源 l 跨架構:NativeApp、Hybird App、Web App l 跨裝置:Android、iOS、Firefox OS l 不依賴原始碼 l
Python + Robotframework + Appium 之APP自動化測試實踐(二)
廢話不多說,直接來實踐(二),本次基於Android手機Settings模組下的search功能進行的自動化測試,程式碼如下 : 1 *** Settings *** 2 Library AppiumLibrary 3 4 *** Variables
極簡版本:五子棋初
#include <iostream> #include <conio.h> void main() { const int w = 20; const int h = 20; int map[w*h]={};//0空子 1黑子 2白子 bool bla
極簡版本:貪吃蛇
#include <iostream> #include <windows.h> void main() { const int w = 20; const int h = 20; const int s = w * h; char map[s] = { }; i
2.5星|《極簡企業史》:資料彙編,一大半內容是相關圖書簡介
確實是非常簡單的改革開放40年以來的企業史,大部分知名企業只是提個名字,極少數做了簡單的介紹。然後就是相關企業的書的簡單介紹。目測介紹書的篇幅超過了一半。 資訊來源像是以吳曉波的幾本商業史為主,書中內容看著都眼熟。跟吳曉波的商業史的缺陷也一樣:內容都是公開資料報道過的,沒有自己主動採訪研究的內容。 書
基於appium的app自動化測試框架
基於appium框架的app自動化測試 App自動化測試主要難點在於環境的搭建,appium完全是基於selenium進行的擴充套件,所以app測試框架也是基於web測試框架開發的 一、裝置連線 (即構建基礎的測試環境,保證可以驅動裝置進行操作) 0.準備測試環境 1)安裝jdk配置java_home環