Appium元素选择 滑动 通知栏
一、根据ID 包名可省略
1、元素的resource id属性
2、唯一标志该元素的值
3、一般最优先根据它来定位
driver.find_element_by_id('io.manong.developerdaily:id/btn_email')
driver.find_elements_by_id('btn_email') 包名可以省略
4、有时候并非唯一指定
二、根据class name 包名可省略
1、class属性决定了界面元素的类型
2、如果
我们要查找的是某种类型的界面元素
而且这种类型的界面元素在当前界面只有一个
driver.find_element_by_class_name('android.widget.ImageView')
3、唯一性少见,一般用于局部查找。利用上层元素找目标元素
三、根据ACCESSIBILITY ID 包名可省略
1、content-desc属性是用来描述该元素的作用
2、如果
要查询的界面元素的content-desc属性 在当前界面中唯一
driver.find_element_by_accessibility_id('heheh')
3、一般开发者不愿意写
四、根据Xpath
1、定位比较复杂的元素
2、相对不成熟,很多时候正确的语法也无法定位到元素
五、tap 方法 坐标精准定位元素,一般不使用
1、click方法类似,都是点击界面
2、tap针对坐标
3、难以用通常的方法定位元素时使用
tap([(x1,y1),(x2,y2),(x3,y3),(x4,y4),(x5,y5)],duration)列表中最多可以放5个元祖,duration长按屏幕的时间,单位为毫秒
六、swipe 滑动
1、driver.swipe(x1,y1,x2,y2,duration) duration长按屏幕的时间,单位为毫秒,时间太短,滑动时会有惯性
2、直接查看,估算操作坐标
3、先获取元素坐标,在分析操作坐标(更健壮)
location = ele.location 左上角坐标(dict:有x,y)
size1 = ele.size 宽、高(dict:有width、height)
七、操作不可见元素:
1、先滑动到其可见
2、再操作该元素
3、获取全屏幕尺寸
screenSize = driver.get_window_size()
screenW = screenSize ['width']
screenH = screenSize ['height']
八、通知栏
1、点开通知栏
driver.open_notifications()
2、查看通知
3、关闭通知栏、返回应用
A、通过活动屏幕实现
B、通过按下返回键
driver.keyEvent(4) 返回键的keycode是4