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. LNMP 支持路由重写

    server    {        listen 80;        #listen [::]:80;        server_name www.xxx.com;        index i ...

  2. Java中List的sort排序重写

    最近遇到需要使用list中sort排序功能,list中存的是自己写的类,所以需要重写sort函数,一般实现如下: Collections.sort(voList, new Comparator< ...

  3. Servlet学习记录2

    读取web.xml参数 上篇文章ImageServlet里只设置了JPG,GIF,DOC类型文件的Content-Type.如果这时候需求变化了,需要增加Excel文件格式的Content-Type, ...

  4. spring三大核心

    IOC(控制反转) 下面是多个针对此理解的表达. 一个对象A依赖另一个对象B就要自己去new 这是高度耦合的 IOC容器的使用. 比如在B中使用A很多,哪一天A大量更改,那么B中就要修改好多代码. 通 ...

  5. 一千行 MySQL 详细学习笔记

    Windows服务 -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值 ...

  6. JS stacktrace(Node内存溢出)

    vscode运行项目时,保存.vue文件,项目突然终止运行.输入命令npm run dev重新运行后,终端显示下面的错误. 解决方案: 如果是run dev时报错,在package.json文件里的s ...

  7. 让新版appium支持by_name定位

    org.openqa.selenium.InvalidSelectorException: Locator Strategy 'name' is not supported for this sess ...

  8. javascript中如何判断变量类型

    typeof 只能判断基本类型,如number.string.boolean.当遇上引用类型变量就没那么好用了,结果都是object.使用Object.prototype.toString.call( ...

  9. [转] ESXI6.5 误将硬盘阵列卡配置为passthru直通模式后, 找不到硬盘的问题

    There is no easy way to do it, it seems. So I wanted to say that I couldn't afford to do an upgrade ...

  10. Centos6安装和配置etcd3

    etcd 是一个高可用的 Key/Value 存储系统,主要用于分享配置和服务发现.etcd 的灵感来自于 ZooKeeper 和 Doozer,侧重于: 简单:支持 curl 方式的用户 API ( ...