Appium 如何在手机上用 python 操作 app

skyshine · June 15, 2020 · Last by 孓晓 replied at June 18, 2020 · 6207 hits

本来是做测试,但突然公司要下载一个 app,要求每天签到,还要每天答题 (同样的事,一天搞一遍。。真的很烦)
我们是子公司,是总公司要求。好吧。哎

所以我想,可不可能在 手机上 用 python 运行 app,然后自动签到。答题呢?😏
谢谢

不能录制脚本,因为还要答 5 个题(有答案),但答案的顺序不固定,所以录脚本不行

共收到 21 条回复 时间 点赞

那肯定是可以的咯

这不是很简单的事情么

appium?soloπ?、、、

skyshine #4 · June 15, 2020 Author
残枫 #1 回复

可以。
那要怎么做呢?

skyshine #5 · June 15, 2020 Author

简单,那说说怎么做啊

skyshine #6 · June 15, 2020 Author
KillerJiang #3 回复

不用 appium,它还要连电脑,

我想在手机上直接运行 app,自动签到答题。

手机上有 Auto.js 脚本

skyshine #5 回复

楼上也说了,用 solopi 录制脚本定时启动运行了。要么就用 python+ATX,用 WIFI 连接的方式

skyshine #6 回复

soloπ了解一下

写好基本,构建个定位任务就行了!

小心公司开除你

skyshine #12 · June 15, 2020 Author
#11 回复

不会的,那只是总公司要求。对工作内容,业绩什么的都没关系。

其实,可以考虑换个思路,直接抓包拿到所有请求,然后直接搞个脚本重跑这些网络请求就好?

skyshine #14 · June 15, 2020 Author
陈恒捷 #13 回复

用什么思路无所谓。
重点是 在手机上运行,不用电脑 。
设置时间,到点了,手机自动运行 app 签到,答题。

skyshine #14 回复

用手机运行,只是形式吧。最终目的难道不是你不用去特意动手机,就能自动完成签到么?

我的思路是,如果是用网络请求,代码处理起来会简单很多(网络报文本身就是便于程序阅读的),也不依赖手机,公司电脑不关机,定时任务执行就可以。

如果是纯手机运行,solopi 等都可以,具体使用建议可以看下官方的一些文档以及社区的分享。但这些软件我理解比较难做到纯后台定时自动运行(基本上锁屏状态下各个软件能做的事情不多,都被操作系统限制住了)。当然如果你需求只是我把 10 步操作变为一键点击,那这些软件应该可以满足你。

按键精灵

skyshine #17 · June 17, 2020 Author
陈恒捷 #15 回复

solopi 到处都是介绍 录像回放,一机多控 性能测试。我需要获取 控件内容(答案)然后找对应的 ABCD,点击。可以吗?

你说的 “如果是用网络请求,”,怎么回事?
我是手机上的 app。
你的意思 ,在电脑上通过网络请求操作?
完全不用手机启动 app,就依靠网络请求?
怎么做》?

用网络请求 登陆 ,点 我的, 点签到,点考试?之类的操作?

skyshine #17 回复

详细看了下 solopi 的介绍,目前看确实只支持 json 格式,不支持编程语言。

网络请求这个,是这样的,从你的总部来看,他只会看到服务端的数据,不会看到你具体在手机上的操作(如果还做了用户操作埋点那确实能看到)。那手机上的操作,只需要保留和服务端有交互的部分,其实就可以让服务端看起来你 “在手机上操作” 了。那些刷登录量的都是这么弄得,网络请求比 UI 自动化快多了,而且网络格式本身就是适合程序识别的,比 UI 界面要容易做自动化一些。

至于具体用的什么网络请求,需要怎么骗过服务端,就需要你去抓包看看了。

skyshine #19 · June 18, 2020 Author
陈恒捷 #18 回复

哦 你说的就像是以前游戏的 脱机外挂。不用开游戏,直接打开外挂就自己玩了。
不过,就为了答题签到,搞这个有点复杂 了。

skyshine #19 回复

那估计你得想办法找找看有什么软件能满足你的需求了。

UI 自动化目前大部分软件都会依赖 adb ,需要电脑连接。能做到脱离电脑的不多。

#11 回复

我有个同学写了个上下班自动打卡的功能,后来被公司发现,开除了

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up