偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

阿里最強 Python 自動化工具開源了!

開發(fā) 后端 自動化
阿里內(nèi)部開源了一個 iOS 端由 Python 編寫的自動化工具,即:tidevice。它是一款跨平臺的自動化開源工具。

[[400522]]

 1. 前言

大家好,我是安果!

最近,阿里內(nèi)部開源了一個 iOS 端由 Python 編寫的自動化工具,即:tidevice

它是一款跨平臺的自動化開源工具,不依賴 Xcode 就可以啟動 WebDriverAgent( WDA ),這也就意味著 Windows 可以直接運行 iOS 自動化腳本

項目地址:

https://github.com/alibaba/taobao-iphone-device

2. 準(zhǔn)備

進入到虛擬環(huán)境,先安裝 tidevice 的依賴包 

  1. # 安裝依賴包  
  2. pip3 install -U "tidevice[openssl]"   
  3. # 查看tidevice版本,檢查是否安裝成功  
  4. tidevice version 

3. 常見功能

將 iPhone 設(shè)備連接到電腦上,就可以使用 tidevice 提供的功能了

3-1  查看設(shè)備列表 

  1. # 二選一  
  2. tidevice list  
  3. # json數(shù)據(jù)顯示  
  4. tidevice list --json 

3-2  安裝、卸載應(yīng)用

安裝對應(yīng)的關(guān)鍵字為:「 install 」

tidevice 同時支持安裝本地 ipa 包和遠鏈下的 ipa 應(yīng)用包

另外,tidevice 可以使用「 --udid 」參數(shù)將應(yīng)用安裝到某一臺設(shè)備中 

  1. # 安裝本地應(yīng)用  
  2. tidevice install example.ipa  
  3. # 根據(jù)udid參數(shù),指定設(shè)備安裝應(yīng)用  
  4. tidevice --udid $UDID install https://example.org/example.ipa  
  5. tidevice install https://.....ipa 

卸載對應(yīng)的關(guān)鍵字為:「 uninstall 」

通過應(yīng)用包名可以卸載設(shè)備上的某一個應(yīng)用 

  1. # 卸載應(yīng)用(通過包名)  
  2. # 比如:知識星球App包名為:com.unnoo.quan  
  3. tidevice uninstall com.unnoo.quan 

3-3  啟動、關(guān)閉應(yīng)用

啟動應(yīng)用對應(yīng)的關(guān)鍵字為:「 launch 」

關(guān)閉應(yīng)用對應(yīng)的關(guān)鍵字為:「 kill 」 

  1. # 打開應(yīng)用  
  2. tidevice launch com.unnoo.quan  
  3. # 停止殺死應(yīng)用  
  4. tidevice kill com.unnoo.quan 

3-4  已安裝應(yīng)用及名稱、版本

使用「 tidevice applist 」命令,可以查看設(shè)備上已經(jīng)安裝的應(yīng)用、應(yīng)用名稱、應(yīng)用版本號 

  1. # 查看設(shè)備應(yīng)用信息列表  
  2. localhost:tidevice_demo xingag$ tidevice applist  
  3. com.tencent.xin WeChat 8.0.2  
  4. com.ss.iphone.ugc.Aweme 抖音 13.4.0  
  5. com.tencent.mttlite QQ瀏覽器 10.8.3  
  6. com.panasonic.jp.imageapp Image App 1.10.17  
  7. com.unnoo.quan 知識星球 4.20.2  
  8. co.visualsupply.cam VSCO 189  
  9. com.ucweb.iphone.lowversion UC瀏覽器 13.1.5  
  10. com.niksoftware.snapseedforipad Snapseed 2.19.5  
  11. com.autonavi.amap 高德地圖 10.76.0  
  12. com.lagou.education 拉勾教育 1.4.9  
  13. com.xunmeng.pinduoduo 拼多多 5.37.0  
  14. com.tencent.QQMusic QQ音樂 10.5.5  
  15. io.ideamp.feelcab Feelca B 1.6.0  
  16. com.chinaunicom.mobilebusiness 手機營業(yè)廳 8.00.01  
  17. com.feiyu-tech.vico Vicool 1.2.26  
  18. com.ss.iphone.article.News 今日頭條 7.9.3  
  19. com.sogou.sogouinput 搜狗輸入法 10.18.1  
  20. org.geekbang.GeekTime 極客時間 2.9.2  
  21. com.burbn.hyperlapse Hyperlapse 1.3.4  
  22. com.apple.itunesu iTunes U 3.8 

3-5  設(shè)備信息

利用「 tidevice info 」可以查看設(shè)備信息,比如:設(shè)備序列號、系統(tǒng)版本、CPU、本機號碼、時間戳、藍牙地址、MAC 地址等信息 

  1. # 查看設(shè)備信息  
  2. localhost:~ xingag$ tidevice info  
  3. MarketName:       iPhone SE (1st generation)  
  4. DeviceName:       xingag  
  5. ProductVersion:   14.4  
  6. ProductType:      iPhone8,4  
  7. ModelNumber:      MP892  
  8. SerialNumber:     ...  
  9. CPUArchitecture:  arm64  
  10. ProductName:      iPhone OS  
  11. ProtocolVersion:  2  
  12. RegionInfo:       ZP/A  
  13. TimeIntervalSince1970: 1616979424.235399  
  14. TimeZone:         Asia/Shanghai  
  15. WiFiAddress:      58:e2:8f:68:4c:b0  
  16. BluetoothAddress: 58:e2:8f:68:4c:b1  
  17. BasebandVersion:  10.40.01  
  18. ... 

如果要查看設(shè)備的電池信息,可以使用關(guān)鍵字 「 --domain + 應(yīng)用包名 」來獲取 

  1. # 查看設(shè)備電池信息  
  2. localhost:~ xingag$ tidevice info --domain com.apple.mobile.battery --json  
  3.  
  4.     "BatteryCurrentCapacity": 54,  
  5.     "BatteryIsCharging": true,  
  6.     "ExternalChargeCapable": true,  
  7.     "ExternalConnected": true,  
  8.     "FullyCharged": false,  
  9.     "GasGaugeCapability": true,  
  10.     "HasBattery": true  

3-6  重啟及截圖

重啟對應(yīng)的關(guān)鍵字為:「 reboot 」

截圖對應(yīng)的關(guān)鍵字為:「 screenshot 」 

  1. # 重啟設(shè)備  
  2. tidevice reboot  
  3. # 截圖并保存到文件 screenshot.jpg 中  
  4. tidevice screenshot screenshot.jpg 

3-7  系統(tǒng)日志及更多幫助

查看系統(tǒng)日志的命令為:「 tidevice syslog 」,當(dāng)然也可以配置 grep 參數(shù)進行過濾  

  1. # 查看系統(tǒng)日志  
  2. tidevice syslog  
  3. # 更多幫助  
  4. tidevice -h 

4. 自動化步驟

要完成 iOS 端的自動化,我們還需要做一些準(zhǔn)備工作

4-1 安裝 WDA

我們需要將 WebDriverAgent 安裝到 iOS 設(shè)備上,通過它驅(qū)動手機進行一系列自動化操作

PS:由于 Facebook WDA 很長時間沒有更新了,這里建議直接使用 Appium WDA

https://github.com/appium/WebDriverAgent

下載項目后,使用 Xcode 打開,Scheme 選擇 WebDriverAgentRunner,設(shè)備選擇真機

然后配置開發(fā)者證書,可以參考下面鏈接進行配置

https://testerhome.com/topics/7220

最后,Xcode 選擇 Project 下的 Test 將項目運行到真機設(shè)備上

注意:第一次運行 WDA 可能運行失敗,需要手動在設(shè)置中對證書添加信任

4-2  運行 WDA

真機設(shè)備安裝完 WDA 后,就可以脫離 Mac,使用 Windows 進行自動化操作了

使用「 tidevice wdaproxy 」命令可以運行 WDA 和端口轉(zhuǎn)發(fā) 

  1.  # 運行 WDA  
  2. # 端口轉(zhuǎn)發(fā)到8100  
  3. # 應(yīng)用包名:com.facebook.WebDriverAgentRunner.xingag23.xctrunner  
  4. idevice wdaproxy -B com.facebook.WebDriverAgentRunner.xingag23.xctrunner --port 8100 

PS:由于 Xcode 設(shè)置證書的時候,更改過 bundle_id,所以這里的包名是一個變量

4-3  編寫自動化腳本

接下來,就可以使用 Appium 或 facebook-wda 編寫腳本并運行到 iOS 設(shè)備上了

以 facebook-wda 為例

首先,我們安裝對應(yīng)的依賴 

  1. # 安裝facebook-wda依賴  
  2. pip3 install -U facebook-wda 

接著,編寫自動化腳本并運行測試 

  1. import wda  
  2. import time  
  3. # 連接設(shè)備  
  4. c1 = wda.USBClient()  
  5. c1 = wda.Client("http://10.3.209.175:8100")  
  6. print(c.info)  
  7. # 極客時間  
  8. bundle_id = 'org.geekbang.GeekTime'  
  9. # 通過app的bundleId啟動App  
  10. s = c1.session(bundle_id)  
  11. # 休眠5s  
  12. s.sleep(5)  
  13. # 截圖保存到本地  
  14. c1.screenshot('sc.png')  
  15. # 回到桌面  
  16. s.home() 

5. 最后

阿里這款 iOS 端自動化工具的主要優(yōu)點是啟動速度快,內(nèi)存占用低;更重要的是,它是跨平臺,穩(wěn)定性相對較高 

 

責(zé)任編輯:龐桂玉 來源: 人工智能與大數(shù)據(jù)技術(shù)
相關(guān)推薦

2020-12-08 06:20:00

Python自動化工具開源

2022-07-20 12:18:36

Python自動化工具tox

2015-11-09 10:25:40

自動化工具開源

2024-06-13 12:11:13

2010-12-06 09:56:52

數(shù)據(jù)中心網(wǎng)絡(luò)

2024-03-08 13:11:05

前端自動化工具

2020-03-31 10:58:35

網(wǎng)絡(luò)自動化SD-WAN軟件定義網(wǎng)絡(luò)

2010-05-26 16:21:25

2024-04-08 11:45:11

Pythonpyinfra編程語言

2019-12-10 09:42:58

開源自動化容器

2021-05-08 09:00:53

AI 工具人工智能

2013-12-19 09:56:12

云計算自動化工具云計算管理

2019-09-18 20:39:07

數(shù)據(jù)科學(xué)自動化工具機器學(xué)習(xí)

2021-04-30 13:40:55

Linux自動化工具開源

2019-12-11 11:54:37

IT工具云計算

2010-12-06 09:54:09

網(wǎng)絡(luò)自動化

2021-02-22 18:50:03

Ansible系統(tǒng)運維

2012-04-16 10:12:55

云計算自動化

2020-04-26 15:31:58

DevOps自動化工具

2023-01-07 23:24:00

python格式化工具
點贊
收藏

51CTO技術(shù)棧公眾號