在多台终端设备的i茅台应用中,实现同时自动化预约茅台酒的解决方案

 一、想做什么

        在”i茅台”App中可以预约茅台酒,用户早上9-10点预约,晚上6点APP会公布中奖名单。中奖的用户可以收到中奖短信。于是我就在想,有没有什么办法提高中奖概率并降低投入的人力成本。

        提高中奖概率无非就是用多个手机号去登录APP、实名认证、预约。降低人力成本无非就是想办法让手机自动帮我们预约。

二、怎么做

        最初我想的是可以用模拟器多开的方式,在每个模拟器中提前登录好手机号,到时间点了自动跑”按键精灵”的脚本去预约。

        结果到了模拟器上,发现这个APP启动的时候,居然会检测运行环境是否是模拟器。同时,这软件还会检测手机是否被root。后来查了下,APP是通过”顶象”做的加固,还有比较严格的反作弊方式。

在多台终端设备的i茅台应用中,实现同时自动化预约茅台酒的解决方案

        虽然有很多方式能够绕过root检查,但是如果被反作弊盯上了,这个身份证号也就废了。反正家里旧手机多,最终我还是选择在实体机上通过录屏回放实现预约操作。我使用的手机华为Mate 9、荣耀6X、小米9和小米5。我找了一款录屏回放软件,他要求手机的安卓版本是7.0以上(i茅台要求手机版本在6.0以上),正好我的手机都符合。 

三、录制回放时需要注意几个方面

1.确保录制回放时,均是对APP的首页元素进行操作

        有时候回放脚本的时候APP已经处于后台状态,此时进入APP时,打开的可能并不是APP的首页。如果录制脚本时,没有处理这种场景,直接回放脚本,会导致找不到首页的”预约申购”等按钮。

        解决办法:打开APP软件后,先将其退出,并杀掉该APP的进程,然后重新打开APP,这样就能保证第二次打开APP的时候,进入的是APP的首页。

2.页面展示活动广告,导致按钮位置有偏移

        APP经常会开展一些活动,活动一般被展示在页面顶部Banner位置。如果展示了广告,将会导致回放时”预约申购”等按钮的位置和录制时不一样。

        解决办法:进入待操作的页面后,先滑到页面的最下方,然后再向上滑动,反向查找”预约申购”等按钮。APP展示活动内容时,一般展示在页面的顶部。但是我想点击的”预约申购”等按钮和页面最下端的距离是固定的。

在多台终端设备的i茅台应用中,实现同时自动化预约茅台酒的解决方案

3.获取预约结果

        由于我用的是我家人的手机号登录的手机,如果预约成功,APP会给登录的手机号发送一条短信,告诉他们预约成功,为了防止他们漏掉信息。每天晚上7点的时候,我会通过录频软件再登录下APP,去查看是否预约成功,并将预约结果通过QQ发送到我手机上。发送结果时,同样要注意打开QQ软件后,QQ软件是否处于首页。

4.解决手机充电问题

        手机定期运行脚本,注定会存在手机没电的情况。为了不用人工定期的去给手机充电,我买了一个智能插座,智能插座上面插了一个接线板,接线板上连接几个手机充电器,分别插在手机上。然后设置每天早上9点自动打开智能插座,10点关闭,实现9-10点给手机充电。这能能保持手机一直处于有电状态,同时也不会7*24小时给手机充电。

在多台终端设备的i茅台应用中,实现同时自动化预约茅台酒的解决方案

5.自动运行脚本的时候,会遇到需要先解锁屏幕问题。

        在手机开发者模式选项中,可以设置打开手机屏幕后,不需要解锁直接进入系统。在华为和小米系统中,分别是这样显示的:

在多台终端设备的i茅台应用中,实现同时自动化预约茅台酒的解决方案 在多台终端设备的i茅台应用中,实现同时自动化预约茅台酒的解决方案

6.app实名认证

        在APP中进行实名认证的时候,发现APP在校验用户身份证号+用户姓名是不是相符的同时,居然还会校验用户登录的手机号对应的身份证号是不是和上述身份证号相符。这将导致我没法通过用我的名字开的电话卡,然后用家人的信息去实名认证。

四、数据统计

        通过查询每天的预约人数、发放瓶数,可以计算出全国以及我经常预约的门店的中奖概率。我使用的是百度的OCR去识别这些数据,百度开放平台每个月提供1000次免费接口调用。完整代码如下:

来源:wsc106

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年11月2日
下一篇 2022年11月2日

相关推荐