Air test 基于屏幕比例实现滑动的方法
# -*- encoding=utf8 -*-
__author__ = "chenshanju"
__docs__ = "基于iOS类实现滑动"
from airtest.core.api import *
from airtest.core.ios import IOS
auto_setup(__file__)
class Base():
    def __init__(self):
        test1=IOS()
        self.width=test1.display_info['physical_width']
        self.height=test1.display_info['physical_height']
        self.left_point=(0.2*self.width,0.75*self.height)
        self.right_point=(0.8*self.width,0.75*self.height)
        self.up_point=(0.5*self.width,0.25*self.height)
        self.down_point=(0.5*self.width,0.75*self.height)
        self.back_point1=(0*self.width,0.5*self.height)
        self.back_point2=(0.5*self.width,0.5*self.height)
    def swipe_to_back(self):
        swipe(self.back_point1,self.back_point2)
    def swipe_to_left(self):
        swipe(self.right_point,self.left_point)
        sleep(2)
    def swipe_to_right(self):
        swipe(self.left_point,self.right_point)
        sleep(2)
    def swipe_to_up(self):
        swipe(self.down_point,self.up_point)
        sleep(2)
    def swipe_to_down(self):
        swipe(self.up_point,self.down_point)
        sleep(2)
    def exist_touch(self,p1,p2=0):
        if p2==0:
            p2=p1
        if exists(p1):
            touch(p2)
            sleep(1)
    def new_touch(self,p,t=1):
        count=1
        while not exists(p):
            sleep(5)
            count=count+1
            if count>5:
                break
        touch(p)
        sleep(t)
    def back_key(self):
        count=0
        back_list=[Template(file:///Users/chenshanju/Desktop/autoCase/feizhu/Base.air/tpl1536744539863.png, threshold=0.8, target_pos=5, rgb=False, record_pos=(-0.445, -0.901), resolution=(1125, 2436)),Template(file:///Users/chenshanju/Desktop/autoCase/feizhu/Base.air/tpl1536745663572.png, threshold=0.8, target_pos=5, rgb=False, record_pos=(0.4, -0.901), resolution=(1125, 2436)),Template(file:///Users/chenshanju/Desktop/autoCase/feizhu/Base.air/tpl1540368782186.png, threshold=0.8, target_pos=5, rgb=False, record_pos=(-0.433, -0.9), resolution=(1125, 2436)),Template(file:///Users/chenshanju/Desktop/autoCase/feizhu/Base.air/tpl1540372744293.png, record_pos=(-0.435, -0.902), resolution=(1125, 2436)),Template(file:///Users/chenshanju/Desktop/autoCase/feizhu/Base.air/tpl1536744539863.png, threshold=0.8, target_pos=5, rgb=False, record_pos=(-0.445, -0.901), resolution=(1125, 2436))]
        for back in back_list:
            count=count+1
            if exists(back):
                self.new_touch(back)
                break
            if count >= len(back_list):
                self.swipe_to_back()
    def into_app(self):
        start_app("com.taobao.travel")
        sleep(5)
        self.exist_touch(Template(file:///Users/chenshanju/Desktop/autoCase/feizhu/Base.air/tpl1536743118383.png, record_pos=(0.001, 0.004), resolution=(1125, 2436)),Template(file:///Users/chenshanju/Desktop/autoCase/feizhu/Base.air/tpl1536743125640.png, record_pos=(0.181, 0.156), resolution=(1125, 2436)))
    def restart_app(self,p):
        if exists(p):
            self.new_touch(p)
        else:
            self.into_app()
            sleep(5)
            self.new_touch(p)
# try:
#     base = Base()
#     base.into_app()
# except:
#     print(" regression base启动用例失败")
Air test 基于屏幕比例实现滑动的方法的更多相关文章
- 基于屏幕空间的实时全局光照(Real-time Global Illumination Based On Screen Space)
		目录 Reflective Shadow Maps(RSM) RSM 的重要性采样 RSM 的应用与缺陷 Screen Space Ambient Occulsion(SSAO) SSAO Blur ... 
- 基于 jQuery 实现垂直滑动的手风琴效果
		今天我们要与大家分享一个漂亮而灵活的垂直 jQuery 手风琴效果.其主要思想是扩大手风琴片上的点击和显示更多的信息.其他内容片段将变得不那么透明.当使用一个导航箭头导航下一个片段,新的片会从顶部或底 ... 
- 关于android MTK相机L版本,切换屏幕比例后,分辨率随之改变,但重新进入相机后原有分辨率不再生效问题
		BUG详细:比如4:3的时候是200W,切成全屏变400W,重新切回4:3为300W,退出相机后,重新进入又变成200W. 原因分析:这个版本的设计如此,当你点选屏幕比例的时候,程序设计是把这个比例值 ... 
- 基于jQuery鼠标滚轮滑动到页面节点部分
		基于jQuery鼠标滚轮滑动到页面节点部分.这是一款基于jQuery+CSS3实现的使用鼠标滚轮或者手势滑动到页面节点部分特效.效果图如下: 在线预览 源码下载 实现的代码. html代码: &l ... 
- 基于jQuery图片遮罩滑动文字切换特效
		基于jQuery图片遮罩滑动文字切换特效.这是一款jquery hover鼠标滑动选项卡切换透明背景遮罩文字显示特效.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div ... 
- 基于HTML5手机上下滑动翻页特效
		基于HTML5手机上下滑动翻页特效.这是一款手机移动端触屏滑动翻页代码下载.效果图如下: 在线预览 源码下载 实现的代码. html代码: <section class="u-al ... 
- appium学习【五】【转】appium实现屏幕向左滑动
		转自http://www.cnblogs.com/testhub/p/5949668.html 前些日子写一个滑动手机页面的小脚本,看到大家给的内容都是swipe方法,这里对swipe方法做一个小介绍 ... 
- 根据bootstrap框架实现移动端触摸滑动的方法
		有一个移动端的项目要求用jquery+bootstrap,其中有一个轮播图,需求是要求可以手触滑动,但是bootstrap中没有写手触滑动的方法,自己琢磨着写了出来,供大家参考. $(function ... 
- appium 处理滑动的方法
		appium 处理滑动的方法是 swipe(int start-x, int start-y, int end-x, int end-y, int during) - Method in class ... 
随机推荐
- 【eclipse】svn在线安装
			Subclipse1.8 http://subclipse.tigris.org/update_1.8.x 
- 路由器实操 能够登陆QQ 收发信息正常 但游览器无法连接网页
			这种情况下,网络是没有问题的. ping www.baidu.com 失败,但是能上QQ说明网络没有问题:这一般是域名解析DNS的问题. 游览器登陆192.168.1.1.输入用户密码,均为admin ... 
- 测试工程师 技能要求:java编程,数据库,linux操作系统,自动化测试开发,性能测试,安全测试
			1.具有开发和测试经验,能负责带领大型项目测试 2.掌握或熟悉java编程,熟悉mysql,oracle等db,memcache,nosql等,有互联网行业从业经验 3.可撰写自动化测试工具以及搭建自 ... 
- 使用 Git Hook 自动部署 Hexo 到个人 VPS
			安装 Hexo 既然我的标题都已经那样写了,当然这个小节就不是本篇文章的重点了. 关于 Hexo 的安装跟配置,其实网上已经有很多很多文章了,随便一搜一大把.这里就有一篇超详细的,大家可以参考一下. ... 
- IDEAL葵花宝典:java代码开发规范插件  GenerateAllSetter、ECtranslation、translation、插件
			前言: GenerateAllSetter: 我们在程序开发过程中,往往要编写这样的类:类的部分或者全部属性不希望让外部世界直接访问,而不用public字段修饰.这样,方法调用成了访问这些属性的唯一 ... 
- Meteor.js异步全解
			翻译来源: http://phucnguyen.info/blog/everything-you-need-to-know-about-async-meteor/ posted in Web Deve ... 
- python学习笔记(四)---python不能输出中文问题
			只需要在所有代码的最前面加上:#coding:utf-8 即可 
- 043——VUE中组件之使用.sync修饰符与computed计算属性实现购物车原理
			<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ... 
- 20181009-5 选题 Scrum立会报告+燃尽图 04
			Scrum立会报告+燃尽图(04)选题 此作业要求参见:[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2194] 一.小组介绍 组长:刘 ... 
- springboot---没有配置数据库启动报错
			If you want an embedded database please put a supported one on the classpath. If you have database s ... 
