频道栏目
首页 > 资讯 > 其他 > 正文

appium+python小试牛刀之薅羊毛

18-08-25        来源:[db:作者]  
收藏   我要投稿

学习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下载地址

头条

相关TAG标签
上一篇:如何去解决AppBarLayout在华为手机6.0系统快速滑动时抖动问题
下一篇:OC使用cocoapods导入swift库 报错 library not found for -lswiftSwiftOnoneSupport for architecture x86_64问题解决
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站