1、找到 Android SDK安装路径tools 下面的 uiautomatorviewer.bat,如下截图

2、点击uiautomatorviewer.bat进行启动,左上角一共四个按钮,作用分别是打开本地文件、dump页面、dump压缩格式的页面、保存;启动后点击左上角第三个图标进行真机界面的呈现。

3、uiautomatorviewer.bat 连接真机,获取手机屏幕截图,会出各种报错信息,超时的情况出现较多,连接不稳定,,如截图情况

针对这个情况,我们可以通过wifi连接手机,具体步骤如下:

①用USB线连接上你的Android手机 (输入 adb devices 查看设备是否连接上)

② 打开cmd命令窗口,输入: adb tcpip 5555   

 

启动手机的ADB服务端口(即cmd命令窗口),输入命令: adb shell ifconfig 看下你的手机IP地址,注意是WIFI哈  


④在电脑上输入: adb connect IP地址 就可以通过WIFI连接手机了。

⑤手机wifi连接成功后,在uiautomatorviewer中,点击第二个或第三个图bioat,出现下面截图

弹窗中,可以选择直接连接真机,也可以选择通过wifi连接,为了避免USB和手机连接的不稳定性,所以,我习惯选择红框中 wifi方式连接,连接成功后,出现手机屏幕截图,如下:

注:在wifi连接时,,可能出现下面截图情况:

针对这个问题,网上有很多解决办法,如:①这是android 8.0导致的问题,需要更新 uiautomatorviewer 源码才能解决,但是由于不知道怎么更改源码,所以就更换一个系统版本低一点的手机

不过,我建议先多连接几次试试,如果还连接不到,再将uiautomatorviewer关闭后,重新启动,再连接试试(因为,我出现上面情况,多次连接都失败了,重新启动了uiautomatorviewer,就成功了。。)

Appium+Python自动化 2 定位元素方式的更多相关文章

  1. Appium+python自动化-查看app元素属性

    本文转自:https://www.cnblogs.com/yoyoketang/p/7581831.html 前言 学UI自动化首先就是定位页面元素,玩过android版的appium小伙伴应该都知道 ...

  2. Appium+python自动化3-定位元素

    3.1常用定位方法讲解 对象定位是自动化测试中很关键的一步,也可以说是最关键的一步,毕竟你对象都没定位那么你想操作也不行.所以本章节的知识我希望大家多动手去操作,不要仅仅只是书本上的知识,毕竟这个我只 ...

  3. appium+python自动化32-android_uiautomator定位进阶版

    前言 上一篇介绍uiautomator的定位方式都是类似这种'new UiSelector().xxx("xxx")',看起非常长,我也记不住,这很不python.于是本篇优化了定 ...

  4. appium+python自动化30-list定位(find_elements)

    前言 有时候页面上没有id属性,并且其它的属性不唯一,平常用的比较多的是单数(element)的定位方法,遇到元素属性不唯一,就无法直接定位到了. 于是我们可以通过复数(elements)定位,先定位 ...

  5. appium+python自动化31-android_uiautomator定位

    前言 appium就是封装android的uiautomator这个框架来的,所以uiautomator的一些定位方法也可以用 text 1.通过text文本定位语法 new UiSelector() ...

  6. appium+python自动化28-name定位

    前言 appium1.5以下老的版本是可以通过name定位的,新版本从1.5以后都不支持name定位了 name定位报错 1.最新版appium V1.7用name定位,报错: selenium.co ...

  7. appium+python自动化34-获取元素属性get_attribute

    获取text # coding:utf-8 from appium import webdriver from time import sleep desired_caps = { 'platform ...

  8. appium+python自动化58-xpath定位

    基本属性定位 以淘宝app为例,定位左上角扫一扫按钮 1.可以通过text文本定位到 //*[@text='text文本属性'] # 定位text driver.find_element_by_xpa ...

  9. Appium+python自动化28-name定位【转载】

    本篇转自博客:上海-悠悠 前言 appium1.5以下老的版本是可以通过name定位的,新版本从1.5以后都不支持name定位了 一. name定位报错 1.最新版appium V1.7用name定位 ...

随机推荐

  1. python大法好——多线程

    Python 多线程 多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理. 用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件 ...

  2. 用python发送短消息(基于阿里云平台)

    新版短信接口在线测试页面:https://api.aliyun.com/new#/?product=Dysmsapi&api=SendSms&params={}&tab=DEM ...

  3. 关于如何登陆oracle 18c pdb 的问题

    server 上输入  sqlplus username/password@lP:port/service name 登陆提示 no listener 的时候, 在另外一台机器上 直接连接 哈哈哈.. ...

  4. 结对项目-WordCount

    结对作业: 成员:201631062115(me),201631062613(partner) 代码地址:https://gitee.com/ackary/WordCount 作业的链接地址:http ...

  5. setCapture 使用方法

    setCapture 可以捕获到 移动到浏览器外的鼠标事件. 例如拖动过程中,即使鼠标移动到了浏览器外,拖动程序依然可以执行! 作用就是把 把鼠标事件 捕获到 当前文档指定的对象! setCaptur ...

  6. 【第二组】Hunter——beta版发布文档

    软件测试报告 一.bug情况汇总 尚需解决以及难以解决的: 登录时会有卡顿,需要加入加载进度条(会添加的) 商城和背包功能尚未实现(需要修复) 美工水平太差,让人没有使用的欲望(大概接下来就专门做这个 ...

  7. 爬虫 2 XPath 和 pyquery

    XPath 1.常用规则    表达式 描述 nodename 选取此节点的所有子节点 / 从当前节点选取直接子节点 // 从当前节点选取子孙节点 . 选取当前节点 .. 选取当前节点的父节点 @ 选 ...

  8. Pecan中api-paste.ini的解析

    在pecan中存在一个请求配置文件,定义服务启动程序app和过滤器filter,例如: [pipeline:main] pipeline = request_id sizelimit api-serv ...

  9. Java中代理

    普通代理(最简单的代理) 需要有两个实现同一个接口的类,一个是被代理的类,一个是代理类 被代理类中我们按照自己想实现的功能重写接口中的方法 代理类中因为需要代理被代理类,所以在代理类中需要有个被代理类 ...

  10. PowerDesigner反向生成PDM和name与注释互换

    Option Explicit ValidationMode = True InteractiveMode = im_Batch Dim mdl 'the current model 'get the ...