免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
測(cè)試開發(fā):推薦一款阿里最新 Python 自動(dòng)化開源工具!

干貨技術(shù),第一時(shí)間送達(dá)!

開課通知重磅消息 | 2021年最新全棧測(cè)試開發(fā)實(shí)戰(zhàn)訓(xùn)練營開課了!

大家好,我是麥小米,是狂師老師全棧測(cè)開訓(xùn)練營中的一名學(xué)員。

如果之前做過iOS自動(dòng)化的同學(xué)相信都知道,一直以來,iOS自動(dòng)化的實(shí)現(xiàn)&執(zhí)行都必須依賴 Mac 系統(tǒng),其主要原因是因?yàn)樾枰ㄟ^xcodebuild 編譯&安裝WDA (WebDriverAgent)iOS 設(shè)備中,通過WDA實(shí)現(xiàn)對(duì)被測(cè)應(yīng)用進(jìn)行操作。導(dǎo)致想要做iOS自動(dòng)化 就必須擁有 Mac 設(shè)備的現(xiàn)象。

作為一名測(cè)開新手,在學(xué)習(xí)完移動(dòng)端自動(dòng)化測(cè)試后,興致滿滿要實(shí)踐一番,無奈公司只配備了windows電腦,怎樣進(jìn)行iOS自動(dòng)化測(cè)試成了一大難題,而今天給大家分享一款新面市不久的iOS自動(dòng)化工具:tidevice,正好是彌補(bǔ)了這塊空缺。

一、tidevice介紹

tidevice 是阿里內(nèi)部小組前不久,剛開源的一款針對(duì)用來做iOS自動(dòng)化測(cè)試用途的工具,可用于iOS應(yīng)用的性能采集和UI自動(dòng)化。不依賴Xcodebuild,可以運(yùn)行在Mac,Linux,Windows 上,即使你沒有Mac電腦,也能跑iOS自動(dòng)化。

一句話概況:tidevice它是一款跨平臺(tái)的自動(dòng)化開源工具,不依賴 Xcode 就可以啟動(dòng) WebDriverAgent( WDA ),這也就意味著以后在Windows 可以直接運(yùn)行 iOS 自動(dòng)化腳本了。

項(xiàng)目地址:

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

二、tidevice能些什么?

從上述的介紹中,可以知道tidevice定位就是一款iOS自動(dòng)化測(cè)試工具,主要用途有:

  • iOS UI自動(dòng)化測(cè)試
  • 設(shè)備信息獲取
  • 應(yīng)用安裝、卸載、啟動(dòng)、停止、查看應(yīng)用信息、已安裝應(yīng)用列表
  • 啟動(dòng) WebDriverAgent (不依賴 xcodebuild , 跨平臺(tái))
  • 性能數(shù)據(jù)采集
  • 設(shè)備截圖、設(shè)備日志
  • 等等。。。

三、 tidevice自動(dòng)化環(huán)境準(zhǔn)備

1.安裝tidevice(依賴Python3.6+)

pip3 install -U "tidevice[openssl]" (推薦)
pip3 install -U tidevice (缺少設(shè)備配對(duì)功能)

2.查看是否安裝成功

tidevice -v

3.在設(shè)備上安裝WebDriverAgent

除了上述兩步,要完成 iOS 端的自動(dòng)化,我們還需要做一些準(zhǔn)備工作

  • 3.1 . 下載WebDriverAgent,將 WebDriverAgent 安裝到 iOS 設(shè)備上,通過它驅(qū)動(dòng)手機(jī)進(jìn)行一系列自動(dòng)化操作,由于 Facebook WDA 很長(zhǎng)時(shí)間沒有更新了,這里建議直接使用 Appium WDA
https://github.com/appium/WebDriverAgent
  • 3.2. 切換到WebDriverAgent目錄下,執(zhí)行./Scripts/bootstrap.sh

  • 3.3. 依賴安裝完成后,雙擊WebDriverAgent目錄下的WebDriverAgent.xcodeproj在Xcode中打開

  • 3.4. WebDriverAgent的Bundle Identifier更改為自己命名的Identifier

  • 3.5. WebDriverAgentLib的Bundle Identifier更改為自己命名的Identifier

  • 3.6. WebDriverAgentRunner的Bundle Identifier更改為自己命名的Identifier

  • 3.7.  連接手機(jī),點(diǎn)擊Bulid

  • 3.8. 提示Build Succeeded表示成功,點(diǎn)擊Product-->Test
  • 3.9. 提示Succeeded后打開手機(jī)-通用-設(shè)備管理-點(diǎn)擊信任即可。

四、tidevice常用功能

準(zhǔn)備好上述環(huán)境后,將 iPhone 設(shè)備連接到電腦上,就可以使用 tidevice 提供的功能了

1. 查看已連接設(shè)備列表

tidevice list
# json數(shù)據(jù)顯示
tidevice list --json

由于tidevice 支持的所有cmd命令 都是在 tidevice.main 中定義實(shí)現(xiàn),可以直接與自己的工程代碼集成在一起。

Python代碼:

from tidevice import Usbmux
print(Usbmux().device_list())

利用tidevice info可以查看設(shè)備信息,比如:設(shè)備序列號(hào)、系統(tǒng)版本、CPU、本機(jī)號(hào)碼、時(shí)間戳、藍(lán)牙地址、MAC 地址等信息

2. 查看手機(jī)上安裝的應(yīng)用

tidevice applist

Python代碼:

from tidevice import Device
Instruments = Device("udid").connect_instruments()
# 設(shè)備上全部App信息列表 包含 系統(tǒng)應(yīng)用和插件,通過 Type 可以區(qū)分App
apps = instruments.app_list() 
# 只篩選用戶安裝的App列表
user_app_list = [app for app in apps if app["Type"] == "User"

3. 安裝、卸載應(yīng)用tidevice 支持安裝本地 ipa 包和遠(yuǎn)程包,另外,tidevice 可以使用「 --udid 」參數(shù)將應(yīng)用安裝到某一臺(tái)設(shè)備中

# 安裝本地應(yīng)用
tidevice install test.ipa

# 根據(jù)udid參數(shù),指定設(shè)備安裝應(yīng)用
tidevice --udid $UDID install https://xxx.org/mikezhou.ipa

# 卸載應(yīng)用(通過包名)
# 比如:微信App包名為:com.tencent.xin
tidevice uninstall com.tencent.xin 

Python代碼:

from tidevice import Device
Device("udid").app_install(ipa_url_or_path)

4. 獲取設(shè)備信息

tidevice info

Python代碼:

from tidevice import Device
# 內(nèi)容會(huì)比cmd 全很多, 但是需要理解每個(gè)字段的含義
Device("udid").device_info()

查看設(shè)備電源信息

tidevice info --domain com.apple.mobile.battery --json

可以執(zhí)行 ideviceinfo -h查看都有哪些domain。

5. fps 數(shù)據(jù)采集

tidevice dumpsfps

五、執(zhí)行自動(dòng)化測(cè)試

在執(zhí)行iOS自動(dòng)化測(cè)試之前,首先要提前將 WDA 安裝到 iOS設(shè)備中 并在設(shè)置中信任開發(fā)者,確保WDA可以正常啟動(dòng),并且知道bundleId

1、啟動(dòng)WDA

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

tidevice -u(設(shè)備 udid)wdaproxy -B(wda 的 bundleId) --port 8100
# 只連接了一臺(tái)手機(jī),例如:
tidevice wdaproxy -B com.facebook.WebDriverAgent1.xctrunner --port 8100

當(dāng)看到以下信息表示啟動(dòng)成功

此時(shí)可以訪問http://127.0.0.1:8100/status

2.weditor安裝查看元素工具

# weditor安裝
pip3 install -U weditor
# weditor啟動(dòng)
控制臺(tái)輸入weditor或者python3 -m weditor

3.查看元素

  • Windows: cmd-->ipconfig-->獲取本機(jī)ip,系統(tǒng)選擇iOS,輸入http://本機(jī)ip:8100,點(diǎn)擊Connect

  • Mac電腦:系統(tǒng)選擇iOS, 輸入http://localhost:8100,點(diǎn)擊Connect

  1. 接下來,就可以使用 Appium 或 facebook-wda 編寫腳本并運(yùn)行到 iOS 設(shè)備上了,首先,我們安裝對(duì)應(yīng)的依賴,比如安裝facebook-wda依賴
pip3 install -U facebook-wda

接著,以酷狗App為例,編寫自動(dòng)化腳本并運(yùn)行測(cè)試,代碼如下:

# -*- coding:utf-8 -*-
import wda
import allure

d = wda.USBClient()

class TestDemo:
    def setup(self):
        d.session('com.kugou.kugou1002')

    def test_loginDemo(self):
        with allure.step('點(diǎn)擊我的'):
            d(label='我的').click_exists(10)
        with allure.step('點(diǎn)擊登錄'):
            d.xpath('//*[@label="空列表"]/Other[1]/Button[1]/StaticText[3]').click_exists(10)
        with allure.step('點(diǎn)擊其他登錄方式'):
            d(label="其他登錄方式").click_exists(10)
        with allure.step('輸入賬號(hào)'):
            d.xpath('//*[@label="賬號(hào)"]/following-sibling::*[1]').get(10).set_text('17622222333')
        with allure.step('輸入密碼'):
            d.xpath('//*[@label="密碼"]/following-sibling::*[1]').get(10).set_text('000000')
        with allure.step('點(diǎn)擊登錄'):
            d.xpath('//*[@label="密碼"]/parent::*/parent::*/following-sibling::*[2]').click_exists(10)
        assert d(label="請(qǐng)先勾選頁面下方的“同意《用戶協(xié)議》和《隱私政策》”").wait(10) != None

    def teardown(self):
        d.app_stop('com.kugou.kugou1002')

六、 最后

阿里開源的tidevice這款工具,占用內(nèi)存小,且支持跨平臺(tái),使iOS自動(dòng)化擺脫了Mac的限制,也給iOS自動(dòng)化方案建設(shè)更多的可能性,但由于剛開源不久,可能還存在一些不穩(wěn)定的因素,但這并阻止不了大家嘗鮮的腳步。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
阿里最強(qiáng) Python 自動(dòng)化工具開源了!
非越獄iOS設(shè)備的遠(yuǎn)程控制實(shí)現(xiàn)原理
iOS7獲取設(shè)備UDID、IMEI、ICCID、序列號(hào)、Mac地址等信息
Xcode 6 -從命令行啟動(dòng)模擬器Xcode 6 - Launch simulator from command line
ios 開發(fā)環(huán)境,證書和授權(quán)文件
如何在多臺(tái)機(jī)器上共享IOS證書
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服