swipe

Python-UiAutomator2实现Android自动化测试

ぃ、小莉子 提交于 2020-04-27 12:09:50
本帖转自搜狗测试公众号 【一、前言】 基于Python-UiAutomator2实现Android自动化测试,小编在Android应用的自动化性能测试中进行了实践。本篇将简单介绍python中使用adb、aapt命令的方法以及Python-UiAutomator2使用,后续文章将对环境搭建以及自动化性能测试进行介绍,希望能给大家一些微薄的帮助。 【二、python中使用adb、aapt命令】 在python中使用adb命令,可以导入os模块 1、简单的adb命令 如:os.system('adb devices) 2、稍微复杂的adb命令 如:os.system('adb shell "dumpsys activity | grep "com.sogou.map.android.***.*""') 3、将adb读出的内容保存(os.system不支持读取,os.popen支持读取) 如:out = os.popen('adb shell "dumpsys activity | grep "com.sogou.map.android.***.*""').read() 在python中使用aapt命令 aapt即Android Asset Packaging Tool,可以在Android SDK的platform-tools目录下找到该工具。aapt可以查看、创建

Appium+python自动化(二十八)- 滑呀滑,滑到奈何桥喝碗孟婆汤

久未见 提交于 2020-04-24 09:28:41
简介       奈何桥上叹奈何,三生石前憾三生,彼岸花下非彼岸,奈何三生彼岸人。   相传过了鬼门关便上一条路叫黄泉路,路上盛开着只见花,不见叶的彼岸花。花叶生生两不见,相念相惜永相失,路尽头有一条河叫忘川河,河上有一座桥叫奈何桥。走过奈何桥有一个土台叫望乡台。望乡台边有个亭子叫孟婆亭,有个叫孟婆的女人守候在那里,给每个经过的路人递上一碗孟婆汤。忘川河边有一块石头叫三生石。喝下孟婆汤让人忘了一切。三生石记载着前世今生来世。   人死先到鬼门关,出了鬼门关,途经黄泉路,来到忘川河边,便是奈何桥。奈何桥上有孟婆,要过奈何桥,就要喝孟婆汤,不喝孟婆汤,就过不得奈何桥,过不得奈何桥,就不得投生转世。凡是喝过孟婆汤的人就会忘却今生今世所有的牵绊,了无牵挂地进入轮回道开始了下一世的轮回。   孟婆汤又称忘情水或忘忧散,一喝便忘前世今生。阳间的每个人在这里都有自己的一只碗,碗里的孟婆汤,其实就是活着的人一生所流的泪。每个人活着的时候,都会落泪:因喜,因悲,因痛,因恨,因愁,因爱。孟婆将他们一滴一滴的泪收集起来,煎熬成汤,在他们离开人间,走上奈何桥头的时候,让他们喝下去,忘却活着时的爱恨情愁,干干净净,重新进入六道,或为仙,或为人,或为畜。不是每个人都会心甘情愿地喝下孟婆汤。   因为这一生,总会有爱过的人不想忘却。孟婆会告诉他:你为她一生所流的泪都熬成了这碗汤,喝下它,就是喝下了你对她的爱

Appium(九):Appium API(三) 滑动和拖拽、高级手势、手机操作

独自空忆成欢 提交于 2020-04-24 09:28:27
1. 滑动和拖拽 我们在做自动化测试的时候,有些按钮是需要滑动几次屏幕后才会出现,此时,我们需要使用代码来模拟手指的滑动,也就是接下来要学的滑动和拖拽了。 1.1 swipe滑动事件 从一个坐标位置滑动到另一个坐标位置,只能是两个点之间的滑动。 方法: driver.swipe(start_x, start_y, end_x, end_y, duration=None):参数分别是起点坐标的x,y和终点坐标的x,y,以及滑动时间,滑动事件的单位是ms。 实例1: 模拟手指从(100,2000),滑动到(100,1000)的位置。 driver.swipe(100, 2000, 100, 1000) 实例2: 模拟手指从(100, 2000),滑动到(100, 100)的位置。 driver.swipe(100, 2000, 100, 100) 实例3: 模拟手指从(100, 2000),滑动到(100, 100)的位置,持续5秒。 driver.swipe(100, 2000, 100, 100, 5000) 距离相同时,持续时间越长,惯性越小。 持续时间相同时,手指滑动的距离越大,实际滑动的距离也就越大。 1.2 scroll滑动事件 从一个元素滑动到另一个元素,直到页面自动停止。 方法: driver.scroll(origin_el, destination_el)

Appium移动端自动化测试--元素操作与触摸动作

淺唱寂寞╮ 提交于 2020-04-24 09:28:08
常见自动化动作支持 click sendKeys swipe touch action 元素操作 1.click()点击操作 也可以用tab实现点击操作 driver.find_element_by_id("com.wuba.zhuanzhuan:id/ae8").click() 2.clear()清空输入框内容 driver.find_element_by_id("com.wuba.zhuanzhuan:id/ij").clear() 3.send(xx)输入框内输入内容 driver.find_element_by_id("com.wuba.zhuanzhuan:id/ij").send_keys("test content") 4.text 获得元素的text内容 print(driver.find_element_by_xpath(" //android.widget.LinearLayout[1]//xxx").text) TouchAction触摸操作 Tap 在支持触摸的设备上单击/点击 Double Tap 在触摸屏上双击 Move To 手指在屏幕上移动/拖动 Long Tap 在触摸屏上长按进行操作 Scroll 触摸屏上滚动 Multi Touch Perform 链式操作(多个操作连接起来) Java TouchActions action = new

安卓自动化之元素定位三种方式:

♀尐吖头ヾ 提交于 2020-04-24 09:26:49
方式一: 也就是大家熟悉的 你安装Android sdk E:\Android\android-sdk\tools 目录下的 uiautomatorviewer.bat 直接双击打开就可以定位手机元素 存在问题一: (1)adb 版本不能太低 (2)对于安卓版本高的手机(安卓9.0我就碰到过 死活连不上),无法连接 无法定位 方式二: 前提:需要安装java jdk (1)安装SDK Android SDK 下载地址(需要安装sdk): http://tools.android-studio.org/index.php/sdk 需要在系统变量中添加环境变量(是新增) ANDROID_HOME D:\android\Android\sdk(写自己的地址 别复制了) (2)安装appium-server https://bitbucket.org/appium/appium.app/downloads/ 安装包地址: 安装完成 在命令窗口输入:appium-doctor 检查环境 (以上两个安装完成之前要保证java jdk已安装) 出现 all checks were successful 才是正确的 直接在命令窗口输入 pip install Appium-Python-Client。 就此环境已准备好: (3)weditor链接手机进行调式:

如何在iOS手机上进行自动化测试

不打扰是莪最后的温柔 提交于 2020-04-18 05:52:31
版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途 Airtest支持iOS自动化测试,在Mac上为iOS手机部署iOS-Tagent之后,就可以使用AirtestIDE连接设备,像连接安卓设备一样,实时投影、控制手机。iOS测试不仅限于真机测试,iOS模拟器也可以进行。Mac端上部署完成后还可以提供给同一局域网内的windows上远程连接使用。同时支持airtest图像识别和poco UI检索。 本文介绍iOS自动化测试的部署过程,提供一个简单的测试脚本,列举了iOS测试过程中常见的问题。 功能支持 支持AirtestIDE连接,实时控制 iPhone 支持基本操作如启动app、点击、滑动、输入、截图等等操作 支持控件检索技术Poco和图像识别 自动化脚本录制、一键回放、报告查看等基本功能 支持真机或者模拟器 安装部署 版本需求: Mac Xcode ≥ 9.3 iPhone iOS ≥ 9.3 在 9.3≤iOS≤10时,由于基于旧版xcode SDK,建议使用Xcode 版本≤10.1来启动iOS-Tagent,否则会出现手机截屏不全的问题。 部署流程 在Mac下载 iOS-Tagent ,使用 Xcode 启动 Test , 具体启动过程可参考 https://github.com/AirtestProject/iOS-Tagent

微信小程序-Swiper和下拉刷新组件

我的未来我决定 提交于 2020-04-18 02:08:00
前言 最近一个小程序项目中遇到一个需求,就是实现类似资讯类app的多页面切换的那种效果, 如下图: 最终效果: 效果体验: 功能分析 首先实现这个功能分为三步: 实现顶部tab菜单 实现多页面滑动切换 每个页面支持自定义下拉刷新和上拉加载 实现分析 顶部tab菜单 这里的tab菜单支持横向滑动,所以我们使用scroll-view,这样可以通过scrollLeft来控制scroll-view的滚动。我们使用小程序 createSelectorQuery 方法来获取所有tab的宽度,这样就可以在点击事件发生的时候确定滚动的距离。然后还需要计算每一个tab的padding,用于计算线条的滚动距离。然后还需要计算每个tab的子元素的宽度,以实现滚动过后线条宽度的变化。 tab组件源代码 多页面滑动切换 在微信小程序中这个效果还是比较容易实现的,直接使用swiper就可以了。 上拉加载 swpier里面套用一个scroll-view,然后监听scroll-view的bindscrolltolower 事件就可以实现上拉加载了。   下拉刷新 这里着重介绍下拉加载,首先小程序原生的下拉刷新在swiper上场的时候已经不好使了,因为swiper占全屏时会使原生的下拉刷新失效,所以这里需要自定义下拉刷新。这里po主前前后后换了三种方式实现方式。具体如下: scroll-view 的onscroll

【笔记】《Bootstrap实战》——附录C 让传送带支持手势

给你一囗甜甜゛ 提交于 2020-04-15 13:58:59
【推荐阅读】微服务还能火多久?>>> 文章目录 选择方案 下载 使用 选择方案 Adding swipe support to Bootstrap Carousel 3.0 - Laz Creative mattbryson/TouchSwipe-Jquery-Plugin jQuery.touchswipe插件 - 博客园 手机滑动touchSwipe-CSDN博客 jquery.touchswipe | BootCDN - Bootstrap 中文网开源项目免费 CDN 加速服务 下载 https://cdn.bootcss.com/jquery.touchswipe/1.6.19/jquery.touchSwipe.js https://cdn.bootcss.com/jquery.touchswipe/1.6.19/jquery.touchSwipe.min.js 使用 将 touchSwipe.min.js 的代码复制到 plugins.js 的bootstrap代码后,保存 在 main.js 中添加以下代码: $( document ).ready(function() { //Enable swiping... $(".carousel-inner").swipe( { //Generic swipe handler for all directions

使用vant的时候,报错:component has been registered but not used以及vant的使用方法总结

我怕爱的太早我们不能终老 提交于 2020-04-11 08:07:09
使用vant的时候,报错:component has been registered but not used以及vant的使用方法总结 在使用vant的时候。 想按需引入,于是安装了babel-plugin-import插件。 文档: https://youzan.github.io/vant/#/zh-CN/quickstart 但是遇到了上述报错。 不在components中注册,或者用这种常用的方式注册,都会报错: //示例 import { Button } from 'vant'//引入 components:{ Button } //注册 注意:文档都没有写引入的组件的注册部分,没有完整的使用实例。 具体报错如下: 解决方案1(只有少量使用vant组件的时候,可以考虑这个,因为一个个引入有些麻烦) 手动引入,需要单独引入组件和css。 组件的路径文件夹名称有时候还需要自己找。 路径是:node_modules_vant@2.6.0@vant\lib 还要单独的引入对应的css样式。 特别需要注意的是注册方式需要是: [组件名.name]:组件名 <template> <div> this is for test words! <van-swipe-cell> <template #left> <van-button square type="primary" text

How to detect swipe between views to make path across them in android java?

末鹿安然 提交于 2020-04-07 07:35:28
问题 I am trying to make game for which there are buttons with alphabets and if user swipes over them then it should detect the views as well as make a line across them. I searched many tutorials, examples and questions but unable to get the idea. I have attached image to help understand the question. Here are the codes: MainActivity.java package com.example.detecttouch; import androidx.appcompat.app.AppCompatActivity; import android.graphics.Rect; import android.os.Bundle; import android.util.Log