一、capability使用说明
Appium官网配置说明
1、公共部分
2、Android独有
3、ios独有
4、常用配置信息获取方式
adb devices
- 获取
appPackage 和 appActivity
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()
|