• 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()                                     
     
    —————————————————————————————— 选择正确的事、再把事做正确 ——————————————————————————————
  • 相关阅读:
    spring对java远程调用的简化(二)之Hessian,Burlap
    Get busy living--or get busy dying
    Spring:Bean基本管理
    不工作的日子
    Get busy living--or get busy dying
    Spring:Bean基本管理
    不工作的日子
    LAMP2 Apache安装
    apache httpclient 使用
    mysql随机取表中一条数据
  • 原文地址:https://www.cnblogs.com/airb/p/13274081.html
Copyright © 2020-2023  润新知