Python教你迅速成为“蚂蚁森林排行榜”第一名(1)

环境配置


首先需要安装配置好appium自动化测试工具。appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用,支持IOS、Android及FirefoxOS平台。

大致流程:先在官网(appium.io)下载安装appium,然后安装Android SDK(我的方法是安装Android Studio,在它里面可以安装Android SDK),最后再安装JAVA,并配置JAVA_HOME和CLASSPATH两个参数的环境变量,然后就可以使用appium啦!

使用介绍


安装appium有两个目的,一是使用python的appium模块需要先打开appium客户端,否则无法使用;二是便于我们查找某个app某个界面的元素,初次打开时如图所示:

在这里插入图片描述

<点击Start Server v1.8.1>

在这里插入图片描述

<点击搜索图标>

在这里插入图片描述

配置好4个参数,第一个参数是手机操作系统,第二个参数是手机型号,在设置中可以找到,第三、四参数是app的两个特定值,点击start session就可以操控手机了。

在这里插入图片描述

开发步骤


第一步:appium自动化测试app首先需要找到 ‘appPackage’ 和 ‘appActivity’ 两个参数

这里给大家介绍一种通用的找手机app这两个参数的方法:

  1. 先找到获取apk信息工具(android SDK的aapt工具)所在的位置;

  2. 下载支付宝app,记住存放位置;

  3. 打开命令行,输入以下信息

在这里插入图片描述

<打码部分是支付宝app所在的位置>

在输出信息中可以找到

appPackageappActivity的值:

在这里插入图片描述

在这里插入图片描述

第二步:打开支付宝,模拟点击,进入蚂蚁森林界面

正常情况下,appium操控打开app时,需要配置一下参数:

在这里插入图片描述

但是这种配置方式会默认从头打开app,需要验证各种信息,而且需要重新登录,今天教大家如何避免重新登录,只需添加2个参数就ok:

在这里插入图片描述

这样就会避免重新登录了。

下面就是模拟点击元素操作了,找app元素的方法如下:

在这里插入图片描述

只需用客户端appium打开手机APP,然后将鼠标放在需要点击的部位,在右侧就能找到该部位的元素了。然后依次点击下图按钮:

代码如下:

在这里插入图片描述

第三步:依次点击进入好友蚂蚁森林主页

在这里插入图片描述

如图所示,我需要点击一次点击进入每个好友的主页,我采取的方式是只点击进入第一个框所在的坐标,然后模拟向上滑动1个框的高度,这样依次就可以点击到每个好友了,代码如下:

在这里插入图片描述

需要注意的是,个人的主页是点不开的,但是不用做相应处理,因为点不进去就会在当前界面进行检测,判作无能量球,继续滑动到下一个。

第四步:检测有无可收取得能量

在这里插入图片描述

经过分析元素,蚂蚁森林主页可以分为2类情况,第一种是没有能量球,第二种是有能量球,判断方法是比较上图中classname的数量,若大于5则代表有能量球,反之则没有,代码如下:

在这里插入图片描述

然后再进一步分析能力球能否能收取,很简单,只需要判断每个classname的text是否含有“能量”这2个字就ok了,因为不可收取的能量球不含这两个字,代码如下:

在这里插入图片描述

完整代码


from appium import webdriver

import time

from selenium.webdriver.support.ui import WebDriverWait

from appium.webdriver.common.touch_action import TouchAction

desired_caps = {

“platformName”: “Android”,

“deviceName”: “MHA_AL00”,

“appPackage”: “com.eg.android.AlipayGphone”,

“appActivity”: “AlipayLogin”,

“noReset”: “true”,

“fullReset”: “false”

}

server = ‘http://localhost:4723/wd/hub’

driver = webdriver.Remote(server, desired_caps)

time.sleep(1)

driver.find_element_by_id(‘com.alipay.android.phone.openplatform:id/more_app_icon’).click() #点击更多

time.sleep(1)

driver.find_element_by_id(‘com.alipay.android.phone.wallet.homemarket:id/app_group_item_icon’).click() #点击蚂蚁森林

time.sleep(1)

def Swipe(driver):

n=0

while n<=5:

start_x = 500

start_y = 1500
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

b8a67243c1008edf79.png)

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

img
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值