Appium使用教程
Appium使用教程
- 一、Appium測(cè)試對(duì)象
- 二、Appium介紹
- 1、使用Appium進(jìn)行自動(dòng)化測(cè)試有兩個(gè)好處
- 2、Appium架構(gòu)
- 三、Appium環(huán)境搭建(Android)
- 1、需要準(zhǔn)備
- 2、安裝、配置
- 四、Appium的實(shí)現(xiàn)原理和自動(dòng)化原理
- 1、實(shí)現(xiàn)步驟過程
- 2、自動(dòng)化原理
- 五、Appium的andorid基本架構(gòu)介紹
- 1、常見布局視圖
- 2、基本控件
- 3、控件常見屬性
- 六、Adb命令基礎(chǔ)(之前有寫過一篇關(guān)于adb的文章)
- 1、Adb介紹
- 2、Adb常用命令
- 2.1 開啟/關(guān)閉服務(wù)
- 2.2 連接設(shè)備/獲取連接狀態(tài)(自動(dòng)開啟服務(wù))
- 2.3 安裝/卸載app
- 2.4 上傳/下載文件
- 2.5 Copy
- 2.6 adb shell: 可用于查看設(shè)備中的文件, exit退出
一、Appium測(cè)試對(duì)象
Appium 的測(cè)試對(duì)象包括:原生 app,混合 app,移動(dòng) web app(就是用手機(jī)瀏覽器打開的網(wǎng)址)
二、Appium介紹
Appium是一個(gè)開源的自動(dòng)化測(cè)試工具,其支持iOS和安卓平臺(tái)上的原生的,基于移動(dòng)瀏覽器的,混合的應(yīng)用
1、使用Appium進(jìn)行自動(dòng)化測(cè)試有兩個(gè)好處
Appium在不同平臺(tái)中使用了標(biāo)準(zhǔn)的自動(dòng)化APIs,所以在跨平臺(tái)時(shí),不需要重新編譯或者修改自己的應(yīng)用
Appium支持Selenium WebDriver支持的所有語言,如java、Object-C、JavaScript、Php、Python、Ruby、C#、Clojure,或者Perl語言,更可以使用Selenium WebDriver的Api。Appium支持任何一種測(cè)試框架.Appium實(shí)現(xiàn)了真正的跨平臺(tái)自動(dòng)化測(cè)試
2、Appium架構(gòu)
Appium 是一個(gè)用Node.js編寫的HTTP server,它創(chuàng)建、并管理多個(gè) WebDriver sessions 來和不同平臺(tái)交互,如 iOS ,Android等
Appium 開始一個(gè)測(cè)試后,就會(huì)在被測(cè)設(shè)備(手機(jī))上啟動(dòng)一個(gè) server ,監(jiān)聽來自 Appium server的指令. 每種平臺(tái)像 iOS 和Android都有不同的運(yùn)行、和交互方式。所以Appium會(huì)用某個(gè)樁程序“侵入”該平臺(tái),并接受指令,來完成測(cè)試用例的運(yùn)行
三、Appium環(huán)境搭建(Android)
1、需要準(zhǔn)備
jdk
android SDK
appium
nodejs
appium lib
選擇Python版本的Lib: Appium-Python-Client-0.22.tar.gz
由于Appium依賴于Selemium,所以還要下載 Selemium Lib: selenium-2.53.2.tar.gzhttps://pypi.python.org/pypi/selenium
2、安裝、配置
將上述軟件依次安裝
四、Appium的實(shí)現(xiàn)原理和自動(dòng)化原理
1、實(shí)現(xiàn)步驟過程
2、自動(dòng)化原理
Test script:
這是我們的測(cè)試程序,是測(cè)試邏輯的實(shí)現(xiàn)部分
Appium Server:
這是一個(gè) JavaScript 代碼實(shí)現(xiàn)的程序。是運(yùn)行在 Node.js 里面的
被測(cè)試 app:
運(yùn)行在真實(shí)設(shè)備或者模擬器中
這個(gè)測(cè)試系統(tǒng)運(yùn)行起來交互關(guān)系:測(cè)試程序(Test scrip),告訴 Appium Server 做什么操作。之間有 http 的連接,通過 http 請(qǐng)求發(fā)送命令給 Appium Server ,Appium Server 接收到測(cè)試程序的命令后,再發(fā)出命令給設(shè)備上運(yùn)行的控制程序,控制程序調(diào)用相應(yīng)自動(dòng)化庫里面的方法去執(zhí)行界面的控制
五、Appium的andorid基本架構(gòu)介紹
1、常見布局視圖
線性布局: LinerLayout
相對(duì)布局: RelativeLayout
幀布局: FrameLayout, 疊放
普通視圖: View
切換視圖: ListView, 注意, 其中的元素會(huì)動(dòng)態(tài)變化
HierarchyViewer, uiautomatorviewer
2、基本控件
TextView: 文本
Button: 按鈕
EditText: 輸入框
ImageView: 圖片
其他: Alert(警告框)/Toast(提示消息)/SeekBar(滑塊)/Webview(嵌入網(wǎng)頁)
3、控件常見屬性
index: 索引, 用于排序
text: 控件名稱(顯示文本)
resource-id: 資源id
class: 控件類型(文本/按鈕/輸入框等)
content-desc: 控件描述
package: 所屬包(一個(gè)包就是一個(gè)apk)
enabled: 是否可用
clickable: 是否可點(diǎn)擊
focused: 是否聚焦?fàn)顟B(tài)
bounds: 坐標(biāo)
六、Adb命令基礎(chǔ)(之前有寫過一篇關(guān)于adb的文章)
博客地址 : https://blog.csdn.net/HONGTester/article/details/107693115?spm=1001.2014.3001.5501
1、Adb介紹
Adb(Android Debug Bridge): Andoid設(shè)備調(diào)試橋梁, 可以再PC端通過命令調(diào)試Android設(shè)備, 如獲取設(shè)備狀態(tài), 安裝/卸載app, 上傳/下載文件等操作
2、Adb常用命令
2.1 開啟/關(guān)閉服務(wù)
adb start-server: 開啟服務(wù)
adb kill-server: 關(guān)閉服務(wù)
2.2 連接設(shè)備/獲取連接狀態(tài)(自動(dòng)開啟服務(wù))
adb connect/disconnect 設(shè)備名或uuid: 連接/斷開連接設(shè)備
adb devices: 查看連接的設(shè)備
2.3 安裝/卸載app
adb install 安裝包路徑.apk
adb uninstall apk包名
通過uiautomatorviewer可以獲取獲取apk包名
2.4 上傳/下載文件
上傳: adb push 本地文件 設(shè)備目錄
下載: adb pull 設(shè)備文件 本地目錄
2.5 Copy
adb push 1.txt /sdcard/
adb pull sdcard/1.txt
2.6 adb shell: 可用于查看設(shè)備中的文件, exit退出
pm:
應(yīng)用及權(quán)限管理 adb shell pm list packages
am:
Activity操作 adb shell am start -n 包名/包名.主Activity名
input:
模擬按鍵/輸入
點(diǎn)擊(觸控)指定坐標(biāo):
adb shell input tap 50 250
輸入文字:
adb shell input text hello
按鍵:
adb shell input keyevent 3
滑動(dòng):
adb shell input swipe 300 1000 300 500
logcat:
日志查看及過濾(問題定位)
monkey:
性能/穩(wěn)定性測(cè)試
dumpsys:
性能分析
screencap:
截圖 adb shell screencap -p /sdcard/01.png
screenrecord:
錄屏 adb shell screenrecord --time-limit 10 /sdcard/demo.mp4
總結(jié)
以上是生活随笔為你收集整理的Appium使用教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu安装pytorch镜像修改及
- 下一篇: BUUOJ reverse 刮开有奖