Appium的触屏操作&设备交互api
Appium的触屏操作
TouchAction---Appium 2.0以上不在可以使用
官网地址:https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/touch-actions.md
案例一:
self.driver.find_element(By.XPATH, "//*[@text='推荐']").click()
window_rect = self.driver.get_window_rect()
x = int(window_rect['width'] * 1/2)
start_y = int(window_rect['height'] * 4/5)
end_y = int(window_rect['height'] * 1/5)
# print(start_y, end_y, window_rect, x)
for i in range(5):
time.sleep(1)
self.driver.swipe(x, start_y, x, end_y, 1000)
设备交互api
设备交互是指模拟手机电话、发送短信,切换流量等等,详情见官网: http://appium.io/docs/en/about-appium/intro/
案例一:模拟打电话,参照文档:http://appium.io/docs/en/commands/device/network/gsm-call/
def test_make_gsm_call(self, phone):
###模拟打电话
self.driver.make_gsm_call(phone, GsmCallActions.CALL) ###GsmCallActions.CALL,make_gsm_call方法有案例demo
###模拟发短信
self.driver.send_sms(phone, "test test...")
###模拟设置网络,只支持android
self.driver.set_network_connection(1)
###截屏
self.driver.get_screenshot_as_file('./img.png')
参数备注详解:
get_screenshot_as_file(filename) 保存图片为.png 格式,filename 图片路径
save_screenshot(filename) 保存图片为.png 格式,filename 图片路径
get_screenshot_as_png() 保存图片为二进制格式
get_screenshot_as_base64() 将图片保存为 base64 格式。通常用在 html 里添加截图
driver.page_source通过获取页面源码,分析页面的 dom 结构
案例二:截图
def test_search(self):
'''使用 xpath 定位'''
logging.info("搜索用例")
element = self.driver.find_element(MobileBy.XPATH,"//*[@resource-id='com.xueqiu.android:id/tv_search']")
search_enabled = element.is_enabled() logging.info(f"搜索框的文本:{element.text},搜索框的坐标:{element.location},搜索框的size:{element.size}") if search_enabled == True:
logging.info("点击搜索框")
element.click()
logging.info(f"输入搜索内容:alibaba")
self.driver.find_element(MobileBy.XPATH,
"//*[@resource-id='com.xueqiu.android:id/search_input_text']").\
send_keys("alibaba") alibaba_element = self.driver.find_element(MobileBy.XPATH, "//*[@text='阿里巴巴']") # alibaba_element.is_displayed()
displayed = alibaba_element.get_attribute("displayed")
logging.info(f"是否可见:{displayed}")
self.driver.save_screenshot("./image/search_result.png")
assert displayed == "true
Appium的触屏操作&设备交互api的更多相关文章
- WPF Multi-Touch 开发:基础触屏操作(Raw Touch)
原文 WPF Multi-Touch 开发:基础触屏操作(Raw Touch) 多点触控(Multi-Touch)就是通过与触屏设备的接触达到人与应用程序交互的操作过程.例如,生活中经常使用的触屏手机 ...
- unity3d触屏操作对象运动
using UnityEngine; using System.Collections; public class robot : MonoBehaviour { private GameObject ...
- WPF Multi-Touch 开发:高级触屏操作(Manipulation)
原文 WPF Multi-Touch 开发:高级触屏操作(Manipulation) 在上一篇中我们对基础触控操作有了初步了解,本篇将继续介绍触碰控制的高级操作(Manipulation),在高级操作 ...
- Appium常用操作之「微信滑屏、触屏操作」
坚持原创输出,点击蓝字关注我吧 作者:清菡 博客:oschina.云+社区.知乎等各大平台都有. 目录 一.滑屏操作 1.访问之后,马上就滑屏可以吗? 2.连续实现 2 次滑屏 3.代码 二.模拟触屏 ...
- 基于appium的模拟单点或多点触屏操作
一.单点触控 TouchAction类:将一系列的动作放在一个链条中,然后将该链条传递给服务器,服务器接受该链条后,解析各个动作,逐个执行,TouchAction类提供了以下几种方法: 短按:pres ...
- 使用C#开发Metro 风格应用的路线图 -- 触屏操作
原文 http://www.cnblogs.com/icuit/archive/2012/05/01/2478312.html win8支持多点触摸技术,而我们在屏幕上所做的各种操作,也最终转换为输入 ...
- windows7触屏操作API
每当用户触摸触敏式 Windows 7 设备时,Windows 7 多点触控平台都会向您的应用程序发送手势消息 WM_GESTURE.这是现成的免费行为,如果您希望停止接收此类消息,则需要选择退出. ...
- window7 触屏操作相关
一.体系概述 1.Windows Touch Input 和 Gestures消息 Windows Touch消息特性 通过在执行期间的监听和解释来使能.下面的示例展示了Windows7 上消息是怎么 ...
- 贪吃蛇大作战canvas实现(手机触屏操作)--地图逻辑
//html部分 <!DOCTYPE html><html><head lang="en"> <meta charset="UT ...
- (转)iOS Wow体验 - 第七章 - 操作图例与触屏人机工学
本文是<iOS Wow Factor:Apps and UX Design Techniques for iPhone and iPad>第七章译文精选,其余章节将陆续放出.上一篇:Wow ...
随机推荐
- 用 while 生成猜数字
import java.util.Random; import java.util.Scanner; public class zy2 { public static void main(String ...
- buuctf_Dest0g3_crypto
babyAES: 题目如下: from Crypto.Cipher import AES import os iv = os.urandom(16) key = os.urandom(16) my_a ...
- 【转载】SQL SERVER 中单字节和双字节互转自定义函数(全角半角转换)
一.首先创建一个自定义函数,代码如下: alter function f_convert( @str nvarchar(4000), --要转换的字符串 @flag bit --转换标志,0转换成半角 ...
- 小型web产品的功能测试要点或测试大纲
本文参考配置啦:-- Web类产品功能测试大纲,黑盒测试参考测试范围 [官网]:无 应用场景 黑盒测试,功能测试中常常需要考虑很多问题,这里根据本人的工作经验遇到的进行了系列总结.给出了一个常用的测试 ...
- [生命科学] 生物基础实验之PCR验证
生物基础实验之PCR验证 文章目录 生物基础实验之PCR验证 实验步骤一 实验步骤二 实验步骤三 配胶 实验步骤四 电泳 实验步骤五 跑胶 实验步骤一 在离心管加入7.5μL Master Mix 溶 ...
- Redis 数据结构-简单动态字符串
Redis 数据结构-简单动态字符串 无边落木萧萧下,不尽长江滚滚来. 1.简介 Redis 之所以快主要得益于它的数据结构.操作内存数据库.单线程和多路 I/O 复用模型,进一步窥探下它常见的五种基 ...
- python之路30 网络编程之初识并发编程1
并发编程理论 研究网络编程其实就是在研究计算机的底层原理及发展史 """ 计算机中真正干活的是CPU """ 操作系统发展史 1.穿孔卡片阶 ...
- 基于百度智能云的OCR接口进行图文识别
由于一些客户的内部系统需要提取一些记录信息,如果手工录入会变得比较麻烦,因此考虑使用百度云的OCR进行图片文字的提取处理,综合比较了一下开源免费的Tesseract 类库进行处理,不过识别效果不太理想 ...
- VMware vSphere vCenter ServerAppliance 7.0安装配置
VMware vSphere vCenter ServerAppliance 7.0安装配置 环境说明: 1.将vCenter ServerAppliance部署在ESXi主机上,安装配置好ESXi主 ...
- 华为云服务器8000通道映射到本地,本地浏览器访问jupyter
首先你得有个华为云服务器(这不是废话) 第二你得开放它的端口(重点) 第三打开本地cmd 输入ssh -L [客户端IP或省略]:[客户端端口]:[服务器IP]:[服务器端口] [登陆服务器的用户名] ...