#coding:utf-8
from appium import webdriver
from time import sleep
import random
desired_caps={
    "platformName":"android",
    "platformVersion":"7.1.1",
    "deviceName":"your_device_name",
    "appPackage":"com.songheng.eastnews",
    "appActivity":"com.oa.eastfirst.activity.WelcomeActivity",
    "noReset":"True"
}
driver=webdriver.Remote("http://127.0.0.1:4723/wd/hub",desired_caps)
sleep(3)

def swipe_up(t=500,n=1):

    """上滑"""
    size=driver.get_window_size()
    x1=size['width']*0.5
    y1=size['height']*0.85
    y2=size['height']*0.15
    for j in range(n):
        driver.swipe(x1,y1,x1,y2,t)

def swipe_down(t,n):
    """下滑"""
    size=driver.get_window_size()
    # 开始x坐标
    x1=size['width']*0.5
    # 开始y坐标
    y1=size['height']*0.15
    #结束y坐标
    y2=size['height']*0.85
    for j in range(n):
        driver.swipe(x1,y1,x1,y2,t)
#浏览新闻
def look_news(x,y):
    sleep(8)
    #点击新闻链接,没有找到比较合适的可利用的属性,只能用坐标了
    driver.tap([(x,y)])
    sleep(16)
    #上滑继续看,不然任务栏进度会暂停
    swipe_up(t=500,n=1)
    sleep(10)
    #上滑继续看,不然任务栏不动
    swipe_up(t=500,n=1)
    sleep(8)
    #下滑看,走完一次任务栏获得金币
    swipe_down(t=500,n=1)
    sleep(10)
    #返回新闻页
    driver.keyevent('4')
    sleep(random.randint(2,4))
    #上滑,选其他新闻
    swipe_up(t=500,n=1)

#先定个小目标,跑它一百次
for i in range(100):
    print (i)
   #推荐
if i <= 20: look_news(500,540)
   #热点
elif i <= 40: driver.tap([(250, 250)]) sleep(2) look_news(540,680)
   #视频
elif i <= 60: driver.tap([(400, 250)]) sleep(2) look_news(540,680)
   #娱乐
elif i < 80: driver.tap([(530, 250)]) sleep(2) look_news("540", "1050") elif i < 100: driver.tap([(530, 260)]) sleep(2) look_news("540", "480") else: driver.quit()

查找可利用的activity和packgage命令:
aapt dump badging **.apk
会显示可加载运行的activity

 

posted on 2018-09-03 15:58  不吃西红柿a  阅读(255)  评论(0编辑  收藏  举报