教你用測試的技術玩羊了個羊,如何秒殺一眾好友
發布人:wjy
時間: 2022-09-22 09:56:59 1663811819
最近刷爆朋友圈的羊了個羊,因為其比較簡單的界面、操作和“騷浪賤”的聲音,導致這個游戲的服務器經常處于崩潰狀態。
但是真的很上頭!
今天她突然跑來問我,為啥有人過關20萬次,我怎么就才過去一次也?
乍一聽,我都愣住了:過關20萬次?
就算一分鐘過關一次,一天也才1440次,這得好幾個月啊!所以大概率是刷的吧!然后我就拿出了作為測試工程師的手藝開始試一下:
1、首先啟動我們測試人的抓包神工具——Charles。

當然剛啟動的時候,沒有任何數據可以顯示出來。

因為需要抓取微信小程序的數據,所以需要設置一下網絡代理:通過【Proxy】菜單下面的【Proxy settings】設置代理參數:

打開代理設置界面后,做出如下設置,其實也就是默認就好:

2、設置連接手機進行抓包
將電腦的Charles作為代理服務器,設置手機連接電腦網絡:此處以iPhone手機為例。
在iPhone的設置 -> 無線局域網 -> 局域網信息 -> 配置代理 -> 手動中配置代理,服務器輸入框中填寫Charles所在的電腦的IP地址(我的就是192.168.1.2),端口輸入框中填寫Charles的代理端口(Charles默認就是8888).

設置好了之后,Charles就可以抓取手機上的應用程序的數據包了。
3、啟動羊了個羊微信小程序
進入游戲,然后玩兒一局游戲,然后再進入排名頁面,然后進行數據抓包。

基本上可以抓到如下所示的一些頁面數據:
啟動和登錄游戲:

然后會得到以下的數據:
{"err_code":0,"err_msg":"","data":{"openid":"_0008ITfjXnwxgMbJT0K2RrlkyvqzpcZOl47","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTQ2MjIxODksIm5iZiI6MTY2MzUxOTk4OSwiaWF0IjoxNjYzNTE4MTg5LCJqdGkiOiJDTTpjYXRfbWF0Y2g6bHQxMjM0NTYiLCJvcGVuX2lkIjoiIiwidWlkIjoxMDAwMDEsImRlYnVnIjoiIiwibGFuZyI6IiJ9.ryqijS0H4eviX49tHMJtDL6H9qN1kqgoUr3Z1uN4U5g","uid":100001}}
然后玩兒一局游戲通關的話,可以抓取到如下所示的數據:

可以得到以下的數據:
{"err_code":0,"err_msg":"","data":0}
4、分析接口數據
經過分析啊,我們都知道,這個游戲由2關組成,在開始游戲時會請求每關的基本信息(包括卡牌類型代碼和卡牌組數),然后將3倍卡牌放入一個array中隨機打亂,再放入地圖指定位置,以達到隨機關卡不給活路的目的……
地圖id為80001(第一關)和90016(第二關,每天不同)
所以要想直接直接過關的基本思路就是:
首先,修改第二關的請求響應,將block內容改為和第一關一樣(或改成同一種卡片)
其次,修改第二關的請求響應,將blockTypeData改掉,最終生成了全白的圖片。
再次,獲取t值,直接發送通關請求
最后,無限獲取道具
大家也可以去看一下大神網友提供的比較完整的通關接口文檔和說明:
http://yangyang.apifox.cn/api-40162839
5、下面將以上通關數據使用postman進行測試
將上面得到的通過接口請求數據添加到postman中,并通過一次測試驗證一下:

然后將這個過程使用postman的runner功能進行大批量運行,

最后,利用這個技術,給我老婆刷了一下,刷完之后她查看的羊了個羊朋友圈排名:

上圖是刷新前排名。下面看一下刷新后排名:

呼!終于感覺心情好一點了!
學習更多接口測試技術,請繼續關注哦~
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。