中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Airtest薅短視頻的羊毛

發布時間:2022-01-04 15:54:22 來源:億速云 閱讀:148 作者:柒染 欄目:大數據

如何使用Airtest薅短視頻的羊毛,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

Airtest是網易出品的一款基于圖像識別和poco控件識別的一款UI自動化測試工具。Airtest的框架是網易團隊自己開發的一個圖像識別框架,這個框架的祖宗就是一種新穎的圖形腳本語言Sikuli。Sikuli這個框架的原理是這樣的,計算機用戶不需要一行行的去寫代碼,而是用屏幕截屏的方式,用截出來的圖形擺列組合成神器的程序,這是Airtest的一部分。
??另外,Airtest也基于poco這個U控件搜索框架,這個框架也是網易自家的跨平臺U測試框架,原理類似于appium,通過控件的名稱,id之類的來定位目標控件,然后調用函數方法,例如click(),swip()之類的方法來對目標控件進行點擊或者是操作。
       我使用Airtest而不適用appium主要是因為Airtest環境搭建非常方便,基本上安裝后就把所有需要的工具都集成了,包括python和adb,Airtest中的Python和本機的Python是不一樣的,所以要在本機運行還需要額外安裝Python庫:pip install poco。因為Airtest是網易開發的,所以擁有比較友好的文檔和教程。
官方文檔
Airtest快速上手教程
airtest-ide教程
airtest教程

這次要寫的一個例子是抖音極速版賺金幣的簡單薅羊毛例子,非常簡單,主要是為了使用Airtest。

 

安裝Airtest

https://airtest.netease.com/
下載對應平臺的安裝包,安裝完后正常啟動即可

如何使用Airtest薅短視頻的羊毛  
 

連接安卓模擬器

如何使用Airtest薅短視頻的羊毛  

打開Airtest,在右側點擊刷新ADB,會出現已經連接到電腦的機器(一定要打開USB調試模式),如果沒有的話,就重啟ADB,再進行刷新。出現連接機器后,在connect后面的下拉列表出現三個選項:Use javacap、Use ADB orientation、Use ADB touch。為了不出現莫名其妙的問題,最好全部選中,然后點擊connect連接,就能顯示出系統桌面。

如何使用Airtest薅短視頻的羊毛  

Airtest在執行的過程中,會向手機安裝幾個軟件:Yosemite(一種輸入法,主要是執行輸入文字)、pocoservice-debug(執行Airtest發來的命令),在連接真機的過程中,報了一個錯誤Failure [INSTALL_FAILED_OLDER_SDK],手機版本太低,不能安裝數據包。我有一個古董機,512運存的,Android版本是4.3,所以測試的時候一定要注意Android版本哦

寫代碼

這一篇我們主要不是講Airtest教程,所以不進行詳細講解。這里我推薦一個非常好的學習網站--嗶哩嗶哩,就是這個二次元編程網站。上面有很多詳細的視頻教程,花一個小時看一下,再把官方教程過一遍,就差不多了。我們就以實例代碼進行簡單講解。
代碼如下:

from airtest.core.api import *
from airtest.cli.parser import cli_setup
from poco.drivers.android.uiautomation import AndroidUiautomationPoco


class DouYin:
    def __init__(self):
        if not cli_setup():
            auto_setup(__file__, logdir=True, devices=[
                "Android://127.0.0.1:5037/emulator-5554?cap_method=JAVACAP&&ori_method=ADBORI&&touch_method=ADBTOUCH"
            ])
        self.poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
        size = self.poco.get_screen_size()
        self.width = size[0]
        self.height = size[1]

    def VisitHome(self):
        self.poco(text="抖音極速版").click()

        # 進入短視頻頁面后,查找推薦元素是否存在
        self.poco(name='com.ss.android.ugc.aweme.lite:id/amh').wait(30)

        # 找到推薦元素表示已經進入首頁,但是視頻加載需要一些時間,這里等待5秒
        sleep(5)

        try:
            # 初次打開可能會出現青少年模式選項
            self.poco(text='我知道了').click()
        except:
            pass

    def LoopMove(self):
        start_pos = (0.5 * self.width, 0.8 * self.height)
        end_pos = (0.5 * self.width, 0.2 * self.height)
        while True:
            # 從底部滑到上面,切換視頻
            swipe(start_pos, end_pos, duration=1)

            # 每個視頻觀看20秒
            sleep(20)


if __name__ == '__main__':
    douyin = DouYin()
    douyin.VisitHome()
    douyin.LoopMove()
 

在使用py腳本運行時,如果是Linux或者macOS的用戶,請注意看運行結果是不是有報錯,提示adb沒有運行權限。

如何使用Airtest薅短視頻的羊毛  

官方文檔已經給我們提示過了

如何使用Airtest薅短視頻的羊毛  
cd /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/airtest/core/android/static/adb/mac
chmod +x adb
 

主要是auto_setup中連接設備的配置,官方文檔中這樣解釋

如何使用Airtest薅短視頻的羊毛  

我們在連接中增加了參數設置cap_method、ori_method、touch_method,分別對應工具上的三個選項,不設置連接會出問題。

get_screen_size獲取屏幕大小,這樣對于不同的設備,不同的分辨率,滑動距離都是一樣的。
poco(text="抖音極速版").click()搜索屏幕上的“抖音極速版”元素,點擊打開。要保證抖音在首頁顯示,如果不在首頁要做滑動處理。
sleep(5)視頻加載需要時間,所以這里我們靜候5秒
swipe(start_pos, end_pos, duration=1)執行滑動操作,設置起點和終點以及滑動時間

然后就可以一直薅羊毛了,各種短視頻都可以,當然安裝完APP后,先手動打開登陸一下軟件更好,這樣我們的自動化操作就不需要做這些步驟了。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

淮阳县| 如皋市| 城口县| 巨鹿县| 五华县| 高台县| 昌图县| 扬州市| 阳原县| 延寿县| 贡山| 宁化县| 宝应县| 昭苏县| 清涧县| 永兴县| 南涧| 西华县| 赫章县| 镇江市| 贵州省| 漠河县| 海口市| 呼图壁县| 吉水县| 定西市| 颍上县| 政和县| 宜阳县| 武夷山市| 防城港市| 茶陵县| 遂川县| 浦江县| 大兴区| 平定县| 马尔康县| 阿克陶县| 瑞丽市| 宁乡县| 深水埗区|