appium 怎么获取android模拟器上的元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了appium 怎么获取android模拟器上的元素相关的知识,希望对你有一定的参考价值。

1.获取控件类名
System.out.println("[Button Add Contact]Class: "+el.getClass());
2.获取控件类型
System.out.println("[Button Add Contact]TagName: "+el.getTagName());
3.获取控件的值
System.out.println("[Button Add Contact]Text: "+el.getText());

输出如下:
[Button Add Contact]Class: class org.openqa.selenium.remote.RemoteWebElement
[Button Add Contact]TagName: android.widget.Button
[Button Add Contact]Text: Add Contact
参考技术A adb shell dumpsys activity 参考技术B 邦我找回登录乔安监控的密码追答

能邦我找回登录乔安的密码吗?

appium-解决uiautomatorviewer不能定位android7以上版本元素的方法

 

 

 上图是android10模拟器,发现我们是无法连接模拟器识别的

解决方法:

 在模拟器内打开指定页面然后截图,最后保存为uix文件,然后用adb拉到本地,一共四个命令,可以保存为.bat文件快捷执行(这里我也加入了一个打开uiautomatorviewer的命令)

F:/app_screen:这个是路径,根据自己需要修改即可

adb shell uiautomator dump /sdcard/app.uix
adb pull /sdcard/app.uix F:/app_screen/app.uix
adb shell screencap -p /sdcard/app.png
adb pull /sdcard/app.png F:/app_screen/app.png
uiautomatorviewer

最后导入相应的文件即可:

 

 

 

 然后就可以愉快的玩耍了,这个解决方法个人觉得确实不好,也可以用appium-desktop,里面的工具去连接,adroid10也可以正常连接使用的

 

 

 

 使用这个工具也是OK的

当然本人更推荐这种策略:

 使用android7的sdk,去拿到对应的元素信息,把元素的信息脚本维护好后,再用各个版本的sdk跑兼容,我可能觉得appium-desktop启动太花时间了吧,还是更喜欢用命令行工具完成这些事情

 

以上是关于appium 怎么获取android模拟器上的元素的主要内容,如果未能解决你的问题,请参考以下文章

appium应用之“获取元素信息和元素操作”(android)

appium-解决uiautomatorviewer不能定位android7以上版本元素的方法

Appium获取Toast消息

Android自动化测试——Appium的使用

Python爬虫:详解Appium如何爬取手机App数据以及模拟用户操作手势

Python爬虫:详解Appium如何爬取手机App数据以及模拟用户操作手势