自动化工具 一款 GUI 测试工具分享 (python3 + tkinter) --- 目的是简化常规的 app 操作

我胖虎不服! · 2021年07月20日 · 最后由 文中 回复于 2021年07月23日 · 1125 次阅读

背景

经常做一些关于 app 的重复操作,如: 查看手机 ip, 导出手机日志, 替换手机中应用的配置文件等等.

应用截图 (界面有点丑,请忽略)

涉及的技术

主要是 python3 的 tkinter 库 (入门很简单) + 常用的 adb 操作 (如查看指定应用的包名, 导入,导出文件,获取设备号, logcat 这些) + pyinstaller 打包操作

注意点: 使用 pyinstaller 打包时,最好是在 python3.6 的环境下打包.因为我一开始在 python3.7 环境打包,一直报 utf-8 编码类型的错误,使用 python3.6 后无此问题
代码中有详细的注释

使用效果

  1. 查看连接手机的 ip 时,可以一键获取 ip,不需要长按 Wlan 来获取了 (此功能需要 root 的手机才可以)

  2. 重启指定的 apk 时,支持一键重启. 不需要手动结束 app 的运行了

3.经常需要用 adb logcat 记录手机的日志,可以点击按钮就开始记录日志,点击按钮结束记录 (日志以时间戳作为文件名,不用每次还得给日志起名字了)

4.可以方便的将特定的外部文件导入到手机里面 + 手机文件导出来 (不用每次都写一遍 adb pull or adb push 了)

5.将 app 的工作路径打出来,需要进入手机目录时,很方便

6.可以一键将 log 文件夹中的日志都删除

代码地址

git@gitee.com:hewenyi666/simple_app_tool.git

欢迎各位老哥提出指导意见~

共收到 13 条回复 时间 点赞

太实用了,感谢,正好需要这么一款工具

2楼 已删除


哈哈,我也有弄。

锅锅的锅 回复

老哥挺巧的啊,hhh.问下,你的这个获取 uid 是什么意思,还有截屏是使用 adb 的截屏命令吗?

放的是内部的 git 地址吧

盗用头像 回复

个人的 gitee 地址,不是公司的

我觉得第 2 行的那个功能是不是可以优化,因为得输入包名才能进行后续操作。最好可以加个方便获取包名的功能

玛雅 回复

批量安装 apk 可以理解,那个批量登录不知道什么意思

所以第一行有个获取当前页面的按钮,能拿到包名

奥奥了解了,我觉得分成 2 个按钮比较好。1 个是获取包名 1 个是获取当前界面的 activity

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