<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
appium是一個開源的測試自動化框架,可以與原生的、混合的和移動的web應用程式一直使用。它使用WebDriver協定驅動IOS(內建的測試引擎xcuitest)、Android(uiautomator2,Espresso)和Windows應用程式
原生應用程式:安卓程式是用JAVA或kotlin開發出來的,這種程式是原生應用程式,原生應用比較流暢,好呼叫,缺點是不同的端需要的開發語言不同
web應用程式:就web應用程式可以直接放到手機端來執行,web是用html+css+js編寫的
混合應用程式:結合原生與web應用程式,有些頁面用原生的,有些頁面使用web應用程式
國內比較出名的框架:
設計哲學:
開啟模擬器,或者連線上手機(注意開發者模式以及USB偵錯模式已經開啟,手機授權要確認,否則是連線不上的)
在命令視窗輸入adb devices(檢視裝置名稱)
開啟appium服務appium使用者端程式碼連線服務
中文設定
除了簡單設定,還有一些高階設定,我們可以看一下
儲存了可以檢視預設,方便以後使用
編輯設定是進入修改環境變數
主機和埠號不需要設定,直接可以開啟伺服器
開啟後,可以看到伺服器執行中,右邊三個按鈕的功能分別是啟動檢查器對談,獲取原始紀錄檔,停止執行伺服器
點選後自動經記事本開啟,如果安裝了其他編輯軟體,可以選擇開啟方式
服務開啟後,就可以使用python來進行使用者端來連線服務
使用前確定已經安裝了,pip install appium-python-client
,安裝後,直接匯入使用
看一下Remote的原始碼
同時appium伺服器端也會顯示500的錯誤
猶豫appium1.20.2版本的,不像之前的版本需要傳入的必須引數多了,現在只需要傳platformName即可,所以具體可以看自己安裝的是什麼版本,不過加上更多引數也不受影響
常用的caps引數:
官網上還有很多用法,感興趣的可以參考一下:
https://appium.io/docs/en/writing-running-appium/caps/
通過adb獲取appPackage和appActivity:
方法一:adb shell am monitor 監控操作(在cmd中執行此命令後,然後在手機上或模擬器上操作對應的app,就會顯示對應的包名)
方法二:adb logcat | findStr -i displayed 從紀錄檔進行查詢包名和頁名稱
通過aapt獲取appPackage和appActivity:
aapt dump badging 全路徑.apk
拿到appPackage和appActivity後,可以使用包名的方式來存取app,程式碼如下:
from appium.webdriver import Remote # 啟動一次請求 # 1.指明需要連線的服務地址和埠號 # 2.You must include a platformName capability caps = {"platformName": "Android", "udid": "emulator-5554", "appPackage": "com.lemon.lemonban", "appActivity": ".activity.WelcomeActivity"} driver = Remote(command_executor='http://127.0.0.1:4723/wd/hub', desired_capabilities=caps)
執行結果:
總結:
在複製appActivity時,注意一定是app的首頁頁面名稱,別複製錯了
adb(Android Debug Bridge)安卓偵錯橋:作用就是操作安卓手機中的app
相關命令:
adb devices 檢視裝置是否連線(可以手動連線 adb connect 127.0.0.1:5554,網上可以搜尋不同模擬器的埠號)
adb shell 登入裝置 (進入手機系統裡面)
adb shell dumpsys activity | find "mFocusedActivity" 檢視前臺應用activity應用名稱(注意一定要開啟了app,再去執行命令,dumpsys下有很多命令,可以檢視幫助檔案進行更多瞭解)
adb install 電腦/包名.apk 安裝軟體
adb uninstall 電腦/包名.apk 制裁軟體
adb pull 手機檔案路徑 電腦檔案路徑 從手機下載/拉檔案電腦端
adb push 電腦檔案路徑 手機檔案路徑 從電腦推播/上傳到手機端
adb shell pm list packages 顯示所有的安裝包名
使用者端通過wd/hub/session傳送請求建立一個對談session
提供了引數就是cpas
伺服器端接收到caps資訊後,檢驗caps引數是否合法
adb install io.setting.appium
判斷有沒有包名
啟動app
獲取作業系統的版本:
adb.exe -P 5037 -s emulator-5554 shell getprop ro.build.version.release
判斷包名是否已經安裝到手機上:
adb.exe -P 5037 -s emulator-5554 shell dumpsys package com.lemon.lemon
啟用app:
adb.exe -P 5037 -s emulator-5554 shell am start -W -n com.lemon.lemonban/.activity.WelcomeActivity -S
到此這篇關於Python與Appium實現手機APP自動化測試的範例程式碼的文章就介紹到這了,更多相關Python與Appium手機APP自動化測試內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45