深山工作室

深山工作室 >

Appium获取手机分辨率 & 自适应设备下滑刷新

需求背景:appium做手机自动化的时候,有个很固定的需求就是竖直滑动刷新页面信息(比如:微信朋友圈、微博等),开始的时候我是固定写死的,如driver.swipe(300, 1000, 300, 300),但是这样写的弊端也很明显,代码不够健壮,如果遇到小屏设备或者大屏设备,滑动的幅度看起来就可能过大或过小。所以我们需要根据不同分辨率的设备做自适应,使代码在各种大小的屏幕上表现的行为和体验都比较一致。

首先,我们需要获取屏幕的宽和高,Appium(python)可用get_window_size()方法获取屏幕的宽和高(可用键值索引单独获取宽或高),然后按照屏幕尺寸定义滑动幅度占屏比。因为下滑刷新是比较常用的功能,所以我封装为一个函数,方便调用,代码如下:

def scroll_down(self):
    width = self.get_window_size()['width']
    height = self.get_window_size()['height']
    x = width / 2
    starty = height * 0.75
    endy = height * 0.20
    self.swipe(x, starty, x, endy, 500)
调用方式为scroll_down(driver),传入自己的Appium WebDriver对象即可;

下滑幅度(通过修改示例代码中的0.75和0.20来实现)和滑动时间也可以根据自己的需求修改,如果要让该函数更加通用和健壮,也可以将这些定制化的参数提取到函数的入参。

前一页:python加Appium判断滑动是否到达屏幕底部
后一页:python+appium自动化测试-滑动
更多>>python相关信息
Android移动端自动化测试:使用UIAutomatorViewer与Selenium定位元素
python通过代码修改pip下载源让下载库飞起
python里面requests.post返回的res.text还有其它的吗
windows7环境下安装配置jdk
python对微信操作要用到这两个库wxpy与itchat
更多>>最新添加
dw里面查找替换使用正则删除sqlserver里面的CONSTRAINT
Android移动端自动化测试:使用UIAutomatorViewer与Selenium定位元素
抖音直播音挂载小雪花 懂车帝小程序
javascript获取浏览器指纹可以用来做投票
火狐Mozilla Firefox出现:无法载入您的Firefox配置文件 它可能已经丢失 或是无法访问 问题解决集合处理办法