屏幕滑动_Appium对屏幕截图和滑动操作的处理技巧

有头发且有趣的码农万里挑一~ 

94

有料叔 | 一位有故事的程序猿

d43aaf36ab49541f5fc6a9dd5d711f3c.gif

屏幕截图用到的方法:

方法1:save_screenshot()

该方法直接保存当前屏幕截图到当前脚本所在的文件位置

示例:

75b63be733f98546388ef7d2f2d06a9a.png

脚本:

#!_*_ coding:UTF-8 _*_from find_element.capability import driver
driver.find_element_by_xpath('//*[@text="安检测速"]').click()
driver.save_screenshot('anjian.png')   #屏幕截图,保存到当前脚本所在的文件夹,命名为anjian.png

方法2:get_screenshot_os_file(self,filename)

该方法将截图保存到指定的文件夹路径

示例:

4124b0f10b15af1b68455543b6c2949a.png

脚本:

#!_*_ coding:UTF-8 _*_from find_element.capability import driver
driver.find_element_by_xpath('//*[@text="安检测速"]').click()# 屏幕截图,保存指定文件夹时,需要确保对应的文件夹已创建,否则无法保存成功driver.get_screenshot_as_file(u'F:\\wifibanlv\\find_element\\image\\anjian01.png')

注意:如果指定路径出现中文字符时,需要加上u’文件路径’进行转码

Appium页面滑动连续操作

TouchAction包含一系列操作,例如短按、长按、点击、移动、暂停,由不同的操作可以组成一套动作,使用TouchAction需要先导入对应的模块:

from appium.webdriver.common.touch_action import TouchAction

对应操作的方法:

短按:press()  按压一个元素或坐标

TouchAction(driver). press(x,y) 

长按:longpress()  比按压多个一个duration(按压时间)时间参数,以毫秒为单位

TouchAction(driver).longpress(x,y,1000) 

点击:tap()

移动:move_to()

暂停:wait() 等待时间,单位毫秒

释放:release() 结束屏幕上的一系列动作的命令操作

执行:perform() 讲执行的操作发送到服务器的命令操作

组合示例:

TouchAction(driver). press(x,y) .wait(1000).move_to(x2,y2).release() #点击->等待1000毫秒->移动->释放

真实案例:

一般用于登录的手势密码操作

for i in range(2):#range(2)含义是将1传递给i,以此类推range(3)则表示将1,2传递给i,也就是函数执行2次

 TouchAction(driver).press(x1,y1).wait(1000),move_to(x2,y2).move_to(x3,y3).wait(1000).move_to(x4,y4).wait(1000).move_to(x5,y5).release().perform()

#其中x和y值是移动的目标坐标点,最后释放屏幕操作,并将一系列动作发送到服务器执行。

40f793b7374f8daf7aadf740c0d720e3.png

496595068d41b68e406cd111caeebfdf.png

4a11a565f2adf34aa75e19a91e6169b7.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值