appium+python 小试牛刀

学习app的自动化测试过程中,一个朋友推荐了一个app,说看新闻可以获得金币,金币兑换零钱,就想着能不能写个脚本,刚好也能练手。

这个随随便便就能刷1000金币,也就是1快钱,可以用来薅羊毛

#coding:utf-8
from appium import webdriver
from time import sleep
import random
desired_caps={
    "platformName":"android",
    "platformVersion":"7.1.1",
    "deviceName":"*****",
    "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(random.randint(12,18))
    #上滑继续看,不然任务栏进度会暂停
    swipe_up(t=500,n=1)
    sleep(random.randint(8,12))
    #上滑继续看,不然任务栏不动
    swipe_up(t=500,n=1)
    sleep(5)
    #下滑看,走完一次任务栏获得金币
    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):
    look_news(500,540)
    if i<20:
                #更新新闻页
        driver.find_element_by_id("com.songheng.eastnews:id/l5").click()
        look_news(500,540)
    elif i<40:
                #切换到【热点】栏
        driver.find_element_by_xpath('//android.widget.TextView[@text="热点"]').click()
        look_news(500,650)
    else:
        driver.quit()

把脚本里面的devicename改成自己的手机的设备名,附上app下载地址

头条

猜你喜欢

转载自blog.csdn.net/weixin_42389217/article/details/81479288
今日推荐