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 ...
随机推荐
- Java常见的错误种类
数组中的错误: 越界: java.lang.ArrayIndexOutOfBoundsException 数组越界,如果声明 了5个元素的数组,但是在取值的时候用到了索引5,那就越界了 空指针:jav ...
- 1 复习ha相关 + weekend110的hive的元数据库mysql方式安装配置(完全正确配法)(CentOS版本)(包含卸载系统自带的MySQL)
本博文的主要内容是: .复习HA相关 .MySQL数据库 .先在MySQL数据库中建立hive数据库 .hive的配置 以下是Apache Hadoop HA的总结.分为hdfs HA和yarn HA ...
- js操作cookie的函数
///设置cookiefunction setCookie(NameOfCookie, value, expiredays) { var ExpireDate = new Date(); Expire ...
- C#中的不可空类型转为可空类型
默认下,C#只有两种类型: 1. 可空类型:(是指可为null) 大部分的对象, 如: Dog dog = null; 2. 不可空类型: 基本值类型,布尔类型等,如: int a = 0 ;//正确 ...
- Boost application performance using asynchronous I/O-ref
http://www.ibm.com/developerworks/linux/library/l-async/?S_TACT=105AGX52&S_CMP=cn-a-l Introducti ...
- 深入理解JavaScript系列(48):对象创建模式(下篇)
介绍 本篇主要是介绍创建对象方面的模式的下篇,利用各种技巧可以极大地避免了错误或者可以编写出非常精简的代码. 模式6:函数语法糖 函数语法糖是为一个对象快速添加方法(函数)的扩展,这个主要是利用pro ...
- 如何查找消耗资源较大的SQL
对于优化来讲,查找消耗资源较大的SQL至关重要,下面介绍几个之前用到的SQL. 1.从V$SQLAREA中查询最占用资源的查询. select b.username username,a.disk_r ...
- C++(笔)001.
1.编程范式 编程范式是指计算机编程的基本风格,C++可容纳多种程度范式,如面向对象编程.泛型编程及传统的过程式编程. 2.与C相比较 C++在C语言的基础上新加的特性如下: a.类和对象.继承 b. ...
- Java - USC2字符串截取
Java内部采用UTF-16(USC2)编码,比如:"我" 为 98 17,"a" 为 0 97," " 为 0 32,"1&qu ...
- js实现页面跳转的八种方式
整理一下JavaScript八种跳转方式,欢迎评论补充! 第一种方法: <script> window.location.replace('http://www.cnblogs.com/c ...