公司建网站有免费的吗,乐云seo网站建设性价比高,手机网站制作优化,动漫制作专业职业定位在 appium2.0 之前#xff0c;在移动端设备上的触屏操作#xff0c;单手指触屏和多手指触屏分别是由 TouchAction 类#xff0c;Multiaction 类实现的。
在 appium2.0 之后#xff0c;这 2 个方法将会被舍弃。
[Deprecated] TouchAction action is deprecated. Ple…在 appium2.0 之前在移动端设备上的触屏操作单手指触屏和多手指触屏分别是由 TouchAction 类Multiaction 类实现的。
在 appium2.0 之后这 2 个方法将会被舍弃。
[Deprecated] TouchAction action is deprecated. Please use W3C actions instead. 1、w3c action 是什么
在 w3c 的 actions 当中将输入源分为了三类
键盘类 - Key指针类 - PointerNone
对于 Pointer 指针类输入源共有 3 种Mouse 鼠标、Touch 触屏、Pen 笔触
输入源是提供输入事件的虚拟设备。
每一个输入源都是一个输入 id输入源 type。与真实设备一样每一个输入源都有状态的有输入事件。
在 python selenium 的源码当中selenium/common/actions/input_devices.py 里 InputDevices 类定义了输入源类。 1、空输入源(null input source)
提供以下行为
pause不做任何操作一段时间或者动作的持续时间
2、键盘输入源(key input source)
提供以下行为
KeyDown按下某个键
KeyUp释放某个键
在 python selenium 的源码当中selenium/common/actions/key_input.py 里 KeyInput 类定义了按钮输入源类。
3、指针输入源(pointer input source)提供以下行为
PointerDown按下鼠标键或者触屏或者触屏笔触屏
PointerUp松开鼠标键或者手离开屏幕或者触屏笔离开屏幕
PointerMove移动到屏幕某个点
PointerCancel删除某个指针操作
在 python selenium 的源码当中selenium/common/actions/pointer_input.py 里 PointerInput 类定义了指针输入源类。 4、在输入源基础上定义了键盘操作类KeyActions
在 python selenium 的源码当中selenium/common/actions/key_actions.py 里 KeyActions 类定义了键盘操作类。 5、在输入源基础上定义了鼠标/触屏操作PointerActions 类
在 python selenium 的源码当中selenium/common/actions/pointer_actions.py 里 PointerActions 类定义了鼠标/触屏操作类。 汇总一下上面几个类 6、ActionBuilder 类
初始化方法
输入源设备列表会放 2 个输入源鼠标输入源、键盘输入源。有 2 个私有属性键盘操作对象(KeyActions 类实例化**)**鼠标/触屏操作对象(PointerActions 类实例化) 属性key_actionpointer_action
在 ActionChains 类当中就是通过这 2 个属性来调用鼠标和键盘的操作的。 添加新的输入源add_key_inputadd_pointer_input 2、ActionChains 类
selenium 中的鼠标操作类鼠标行为都是使用的 ActionBuilder 类。
初始化 3、单点触控 - ActionChains 类
直接使用 ActionChains 类里的w3c_actions 去实现。
比如 appium 当中的 swipe 滑屏方法
移动到某一个坐标点 → 按下 → 移动到另一个坐标点 → 释放 4、多点触控 - ActionChains 类
多点触控是个单点触控操作同时发生比如 2 个手指同时在屏幕上进行滑动操作。
仍然是 ActionChains 类不过需要在里面添加新的单点触控操作。
actions ActionChains(driver)
# 输入源设备列表为空
actions.w3c_actions.devices []# 添加一个新的输入源到设备到中输入源类型为Touch
new_input actions.w3c_actions.add_pointer_input(touch, ffinger{finger})
# 输入源的动作移动到某个点按下移动到另外一点释放
new_input.create_pointer_move(xstart_x, ystart_y)
new_input.create_pointer_down(MouseButton.LEFT)
new_input.create_pause(duration / 1000)
new_input.create_pointer_move(xend_x, yend_y)
new_input.create_pointer_up(MouseButton.LEFT)# 以此类推可以添加多个输入源操作到设备当中。可以是鼠标操作也可以是触屏按键等操作 比如对百度地图 app 进行放大操作的代码如下
from time import sleep
from appium import webdriverfrom selenium.webdriver import ActionChains
from selenium.webdriver.common.actions.mouse_button import MouseButton#我要在android7.1.2设备上打开百度地图app
desired_caps {
automationName:UiAutomator2,
platformName:Android,
platformVersion:7.1.2,
deviceName:HuaWei,
noReset:True,
appPackage:com.baidu.BaiduMap,
appActivity:com.baidu.baidumaps.WelcomeScreen,
systemPort: 8225,
newCommandTimeout: 1200
}#先连接appium server。传递指令。 appium server连接地址
driver webdriver.Remote(http://127.0.0.1:4723/wd/hub, desired_caps)sleep(20)#获取设备的大小 - size
size_dict driver.get_window_size()# 放大地图从地图中心分别向对角线滑动放大 - 2个手指同时执行滑动操作
actions ActionChains(driver)
#输入源设备列表为空
actions.w3c_actions.devices []# 第1个手指从正中心向右上角滑动
#添加一个新的输入源到设备到中输入源类型为Touch,id为finger0
new_input actions.w3c_actions.add_pointer_input(touch,finger0)
#输入源的动作移动到某个点按下移动到另外一点释放
new_input.create_pointer_move(xsize_dict[width] * 0.5, ysize_dict[height] * 0.5)
new_input.create_pointer_down()
# new_input.create_pointer_down(MouseButton.LEFT)
new_input.create_pause(0.2) # 200ms
new_input.create_pointer_move(xsize_dict[width] * 0.9, ysize_dict[height] * 0.1)
new_input.create_pointer_up(MouseButton.LEFT)# 第2个手指从正中心向左下角滑动
#添加一个新的输入源到设备到中输入源类型为Touch。id为finger1
new_input actions.w3c_actions.add_pointer_input(touch,finger1)
#输入源的动作移动到某个点按下移动到另外一点释放
new_input.create_pointer_move(xsize_dict[width] * 0.5, ysize_dict[height] * 0.5)
new_input.create_pointer_down()
# new_input.create_pointer_down(MouseButton.LEFT)
new_input.create_pause(0.2) # 200ms
new_input.create_pointer_move(xsize_dict[width] * 0.1, ysize_dict[height] * 0.9)
new_input.create_pointer_up(MouseButton.LEFT)#执行动作
actions.perform() 最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 软件测试面试小程序
被百万人刷爆的软件测试题库谁用谁知道全网最全面试刷题小程序手机就可以刷题地铁上公交上卷起来
涵盖以下这些面试题板块 1、软件测试基础理论 2、web,app接口功能测试 3、网络 4、数据库 5、linux 6、web,app接口自动化 7、性能测试 8、编程基础9、hr面试题 10、开放性测试题11、安全测试12、计算机基础 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你