【python】Appium安卓padUI自动化

Appium安卓padUI自动化踩的坑,总结如下:

一、从native页面跳转到webview页面,获取链接并定位元素

方法一:通过Charles抓包,可以定位到pad跳转到的H5页面,获取页面地址,在pc端进行元素定位

方法二:在web chrome浏览器输入:chrome://inspect/#devices,运行安卓pad到H5页面,可以看到运行的机型、包名称、对应的chromedriver版本,以及所需要的H5链接地址,如下图:

从native页面跳转到webview页面,最重要的一句代码如下:

contexts = self.driver.contexts    # 打印上下文环境
self.driver.switch_to.context(contexts[-1])  # 切换到webview模式

二、修改appium默认的chromedriver版本

       现在的app基本是基于native和webview混合开发,不同的安卓pad,其chrome内核也不同,通过上面的步骤,知道所需要的chrome版本(不要根据程序运行后,pycharm提示去判断用哪个版本,亲测不准),之前不知道,运行程序有如下图的提示,导致自己下载了各种80版本的chromedriver,结果还是不行,浪费很长时间。

下载不同版本的chromedriver链接:https://npm.taobao.org/mirrors/chromedriver

替换appium默认的chromedriver有以下三个方法:

方法一:mac本:如果你是默认安装的appium,地址应该是这个

/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/chromedriver,直接替换了就好了

方法二:打开appium,在下图红框中输入你想运行的chromedriver地址

方法三:仅针对安卓机型,有一个字段指定运行的chromedriver地址

'chromedriverExecutableDir': '/Users/XXX/Downloads/chromedriver'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android UI设计规范文档 1 设计原则 2 风格 2.1 设备和显示 Android 驱动了数百万的手机、平板和其它设备,兼容了各种屏幕宽度和比例。利用 Android 灵活的布局系统,您可以创造出从平板到手机都看起来很优雅的应用。 灵活 对您的布局进行放大、缩小或者裁减以适应不同的高度和宽度。 优化布局 在较大的设备上,善于利用大屏幕的优势。设计混合的视图以显示更多的内容,提供更简便的导航。 适用于各种设备 为不同的像素密度 (DPI) 提供不同资源 (比如drawable) ,使您的应用在任何设备上都看起来很棒。 策略 那么您应当如何开始为多种屏幕设计呢?一种方法是以一个基本的标准 (中等尺寸,MDPI) 开始,之后将其缩放到不同的尺寸。另一种方法是从最大的屏幕尺寸开始,之后为小屏幕去掉一些 UI 元素。 2.2 触摸响应 使用颜色和高亮效果来响应用户的触摸,突出显示手势的效果以及表明哪些操作是可用的。 任何时候,每当用户触摸您应用中的可操作区域,都应当给予视觉上的响应。这样可以使得用户了解他触摸了啥,并且表明您的应用一直在工作。 按钮的状态 大多数的 Android UI 元素都有内置的触摸反馈效果,包括表明元素是否可以操作的视觉效果。 交流 当您的对象需要对复杂的手势出响应时,应当帮助用户了解该操作的结果将会是什么。例如,当您在 Android 系统“最近的应用”界面左右滑动一个缩略图的时候,它会开始变淡。这样就使得用户明白滑动可以移除这条记录。 边界 当用户试图滑出可滑动区域的范围时,应当在边界提供视觉的反馈。例如,如果用户试图从主屏幕的第一屏向左滑动时,屏幕就会向右倾斜表明不能再往这边移动了。许多 Android 的可滑动 UI 类 (例如列表 lists 和网格列表 grid lists) 都已经内置了边界反馈。如果您需要自定义界面时,记住要提供边界反馈哦。 2.3 度量单位和网格 总的来说,可触摸控件都是以 48dp 为单位的。 为什么是 48dp? 一般情况下,48dp 在设备上的物理大小是 9mm (会有一些浮动)。这是触摸控件的推荐大小 (范围7-10mm) ,用户用手指触摸起来比较容易、且准确。 如果您设计的 UI 元素都至少有 48dp 的高度和宽度,那么可以保证:  您设计的元素在任何屏幕上显示时,都不会小于推荐的最低值 7mm。  你可以在信息密度和界面的可操控性之间得到较好的平衡。 注意留白 界面元素之间的留白应当是 8dp。 一个例子 - Examples

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值