游戏测试 【测试工具】日志分析器

特尔斯特 · 2021年03月04日 · 最后由 特尔斯特 回复于 2021年03月17日 · 860 次阅读

情景:测试过程中少不了查看日志,从中得到数据进行分析和测试,之前都是把 log 拷过来再搜索关键信息进行分析,不是很方便,所以用 python tkinter 结合正在表达式做了个工具。
效果:
先在游戏项目对应的代码中插入打印,格式是这样 “ 攻击者=*** ...... 受击者=**** .... 最终伤害 ”

1.如果我想看 c_tujiu(秃鹫)的属性变化,只需要输入


2.如果我想看这个怪物或英雄受击的情况只需要在下面输入对应的名字

3.如果我想看 A 攻击 B 的具体情况,只需要上面输入 A 的名字下面输入 B 的名字(比如秃鹫攻击亡灵塔)

4.如果觉得属性太多太长,勾选 “仅显示攻击者/受击者名称” 就可以只显示名字方便查阅

5.对比池其实就是一个复制粘贴的区域,用来对比分析。比如戴个装备前搜索数据后复制到这里,再戴装备后再复制就可以轻松对比属性变化。

6.这个搜索框可以直接输入想要查询的内容支持正则表达式,不仅仅是战斗日志的相关内容,只要是在 Editor.log 中的日志都可以搜索查询。

比如想搜索所有的 Lua 报错,输入关键字查询即可

再比如想看所有的前后端消息 ,输入 send msg|receive msg

有了这个工具,属性的变化分析、伤害的计算核对、技能释放序列、装备的实际效果测试都很方便。

共收到 7 条回复 时间 点赞

没写完?

???

有得代码分享吗

不用这么麻烦的,linux 我直接 tail 搞定,windows 我用 BareTail 工具。
tail 和 BareTail 都支持高亮文字的,你这个工具其实也非常建议加入文字高亮功能,没高亮是我用的话会挺难受的

#变动指定文本的颜色
def search(text_widget, keyword, tag):
    pos = '1.0'
    while True:
        idx = text_widget.search(keyword, pos, stopindex=END)
        print(idx)
        if not idx:
            break
        pos = '{}+{}c'.format(idx, len(keyword))
        text_widget.tag_add(tag, idx, pos)
        print(tag,idx,pos)
T1 = scrolledtext.ScrolledText(top, width=70, height=30, font=("隶书", 10),)
search(T1, content, "红色")

# 效果图如下

陈随想 回复

这里写的内容是搜索过了的,Editor.log 里面的东西一大堆。做这个方便策划和其他不懂代码的测试组员使用。你这个文字高亮效果不错,后面可以添加。

请问是用正则来实现吗

核心部分,是的

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册