Appium在快手短视频APP上刷金币

一、环境搭建

1.准备Android真机一台

我这使用的是三星 Galaxy S6 edge,Android版本为7.0。

手机需打开开发者模式:设置->关于手机->点击版本号5次以上->提示“你现在处于开发者模式!”

将手机通过USB线插在电脑上,手机能正常连接电脑。

2.安装Python3.7

下载地址:https://www.python.org/downloads/release/python-376rc1/

 安装的时候记录安装路径,后面会用到。

3.Python appium库安装

pip install Appium-Python-Client

4.安装JDK

JDK下载地址:

链接:https://pan.baidu.com/s/1kKcfamvVN90GP1tLnVyBbA
提取码:f5ls

5.安装Android SDK

下载地址:https://developer.android.com/studio/#downloads

 记录Android SDK安装路径,后面会使用该路径。

6.安装Appium

下载地址:http://appium.io/

 

 安装完成后启动Appium,编辑配置环境变量。

 启动服务器

二、编写测试脚本

1.获取快手极速版apk的appPackage、appActivity

cmd窗口输入:aapt dump badging C:UsersAdministratorDesktop快手极速版.apk

 

2.快手极速版刷金币代码

# -*- coding: utf-8 -*-

from appium import webdriver
from appium.webdriver.common.touch_action import TouchAction
from time import *

caps = {}                                                                   #定义空字典
caps["platformName"] = "Android"                                            #平台
caps["platformVersion"] = "7.0"                                             #系统版本
caps["deviceName"] = "Galaxy S6 edge"                                       #设备名称
caps["appPackage"] = "com.kuaishou.nebula"                                  #app包名
caps["appActivity"] = "com.yxcorp.gifshow.HomeActivity"                     #待测Activity名称,原生app要在activity前加个"."

driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)             #声明驱动对象
driver.implicitly_wait(8)
sleep(10)
el1 = driver.find_element_by_id("com.kuaishou.nebula:id/close")             #定位元素
el1.click()                                                                 #点击元素
sleep(3)
el2 = driver.find_element_by_id("com.kuaishou.nebula:id/positive")
el2.click()
sleep(3)
el3 = driver.find_element_by_id("com.kuaishou.nebula:id/left_text")
el3.click()
el4 = driver.find_element_by_id("com.kuaishou.nebula:id/wechat_login_text")
el4.click()
sleep(10)
TouchAction(driver).press(x=552, y=1313).move_to(x=552, y=382).release().perform()
sleep(3)
TouchAction(driver).tap(x=573, y=939).perform()
print('开始')
i=1
while i<10001:
    print(i)
    sleep(3)
    TouchAction(driver).tap(x=573, y=939).perform()                                             #领取金币
    sleep(3)
    TouchAction(driver).press(x=540, y=1578).move_to(x=577, y=469).release().perform()          #滑动视频
    sleep(3)
    TouchAction(driver).tap(x=573, y=939).perform()
    sleep(10)
    i=i+1
driver.quit()                                     
 
—————————————————————————————— 选择正确的事、再把事做正确 ——————————————————————————————
原文地址:https://www.cnblogs.com/airb/p/13274081.html