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 ...
随机推荐
- WCF系列教程之WCF消息交换模式之单项模式
1.使用WCF单项模式须知 (1).WCF服务端接受客户端的请求,但是不会对客户端进行回复 (2).使用单项模式的服务端接口,不能包含ref或者out类型的参数,至于为什么,请参考C# ref与out ...
- Apache-jmeter3.3安装
一.首先检查机子上是否有安装jdk 检查方式,在cmd中输入java,出现如下信息,即已经安装好jdk 若未安装jdk,则看如下步骤 步骤一: 1.下载jdk,到官网下载jdk,地址:http://w ...
- [PY3]——内置数据结构(8)——解构与封装
### 解构的理解与用法 ### 解构是python很有特色的一个功能,被很多语言借鉴(例如ES6) # 元素按照顺序赋值给变量 In [31]: lst=list(range(5)) In [32] ...
- leetcode_787【K 站中转内最便宜的航班】
有 n 个城市通过 m 个航班连接.每个航班都从城市 u 开始,以价格 w 抵达 v. 现在给定所有的城市和航班,以及出发城市 src 和目的地 dst,你的任务是找到从 src 到 dst 最多经过 ...
- 转 File "/usr/bin/yum", line 30 except KeyboardInterrupt, e:
因为yum包使用python2*等开发,修该为环境修改python3之后有问题, 解决: 修改文件/usr/bin/yum./usr/libexec/urlgrabber-ext-down头中相应py ...
- awk中引用变量使用单引号''
举例如下 who命令输出第一列 (1)第一种情况不使用引号 # i=1;who | awk '{print $${i}}' 输出如下: awk: {print $${i}} awk: ...
- android 生成随机数
/** * 随机数.字母 工具类 * Created by admin on 2017/2/20. */ public class RandomUntil { /** * 生成 ...
- 在线课程笔记—.NET基础
关于学习北京理工大学金旭亮老师在线课程的笔记. 介绍: 在线课程网址:http://mooc.study.163.com/university/BIT#/c 老师个人网站:http://jinxuli ...
- Java接口和抽象类理解(New)
一. 抽象类和接口的特点 包含抽象方法的类称为抽象类,但并不意味着抽象类中只能有抽象方法,它和普通类一样,同样可以拥有成员变量和普通的成员方法.注意,抽象类和普通类的主要有三点区别: 1)抽象方法必 ...
- 前端面试经典题目合集(HTML+CSS)一
1.说说你对HTML语义化的理解? (1)什么是HTML语义化? 根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时让浏览器的爬虫和机器很好地解析. ( ...