Python自動化收取螞蟻森林能量,不錯過暗戀的她!

最近在家遠程工作,結果作息更混亂了

Python自動化收取螞蟻森林能量,不錯過暗戀的她!

,早上起不來,導致我螞蟻森林能量天天被偷,嚴重影響我沙漠造樹“大業”

Python自動化收取螞蟻森林能量,不錯過暗戀的她!

。於是我決定用python寫個自動偷能量的程序,每天早上定時偷取好友能量,“稱霸”螞蟻森林。


本文僅為自動化測試技術研究,請勿濫用!


一、環境配置


首先需要安裝配置好appium自動化測試工具。appium是一個開源、跨平臺的測試框架,可以用來測試原生及混合的移動端應用,支持IOS、Android及FirefoxOS平臺。大致流程:先在官網(appium.io)下載安裝appium,然後安裝Android SDK(我的方法是安裝Android Studio,在它裡面可以安裝Android SDK),最後再安裝JAVA,並配置JAVA_HOMECLASSPATH兩個參數的環境變量,然後就可以使用appium啦!


二、使用介紹


安裝appium有兩個目的,一是使用python的appium模塊需要先打開appium客戶端,否則無法使用;二是便於我們查找某個app某個界面的元素,初次打開時如圖所示:


Python自動化收取螞蟻森林能量,不錯過暗戀的她!

點擊Start Server v1.8.1

Python自動化收取螞蟻森林能量,不錯過暗戀的她!

點擊搜索圖標


Python自動化收取螞蟻森林能量,不錯過暗戀的她!


配置好4個參數,第一個參數是手機操作系統,第二個參數是手機型號,在設置中可以找到,第三、四參數是app的兩個特定值,點擊start session就可以操控手機了。


Python自動化收取螞蟻森林能量,不錯過暗戀的她!


三、開發步驟


第一步:appium自動化測試app首先需要找到 ‘appPackage’ 和 ‘appActivity’ 兩個參數


這裡給大家介紹一種通用的找手機app這兩個參數的方法:

1. 先找到獲取apk信息工具(android SDK的aapt工具)所在的位置;

2. 下載支付寶app,記住存放位置;

3. 打開命令行,輸入以下信息

Python自動化收取螞蟻森林能量,不錯過暗戀的她!

打碼部分是支付寶app所在的位置


在輸出信息中可以找到‘appPackage’和‘appActivity’的值:

Python自動化收取螞蟻森林能量,不錯過暗戀的她!

Python自動化收取螞蟻森林能量,不錯過暗戀的她!


第二步:打開支付寶,模擬點擊,進入螞蟻森林界面


正常情況下,appium操控打開app時,需要配置一下參數:

Python自動化收取螞蟻森林能量,不錯過暗戀的她!


但是這種配置方式會默認從頭打開app,需要驗證各種信息,而且需要重新登錄,今天教大家如何避免重新登錄,只需添加2個參數就ok:

Python自動化收取螞蟻森林能量,不錯過暗戀的她!

這樣就會避免重新登錄了。


下面就是模擬點擊元素操作了,找app元素的方法如下:

Python自動化收取螞蟻森林能量,不錯過暗戀的她!


只需用客戶端appium打開手機APP,然後將鼠標放在需要點擊的部位,在右側就能找到該部位的元素了。然後依次點擊下圖按鈕:

Python自動化收取螞蟻森林能量,不錯過暗戀的她!

代碼如下:

Python自動化收取螞蟻森林能量,不錯過暗戀的她!

第三步:依次點擊進入好友螞蟻森林主頁

Python自動化收取螞蟻森林能量,不錯過暗戀的她!


如圖所示,我需要點擊一次點擊進入每個好友的主頁,我採取的方式是隻點擊進入第一個框所在的座標,然後模擬向上滑動1個框的高度,這樣依次就可以點擊到每個好友了,代碼如下:

Python自動化收取螞蟻森林能量,不錯過暗戀的她!


需要注意的是,個人的主頁是點不開的,但是不用做相應處理,因為點不進去就會在當前界面進行檢測,判作無能量球,繼續滑動到下一個。


第四步:檢測有無可收取得能量

Python自動化收取螞蟻森林能量,不錯過暗戀的她!


經過分析元素,螞蟻森林主頁可以分為2類情況,第一種是沒有能量球,第二種是有能量球,判斷方法是比較上圖中classname的數量,若大於5則代表有能量球,反之則沒有,代碼如下:

Python自動化收取螞蟻森林能量,不錯過暗戀的她!


然後再進一步分析能力球能否能收取,很簡單,只需要判斷每個classname的text是否含有“能量”這2個字就ok了,因為不可收取的能量球不含這兩個字,代碼如下:

Python自動化收取螞蟻森林能量,不錯過暗戀的她!


為了防止有的能量沒到時間,到最後一個好友時,需要返回頂端重新開始檢測,我採取的方式是連續點擊兩次左上角的返回鍵,然後再重複上述的點擊“查看更多好友”步驟,代碼如下:

Python自動化收取螞蟻森林能量,不錯過暗戀的她!


分享到:


相關文章: