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

skyshine · 2020年06月15日 · 最后由 孓晓 回复于 2020年06月18日 · 5195 次阅读

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

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

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

共收到 21 条回复 时间 点赞

那肯定是可以的咯

这不是很简单的事情么

appium?soloπ?、、、

残枫 回复

可以。
那要怎么做呢?

简单,那说说怎么做啊

KillerJiang 回复

不用 appium,它还要连电脑,

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

手机上有 Auto.js 脚本

skyshine 回复

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

skyshine 回复

soloπ了解一下

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

小心公司开除你

回复

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

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

陈恒捷 回复

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

skyshine 回复

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

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

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

按键精灵

陈恒捷 回复

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

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

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

skyshine 回复

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

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

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

陈恒捷 回复

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

skyshine 回复

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

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

回复

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

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