appuim操作webview控件

1.操作webview控件,在uiautomator中如下图,能定位的只有最外层的内容。就一个webview控件,查找不到里面内容

1.使用driver.getContext(),获取是否是webview,看网上有贴说,如果是webview就会打印成webview,但是事实打印出来getcontext是native app,是原生APP,看有人网上说,如果打印不是webview,可以尝试下面几种方法,可能也会在UIautomator viewer中显示出控件名称

  1. 在运行app时捕获,可能会显示控件,
  2. 还有就是多试几次,连接手机,在捕获控件
  3. 其他电脑尝试捕获控件

2.第二种捕获页面webview控件,其实想想也是第三方网页内容,使用driver.getPageSource()获取html出源码如下,比较长要仔细分析,会发现了邮箱账号以及输入密码的控件和点击页面的内容

 

竟然知道了元素内容,现在就可以定位了

  1. 定位用户名

使用xpath://android.widget.EditText[contains(@text,'邮箱或手机号')]"

  1. 定位密码

以上密码的文本是几个点,但是在页面中也是唯一的

Xpath: //android.widget.EditText[contains(@text,'•••••••••••')]

  1. 定位点击按钮

value:"//android.widget.Button[contains(@content-desc,'登录 ')]"

做了最坏的打算,如果都没有以上的信息,使用给出的坐标点应该也是可以解决此类问题

原文地址:https://www.cnblogs.com/chongyou/p/6908250.html