Appium重点知识详解

一、capability使用说明

Appium官网配置说明

1、公共部分

在这里插入图片描述

2、Android独有

在这里插入图片描述

3、ios独有

在这里插入图片描述

4、常用配置信息获取方式

  • 获取 deviceName
adb devices

在这里插入图片描述

  • 获取 appPackageappActivity
adb shell
dumpsys activity | grep mFocusedActivity

在这里插入图片描述

二、appium元素定位方式

1、优先级:

一般情况下选择定位方法的顺序是这样的 id定位>accessibility_id定位>class定位>xpath定位>tap定位。

2、定位方式:

1、通过 resource-id 定位

driver.find_element_by_id()

在这里插入图片描述
在这里插入图片描述

2、通过class_name定位:class

driver.find_element_by_class_name()

在这里插入图片描述

3、通过accessibility_id定位:content-desc

driver.find_element_by_accessibility_id()

在这里插入图片描述

4、通过xpath定位

driver.find_element_by_xpath()

在这里插入图片描述

5、通过tap模拟手指点击定位

格式:driver.tap()
示例:driver.tap([(60,138)],300)  注意着里面的格式(第一个参数时列表,列表里面是元祖)
解释:第一个是positions,是list类型最多五个点,duration是持续时间,单位毫秒

下图工具是SDK自带的java开发的uiautomatorviewer,如果你安装了jdk,在sdk目录\tools\bin下 有uiautomatorviewer.bat双击打开

在这里插入图片描述

6、uiautomator定位
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7、toast定位

Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失。

在这里插入图片描述

第一个参数:当前的上下文环境。可用getApplicationContext()或者getContext()或this。
第二个参数:要显示的字符串。也可是R.string中字符串ID。
第三个参数:显示的时间长短。Toast默认的有两个LENGTH_LONG(3.5)和LENGTH_SHORT(2),也可以使用毫秒如1000ms(不建议)。

8、其他
在这里插入图片描述

三、webview

1、webview简介

我们通常是用浏览器来浏览网页,你很清楚的知道你正在使用浏览器,要么是PC客户端,要么是手机上的app。但是webview是一个嵌入式的浏览器,是嵌入在原生应用中的,你可能都意识不到你在用浏览器。
在这里插入图片描述

2、环境准备

在这里插入图片描述

3、如何判断页面是webview

在这里插入图片描述

4、其他

在这里插入图片描述
在这里插入图片描述

四、设备交互API

  • 模拟来电:driver.make_gsm_call(‘13612312312’,GsmCallActions.CALL),需要导入GsmCallActions库;
  • 模拟发短信:driver.send_sms(‘13612312312’, ‘hello appium apis’)
  • 模拟网络设置:
网络设置类别:driver.set_network_connection(connection_type: int)

在这里插入图片描述

  • 截屏操作:self.driver.get_screenshot_as_file(’./photos/img.png’)
  • 进行手机录屏:
只支持Android8.0以上版本,且部分手机如华为不支持
self.driver.start_recording_screen()
self.driver.stop_recording_screen()
def test_mobile(self):
    # 模拟打电话
    self.driver.make_gsm_call('13612312312', GsmCallActions.CALL)
    # 模拟发短信
    self.driver.send_sms('13612312312', 'hello appium apis')
    # 模拟网络设置,设置为飞行模式
    self.driver.set_network_connection(1)
    sleep(3)
    # 模拟网络设置,设置为数据模式
    self.driver.set_network_connection(4)
    # 获取截图并保存到路径中
    self.driver.get_screenshot_as_file('./photos/img.png')
    """
    进行录屏操作
    1.开始录屏
    2.停止录屏
    3.只支持Android8.0以上版本,且部分手机如华为不支持
    """
    self.driver.start_recording_screen()
    self.driver.stop_recording_screen()
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值