美文网首页
app自动化元素定位方式

app自动化元素定位方式

作者: 迷迭香_d0e9 | 来源:发表于2018-11-22 15:58 被阅读0次

    定位元素的两种方式

    1.使用Uiaotomator已安装sdk

    2.使用Weditor(已下载weditor)

    使用Uiaotomator

    位置

    在android sdk 的tools文件夹下C:\Users\Administrator\AppData\Local\Android\android-sdk\tools\uiautomatorviewer.bat(找要自己的\android-sdk\tools\目录下的uiautomatorviewer.bat文件)

    打开

    双击既可以打开,会打开两个窗口,

    一个是cmd,另一个是 UI Automator View

    捕捉手机屏幕

    首先需要PC和android通过USB连接,adb devices 命令可以查看到设备信息。

    接下来在UI Automator View 中,点击左上角的第二个图标,捕捉手机屏幕(仅捕捉当前手机停留的页面;若切换页面需重新点击才会刷新)

    元素定位

    在左侧点击元素,在右下角查看元素的属性信息,右上角查看布局信息

    主要属性:

    index、text(name)、resource-id(id)、class、package、content-desc(name)

    使用Weditor

    Android SDK内置工具uiautomatorviewer.bat,在运行uiautomator2的时候,uiautomatorviewer.bat运行不起来,两者之间冲突太严重。故而推荐使用Weditor

    安装方法

    命令行运行:pip install --pre weditor

    使用方法

    首先命令行运行python -m weditor,之后浏览器会自动打开一个网页(若页面打开异常或显示异常,可拷贝连接切换浏览器试试)

    重点说下这个部分

    先忽略iOS和Neco这两个,直接选择Android。输入框中可以写设备号(使用adb devices可获取到)或者设备的Serial(序列号);跟上面提到的配置手机设备参数用法一致。之后点击Connect,如果一切正常就会出现一个绿色的叶子。

    页面刷新时,点击蓝色的Reload按钮重新刷新。

    连接上之后点击想要定位的元素会自动生成定位到他的方法,可以将方法直接复制出来使用

    定位方式


    ResourceId定位: 

    d(resourceId=" com.netease.cloudmusic:id/a7k ").click()

    Text定位

     d(text="推荐").click()

    Description定位 

    d(description="播放暂停").click()

    ClassName定位 

    d(className=" android.widget.ImageView ").click()

    对于多个相同的元素定位:

    如果页面存在多个相同的元素可以使用instance进行选择;

    三个相同的元素他们的resourceid和ClassName选择一个即可然后在使用instance:

    第一个:

    d(resourceId="com.netease.cloudmusic:id/a6w", className="android.widget.ImageView").click()

    第二个:

    d(resourceId="com.netease.cloudmusic:id/a6w", className="android.widget.ImageView", instance=1).click()

    第三个:

    d(resourceId="com.netease.cloudmusic:id/a6w", className="android.widget.ImageView", instance=2).click()

    备注:可以使用weditor直接生成定位方法;

    相关文章

      网友评论

          本文标题:app自动化元素定位方式

          本文链接:https://www.haomeiwen.com/subject/ylvlqqtx.html