当前位置: 移动技术网 > IT编程>脚本编程>Python > [python]如何理解uiautomator里面的 instance 及使用场景

[python]如何理解uiautomator里面的 instance 及使用场景

2018年07月31日  | 移动技术网IT编程  | 我要评论

石家庄黑社会张宝林,情侣地铁当众接吻,夜色撩人 宋雨

 通过uiautomatorviewer打开之后,需要通过对某个控件进行操作,但在当前界面中该控件所有属性无法唯一(其它控件属性也是一样),这个时候就需要借助实例(instance)来进行区分,instance是从0开始,如果在当前屏幕中排在最前面,那么再进行代码编写时可以写成 instance = 0,如果要选择后面的相同控件,则依此类推

instance(int) 是区别具有相同属性的id(兄弟关系),【int】是索引到需要的id。这个需要和index(int)区别开来,index是需要共同继承了上级的控件(父子关系)。

下面以 instance进行举例在实际中如何使用,在当前 setting界面中,共有9个菜单选项,分别是:Wi-Fi,Bluetooth,SIM cards,Data usage,More,Gestures,Display,Notifications,Sound

instance是从0开始的,所以当前setting界面中菜单选项与instance的对应关系如下:

那么如果我们想要通过instance(实例)的方式来进行操作对应的菜单可以这样操作,下面这句代码就会将 Sound的设置界面打开:

1 #-*- coding:utf-8 -*-
2 '''
3 Created on 2018年7月30日
4 
5 @author: anyd
6 '''
7 from uiautomator import device as d
8 d(resourceId = 'com.android.settings:id/dashboard_tile',instance = 8).click()

 

总结:通过instance的方法来进行选择操作时,只有在某一界面没办法通过唯一属性进行确认控件的才使用该方法。比如上面例子中可以通过text的属性方法更方便、准确、快捷

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网