游戲測試Python入門練習題

不少游戲測試同學在初學Python,掌握基礎的語法,具備一定的編程能力后,不知道如何應用到工作當中,所以建立了 python-practice-for-game-tester 這個項目,整理了一些和游戲測試有關的Python入門練習題。

題目清單

  • GM指令模版解析
  • 命令行工具
  • 安卓APK安裝器
  • 安卓截圖工具
  • 安卓CPU,內存監控工具
  • PC游戲客戶端Monkey測試工具
  • 快速生成獎勵配置
  • Excel配置表檢查工具
  • 配置表關鍵字搜索
  • 內網APK包下載網頁

建議使用Py3.6以上版本,IDE推薦Pycharm


001-GM指令模版解析

add_item item_id, num 是增加指定道具的GM指令,如果我們想增加1001~1003這幾個道具各10個,需要這么執行3次,如果要加大量的道具,那執行的次數就更多了

add_item 1001,10
add_item 1002,10
add_item 1003,10

為了提升效率,設計GM指令模版,需要滿足以下幾種形式

add_item {{1001 to 1003}},10
解析為:
add_item 1001,10
add_item 1002,10
add_item 1003,10

add_item {{1001,1003,1006}},10
解析為:
add_item 1001,10
add_item 1003,10
add_item 1006,10

add_item {{1001 to 1005 not 1002,1003}},10
解析為:
add_item 1001,10
add_item 1004,10
add_item 1005,10

002-命令行工具

制作一個命令行工具,將常見的工作輔助腳本整合起來,需要包括的功能有

  • SVN更新指定目錄
  • SVN還原指定目錄
  • 啟動游戲客戶端
  • 打開指定文件夾
這幾個功能都可以通過Python調用CMD來實現,如os.system, os.popen, subprocess.Popen等

參考界面效果,使用prettytable

003-安卓APK安裝器

遍歷文件夾,獲取全部的APK文件,依次調用adb install命令安裝到測試機中

遍歷可以使用 os.walk 函數

004-安卓截圖工具

通過adb,對當前安卓界面進行截圖,支持 adb screencap 和 minicap 兩個方式,截圖后導出截圖文件到指定文件夾,支持使用pillow庫對截圖文件的尺寸進行壓縮

minicap是STF的一個工具,截圖速度是screencap方式的幾十倍,官方定義是:Stream real-time screen capture data out of Android devices。

005-安卓CPU,內存監控工具

通過adb命令,獲取APP的CPU和內存占用,使用pyecharts庫,生成測試結果圖表

獲取內存占用:
adb shell dumpsys meminfo package_name

獲取CPU占用:
adb shell cat /proc/pid/stat

006-PC游戲客戶端Monkey測試工具

制作一個PC游戲游戲客戶端可用的Monkey測試工具,功能上模擬adb monkey,支持單擊,雙擊,長按,拖動等操作,可配置各操作的百分比

可以試試 PyAutoGUI 這個庫

007-快速生成獎勵配置

讀取下圖的獎勵配置Excel文件

解析為下邊的Lua格式,reward_type固定為REWARD_TYPE_ITEM,并保存到reward.lua文件中

{
    [1] = {
      [1] = {reward_type = REWARD_TYPE_ITEM, item_type = 2001, item_count = 80,},
      [2] = {reward_type = REWARD_TYPE_ITEM, item_type = 2004, item_count = 80,},
      [3] = {reward_type = REWARD_TYPE_ITEM, item_type = 3001, item_count = 25,},
      [4] = {reward_type = REWARD_TYPE_ITEM, item_type = 6101, item_count = 11,},
    },
    [2] = {
      [1] = {reward_type = REWARD_TYPE_ITEM, item_type = 2001, item_count = 70,},
      [2] = {reward_type = REWARD_TYPE_ITEM, item_type = 2004, item_count = 70,},
      [3] = {reward_type = REWARD_TYPE_ITEM, item_type = 3002, item_count = 20,},
    },
    [3] = {
      [1] = {reward_type = REWARD_TYPE_ITEM, item_type = 2001, item_count = 60,},
      [2] = {reward_type = REWARD_TYPE_ITEM, item_type = 2004, item_count = 60,},
      [3] = {reward_type = REWARD_TYPE_ITEM, item_type = 3003, item_count = 15,},
      [4] = {reward_type = REWARD_TYPE_ITEM, item_type = 6103, item_count = 13,},
    },
}

008-Excel配置表檢查工具

讀取策劃配置的Excel數值表,檢查是否有配置錯誤,支持以下檢查方式

  • id列是否存在重復的id,如兩個2001的id
  • id列是否連續,不存在如 1,2,3,4,4,6這樣的錯誤
  • Lua數據列是否存在中文標底符號,如","
  • Lua數據列是否存在不成對的 {} ,如 {{reward_type = REWARD_TYPE_ITEM, item_type = 2001, item_count = 80}

009-配置表關鍵字搜索

根據輸入的關鍵字,在配置表目錄下進行遍歷,講包含該關鍵字的配置表路徑,關鍵字所在行數,及附近幾行的內容打印出來,支持xml,lua,json等文本格式即可

應用場景

策劃:我把配置表里邊的XXX道具全刪了,你看看有沒有漏的
測試:噢,我跑下腳本

010-內網APK包下載網頁

制作一個網頁,網頁會展示已經上傳到網頁目錄下的APK文件,包括文件名字,文件大小,修改日期,下載二維碼,使用手機掃描該二維碼,會觸發下載。

網頁可以基于Flask框架運行,二維碼生成可以使用qrcode庫

完整的項目在Github上,歡迎圍觀和提交練習代碼 python-practice-for-game-tester

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 移動APP測試講義 本篇講義主要闡述APP的手工測試要點,并概括介紹主流的APP測試框架。 1. APP測試的準備...
    厲鉚兄閱讀 9,709評論 6 109
  • Web UI測試自動化 splinter - web UI測試工具,基于selnium封裝。 selenium -...
    Thea0216閱讀 5,963評論 2 48
  • 大家有沒有關注一年一度的時(肉)尚(體)盛宴——維多利亞的秘密大秀呢?我們這種普通人即使看不了現場,也要被滿屏幕的...
    八條魚理財閱讀 391評論 0 1
  • 又到了周六交作業的時間了,總是覺得沒有東西可寫,然后周五的第一反應就想用請假來逃避,我在想是什么原因導致這樣...
    穎卓閱讀 280評論 0 1
  • 林海峰 今天來聊聊秋天,這季節我們該做些什么 一年四季,上天的恩賜,我們要好好享用 進入秋天,我們就不用再把生果當...
    ykxcxlm閱讀 293評論 0 0