python+appium学习之swipe
#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('')
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("", "")
elif i < 100:
driver.tap([(530, 260)])
sleep(2)
look_news("", "")
else:
driver.quit() 查找可利用的activity和packgage命令:
aapt dump badging **.apk
会显示可加载运行的activity
python+appium学习之swipe的更多相关文章
- python+appium学习总结
经过了这个月的学习,今天终于完成了公司APP系统的自动化的脚本的编写. 通过单元测试框架UNITTEST,进行脚本的连跑,本来还想把测试数据统一写到EXCEL表格内,实现脚本与数据的分离. 后来发现增 ...
- Python+Appium学习之启动手机APP或者浏览器
一.启动浏览器:pycharm中python脚本如下: from appium import webdriver desired_caps ={ 'platformName':'Android', ' ...
- Python+Appium自动化测试(8)-swipe()滑动页面
app自动化测试过程中,经常会遇到滑动屏幕操作,appium框架的话我们可以使用webdriver提供的swipe()方法来对屏幕页面进行上滑.下滑.左滑.右滑操作. 一,swipe方法介绍 swip ...
- Python+Appium学习篇之WebView处理
1.认识WebView 实例说明: 当你打开百度阅读APP→VIP全站去广告→用自带的 UI Automator去定位里面的元素,如图: 不管你去定位 '规则详情' '开通'等等,都会定位不到,只 ...
- Appium学习实践(二)Python简单脚本以及元素的属性设置
1.简单的Python脚本 Appium中的设置与Appium学习实践(一)简易运行Appium中的一致 Launch后,执行脚本 #coding:utf-8 import unittest impo ...
- Appium学习实践(三)测试用例脚本以及测试报告输出
之前Appium学习实践(二)Python简单脚本以及元素的属性设置中的脚本,会有一个问题,就是在每个测试用例完成之后都会执行tearDown,然后重新setUp,这样导致脚本的执行效率偏低,而且会有 ...
- Python appium搭建app自动化测试环境
appium做app自动化测试,环境搭建是比较麻烦的. 也是很多初学者在学习app自动化之时,花很多时间都难跨越的坎. 但没有成功的环境,就没有办法继续后续的使用. 在app自动化测试当中,我们主要是 ...
- Python Appium 滑动、点击等操作
Python Appium 滑动.点击等操作 1.手机滑动-swipe # FileName : Tmall_App.py # Author : Adil # DateTime : 2018/3/25 ...
- Python +appium baseview
封装python+appium 的baseview模块 from selenium.webdriver.support.ui import WebDriverWait from time import ...
随机推荐
- Unity5.x在mac下的破解
工具下载 http://www.ceeger.com/forum/read.php?tid=23396&uid=24111 破解unity5.x版本亲测有效 但是他的说明不详细 下载后,里面有 ...
- Hbuilder编辑App时,ajax跨域访问失败问题
今天试着用Hbuilder写app的前段显示页面,在第一步时就被打住了,ajax异步调用服务器的登录接口时,报错, 显示这样的错误 XMLHttpRequest cannot loadhttp://w ...
- CentOS 6.9安装docker之前升级系统内核版本
问题描述:安装docker,官方文档要求Linux kernel至少3.8以上,且docker只能运行在64位的系统中(这个很重要,搞了个i386的系统升级了半天没成功) 升级步骤: 1.因位安装服务 ...
- wms-ssv数据字典
--------------------------------------------以下,托盘-- dbo.Container --托盘 , "托盘状态", "Con ...
- 第四章使用java实现面向对象-接口
一.接口 1.接口可以看作是一种特殊的“抽象类”. 2.接口有比抽象类更好的特性 3.可以被多继承 4.设计和实现完全分离 5.更自然的使用多态 二.接口约定 1.接口表示一种约定:体现在接口名称和注 ...
- Oracle ORA-27102的解决办法(out of memory)
原文出自:https://blog.csdn.net/seesun2012 Oracle ORA-27102:out of memory 错误解决办法(简单粗暴,100%能解决内存占用问题) -前置: ...
- EasyPusher推流类库的.NET调用说明
EasyPusher推流类库的.NET调用说明 以下内容基于在使用EasyPusher过程中遇到的问题,以及相应的注意事项.本文主要是基于对C++类库的二次封装(便于调试发现问题)以供C#调用以及对一 ...
- CentOS 启动-运行级别
Linux系统的启动过程:内核的引导 > 运行init > 系统初始化 > 建立终端 > 用户登录系统 运行init init 进程是系统所有进程的起点: 主要功能: 准备软件 ...
- 第十三章.MySQL数据库与JDBC编程(下)
JDBC的典型用法: JDBC4.2常用接口和类简介: DriverManager:用于管理JDBC驱动的服务类,程序中使用该类的主要功能是获取Connection对象,该类包含如下方法: publi ...
- UX2内核浏览加速技术纲要[带你解决WebView卡顿]
UX2内核是本人负责主要开发的浏览服务项目,其主要目的是为开发者提供一个简单好用.轻便的网络浏览服务.UX2内核的安卓端是基于WebView进行深度优化的,同时欢迎大家使用这个内核用于app页面或浏览 ...