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. 9Linux_LVM_iptables

    LVM 创建物理卷 卷组 逻辑卷 格式化 挂载 扩容 缩小 快照 删除逻辑卷

  2. Ubuntu16.04 导入tensorflow报错

    错误1:Traceback (most recent call last):  File "/home/lwc/anaconda3/lib/python3.6/site-packages/t ...

  3. ---Ubuntu 16.04 server 不能关机问题解决

    https://serverfault.com/questions/712928/systemctl-commands-timeout-when-ran-as-root Failed to start ...

  4. laravel5.6框架中session的使用

    从session中获取数据 $value = $request->session()->get('key', 'default'); 冲session中获取所有数据 $data = $re ...

  5. Matplotlib-动画

    Animation 动画 定义方程 参数设置 # Animation 动画 # 定义方程 # 使用matplotlib做动画也是可以的,我们使用其中一种方式,function animation来说说 ...

  6. python3列表(元组)练习

    列表和元组一起练习l = [] 或者 li = list() 列表表示t = () 元组表示,元组不能修改,元组中只有两个方法 count().index(),同列表相同 li = [11,22,33 ...

  7. linux下redis的安装方法

    一.Linux环境下安装Redis   Redis的官方下载网址是:http://redis.io/download  (这里下载的是Linux版的Redis源码包) Redis服务器端的默认端口是6 ...

  8. 安装SQL server 2008 R2和QL server 2008,与SQL server 2008升级SQL server 2008 R2

    安装SQL server 2008 R2和由SQL server 2008升级SQL server 2008 R2 前提条件: 由SQL server2008 升级SQL server2008 R2 ...

  9. c# System.Console

    System.Console类公开了和操作控制台相关的有用的静态字段和静态方法.下面是System.Console中一些较为重要的方法. public static void Beep()该方法播放蜂 ...

  10. cuts

    1.cuts .replacename.fasta..replacename.fasta..replacename.fasta.cut.list awk 'system("mv Dme49. ...